You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
assert.ok(lower.includes("outside-in"),"Should include outside-in");
391
+
assert.ok(lower.includes("revenue-adjacent"),"Should include revenue-adjacent");
392
+
assert.ok(lower.includes("unknown-before-use"),"Should include unknown-before-use");
393
+
assert.ok(lower.includes("hard-to-do-manually"),"Should include hard-to-do-manually");
394
+
});
395
+
396
+
voidtest("SUGGESTED_ACTIONS_PROMPT: includes demotion rules",()=>{
397
+
assert.ok(SUGGESTED_ACTIONS_PROMPT.toLowerCase().includes("demote")||SUGGESTED_ACTIONS_PROMPT.toLowerCase().includes("avoid"),"Should include demotion guidance");
398
+
assert.ok(SUGGESTED_ACTIONS_PROMPT.includes("internal cleanup")||SUGGESTED_ACTIONS_PROMPT.includes("good hygiene"),"Should mention weak job types to avoid");
399
+
});
400
+
401
+
voidtest("SUGGESTED_ACTIONS_PROMPT: includes tier and outputPromise in JSON schema",()=>{
402
+
assert.ok(SUGGESTED_ACTIONS_PROMPT.includes('"tier"'),"Should include tier field in schema");
403
+
assert.ok(SUGGESTED_ACTIONS_PROMPT.includes('"outputPromise"'),"Should include outputPromise field in schema");
exportconstSUGGESTED_ACTIONS_PROMPT=`You are an expert startup marketing strategist. Your job is to suggest 2-3 highly specific, actionable marketing tasks for this particular business based on the workspace analysis.
153
+
exportconstSUGGESTED_ACTIONS_PROMPT=`You are an expert startup marketing strategist. Your job is to suggest 4-6 high-leverage, company-specificmarketing jobs for this particular business based on the workspace analysis.
147
154
148
155
Read the workspace context files — PRODUCT.md, MARKET.md, and GROWTH.md — to understand this business deeply.
149
156
@@ -159,20 +166,44 @@ AVAILABLE SKILL CATALOG — reference these skill IDs in your suggestions:
Analyze the workspace context, consider which skills would be most impactful for this business, and suggest 2-3 action cards. Each card should represent a concrete marketing task that produces a specific deliverable.
169
+
LEVERAGE-FIRST GENERATION CRITERIA — prioritize jobs that are:
170
+
- **Outside-in**: discover unknown opportunities about markets, search demand, competitors, channels, proof, or distribution — things the founder cannot see from inside the product
171
+
- **Revenue-adjacent**: tied to acquisition, conversion, trust, or demand generation — not internal cleanup or process work
172
+
- **Unknown-before-use**: reveal something the founder does not already know — the output should surprise, not just confirm
173
+
- **Hard-to-do-manually**: benefit significantly from company context + workflow packaging — not something achievable via a blank ChatGPT prompt
174
+
175
+
A strong first-run job should meet at least 3 of 4 criteria above.
176
+
177
+
DEMOTION RULES — avoid leading with these types of jobs:
178
+
- Packaging work the founder already understands (e.g., rewriting copy they wrote)
179
+
- Internal cleanup or "good hygiene" tasks (e.g., meta tag fixes, analytics setup)
180
+
- Generic rewrites achievable via blank chat (e.g., "rewrite homepage hero" without strategic edge)
181
+
- Incremental work that feels like maintenance rather than discovery
182
+
- Jobs whose output the founder could mostly predict before running them
183
+
184
+
These can appear as secondary jobs but should never dominate the top recommendations.
185
+
186
+
OUTPUT PROMISE RULES — each job must include a concrete outputPromise with:
- Never use abstract terms like "analysis", "strategy help", "growth recommendations", or "workflow result"
190
+
191
+
TIERING INSTRUCTIONS — self-rank each job:
192
+
- "hero" (exactly 1): the single highest-leverage, most novel job — the best first thing to do for this company. Must feel like discovery, not packaging.
193
+
- "primary" (2-3): strong follow-up jobs that are still high-value and varied across different marketing dimensions
194
+
- "secondary" (1-2): useful concrete jobs that are less essential as first-proof actions — packaging or optimization work lives here
163
195
164
196
IMPORTANT CONSTRAINTS:
165
197
- The following action cards ALREADY exist. Do NOT suggest duplicates or variations of these:
166
198
${FIXED_CARD_TITLES}
167
199
- Each suggestion must be DIFFERENT from the above — offer new angles based on what you learned about THIS specific business
168
-
- Titles must imply a concrete result (e.g., "Draft comparison page vs [Competitor]", "Write launch post for r/[specific subreddit]")
200
+
- Titles must imply a concrete result (e.g., "Find 5 search wedges this product can own", "Map 20 communities where ideal users hang out")
169
201
- Do NOT use vague titles like "Improve marketing", "Build strategy", "Optimize funnel"
170
202
- Prompts must reference PRODUCT.md, MARKET.md, and GROWTH.md
171
203
- Categories must be one of: "conversion", "distribution", "growth", "messaging", "research", "seo"
172
204
- Skills must be an array of skill IDs from the catalog above — pick the 1-3 most relevant skills for each action
173
-
- Each suggestion must produce a concrete deliverable
174
205
175
-
Return ONLY a JSON array with 2-3 objects. No other text, no markdown fences, no explanation.
206
+
Return ONLY a JSON array with 4-6 objects. No other text, no markdown fences, no explanation.
176
207
177
208
Each object must have these exact fields:
178
209
{
@@ -183,31 +214,73 @@ Each object must have these exact fields:
"prompt": "Full detailed prompt that will be sent to the AI agent. Must reference PRODUCT.md, MARKET.md, and GROWTH.md workspace files. Must produce a concrete, useful output.",
186
-
"outputType": "Short deliverable label (under 30 chars) — e.g. '3 hero rewrites', 'Launch copy bundle', 'SEO opportunity map'. Must describe the tangible output the user receives."
"outputPromise": "Concrete deliverable with quantities — e.g. '5 search wedges + page angles', '20 communities + posting angles', '5 proof pages from product data'"
187
220
}
188
221
189
-
EXAMPLES OF GOOD SUGGESTIONS (for a product analytics tool):
222
+
EXAMPLES OF STRONG LEVERAGE-FIRST SUGGESTIONS (for a product analytics tool):
190
223
[
191
224
{
192
-
"id": "build-referral-program",
193
-
"title": "Design a referral program",
194
-
"promise": "Get a complete referral program with incentives, mechanics, and tracking",
195
-
"description": "Designs a referral program tailored to this product using viral loop mechanics, incentive structures, and tracking setup.",
196
-
"category": "growth",
197
-
"skills": ["referral-program"],
198
-
"prompt": "Read PRODUCT.md, MARKET.md, and GROWTH.md. Design a complete referral program with incentive structure, viral mechanics, referral flow, tracking setup, and launch plan.",
199
-
"outputType": "Referral program blueprint"
225
+
"id": "find-search-wedges",
226
+
"title": "Find 5 search wedges you can own",
227
+
"promise": "Discover high-intent search opportunities your competitors are missing",
228
+
"description": "Analyzes search demand around product analytics pain points, identifies 5 specific keyword wedges where this product can realistically rank, and produces page angles for each wedge.",
229
+
"category": "seo",
230
+
"skills": ["seo-audit", "content-strategy"],
231
+
"prompt": "Read PRODUCT.md, MARKET.md, and GROWTH.md. Identify 5 specific search wedges this product can own. For each wedge, provide the target keyword cluster, estimated intent, current competitor coverage, and a concrete page angle this product should build.",
232
+
"outputType": "SEO wedge map",
233
+
"tier": "hero",
234
+
"outputPromise": "5 search wedges + page angles with competitor gaps"
200
235
},
201
236
{
202
-
"id": "draft-comparison-vs-mixpanel",
203
-
"title": "Draft comparison page vs Mixpanel",
204
-
"promise": "Create a detailed comparison page highlighting your advantages over Mixpanel",
205
-
"description": "Analyzes Mixpanel's positioning and creates a comparison page draft that highlights your unique advantages, addresses common switching objections, and targets users searching for alternatives.",
237
+
"id": "build-proof-pages",
238
+
"title": "Turn product data into 5 proof pages",
239
+
"promise": "Convert your product's unique data into trust-building assets",
240
+
"description": "Identifies 5 proof page opportunities from product data (benchmarks, case patterns, usage insights) and produces outlines that turn internal knowledge into external trust signals.",
241
+
"category": "conversion",
242
+
"skills": ["copywriting", "page-cro"],
243
+
"prompt": "Read PRODUCT.md, MARKET.md, and GROWTH.md. Identify 5 proof page opportunities where this product's data or usage patterns can be turned into trust-building content. For each, produce a page outline with headline, key data points, and conversion angle.",
244
+
"outputType": "Proof page bundle",
245
+
"tier": "primary",
246
+
"outputPromise": "5 proof page outlines with data angles"
247
+
},
248
+
{
249
+
"id": "map-competitor-comparison-angles",
250
+
"title": "Generate 5 comparison pages you can win",
251
+
"promise": "Find the competitor matchups where you have the strongest positioning",
252
+
"description": "Analyzes the competitive landscape to find 5 specific comparison page opportunities where this product has clear advantages, and drafts positioning angles for each.",
"prompt": "Read PRODUCT.md, MARKET.md, and GROWTH.md. Then create a detailed comparison page draft of our product vs Mixpanel...",
209
-
"outputType": "Comparison page draft"
255
+
"prompt": "Read PRODUCT.md, MARKET.md, and GROWTH.md. Identify 5 competitor comparison page opportunities. For each, explain why this product wins the matchup, draft the key positioning angles, and outline the page structure.",
"title": "Map 20 communities where ideal users gather",
263
+
"promise": "Find the exact online spaces where your target users already hang out",
264
+
"description": "Discovers 20 online communities (subreddits, Slack groups, Discord servers, forums, newsletters) where this product's ideal users actively discuss relevant problems, with posting angle suggestions.",
265
+
"category": "distribution",
266
+
"skills": ["marketing-ideas", "social-content"],
267
+
"prompt": "Read PRODUCT.md, MARKET.md, and GROWTH.md. Find 20 specific online communities where this product's ideal users gather. For each community, provide the name, URL, estimated relevance, and 2-3 posting angles tailored to that community's norms.",
268
+
"outputType": "Community shortlist",
269
+
"tier": "primary",
270
+
"outputPromise": "20 communities + posting angles for each"
"promise": "Get ready-to-send outbound sequences targeting your best buyer signals",
276
+
"description": "Identifies 4 distinct buyer signals for this product and drafts a cold outbound email sequence for each, personalized to the product's positioning and ICP.",
277
+
"category": "growth",
278
+
"skills": ["cold-email", "email-sequence"],
279
+
"prompt": "Read PRODUCT.md, MARKET.md, and GROWTH.md. Identify 4 buyer signals that indicate high purchase intent. For each signal, draft a 3-email cold outbound sequence with subject lines, hooks, and CTAs.",
0 commit comments