flight-rules 0.15.7 → 0.15.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/adapter.d.ts +4 -4
- package/dist/commands/adapter.js +18 -18
- package/package.json +1 -1
- package/payload/AGENTS.md +1 -1
- package/payload/skills/idea-explorer/SKILL.md +507 -0
- /package/payload/skills/{skill-improve.md → skill-improve/SKILL.md} +0 -0
- /package/payload/skills/{web-prototype.md → web-prototype/SKILL.md} +0 -0
|
@@ -6,10 +6,10 @@ export declare function copyCommandsWithConflictHandling(sourceDir: string, dest
|
|
|
6
6
|
skipped: string[];
|
|
7
7
|
}>;
|
|
8
8
|
/**
|
|
9
|
-
* Copy skill
|
|
10
|
-
* Source skills are
|
|
11
|
-
*
|
|
12
|
-
*
|
|
9
|
+
* Copy skill directories to a destination directory with conflict handling.
|
|
10
|
+
* Source skills are directories containing SKILL.md (e.g., web-prototype/SKILL.md).
|
|
11
|
+
* The entire directory is copied recursively, preserving any bundled resources
|
|
12
|
+
* (scripts/, references/, assets/, etc.).
|
|
13
13
|
*/
|
|
14
14
|
export declare function copySkillsWithConflictHandling(sourceDir: string, destDir: string, skipPrompts?: boolean): Promise<{
|
|
15
15
|
copied: string[];
|
package/dist/commands/adapter.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as p from '@clack/prompts';
|
|
2
2
|
import pc from 'picocolors';
|
|
3
|
-
import { writeFileSync, existsSync, readdirSync, cpSync } from 'fs';
|
|
3
|
+
import { writeFileSync, existsSync, readdirSync, cpSync, statSync } from 'fs';
|
|
4
4
|
import { join } from 'path';
|
|
5
5
|
import { ensureDir, getFlightRulesDir } from '../utils/files.js';
|
|
6
6
|
import { isInteractive } from '../utils/interactive.js';
|
|
@@ -141,10 +141,10 @@ async function promptForConflict(filename, showBatchOptions) {
|
|
|
141
141
|
return action;
|
|
142
142
|
}
|
|
143
143
|
/**
|
|
144
|
-
* Copy skill
|
|
145
|
-
* Source skills are
|
|
146
|
-
*
|
|
147
|
-
*
|
|
144
|
+
* Copy skill directories to a destination directory with conflict handling.
|
|
145
|
+
* Source skills are directories containing SKILL.md (e.g., web-prototype/SKILL.md).
|
|
146
|
+
* The entire directory is copied recursively, preserving any bundled resources
|
|
147
|
+
* (scripts/, references/, assets/, etc.).
|
|
148
148
|
*/
|
|
149
149
|
export async function copySkillsWithConflictHandling(sourceDir, destDir, skipPrompts = false) {
|
|
150
150
|
const copied = [];
|
|
@@ -152,21 +152,22 @@ export async function copySkillsWithConflictHandling(sourceDir, destDir, skipPro
|
|
|
152
152
|
if (!existsSync(sourceDir)) {
|
|
153
153
|
return { copied, skipped };
|
|
154
154
|
}
|
|
155
|
-
const
|
|
155
|
+
const entries = readdirSync(sourceDir).filter(entry => {
|
|
156
|
+
const entryPath = join(sourceDir, entry);
|
|
157
|
+
return statSync(entryPath).isDirectory() && existsSync(join(entryPath, 'SKILL.md'));
|
|
158
|
+
});
|
|
156
159
|
let batchAction = null;
|
|
157
|
-
for (const
|
|
158
|
-
const
|
|
159
|
-
const srcPath = join(sourceDir, file);
|
|
160
|
+
for (const skillName of entries) {
|
|
161
|
+
const srcSkillDir = join(sourceDir, skillName);
|
|
160
162
|
const destSkillDir = join(destDir, skillName);
|
|
161
|
-
|
|
162
|
-
if (existsSync(destPath)) {
|
|
163
|
+
if (existsSync(destSkillDir)) {
|
|
163
164
|
if (skipPrompts) {
|
|
164
|
-
cpSync(
|
|
165
|
+
cpSync(srcSkillDir, destSkillDir, { recursive: true });
|
|
165
166
|
copied.push(skillName);
|
|
166
167
|
continue;
|
|
167
168
|
}
|
|
168
169
|
if (batchAction === 'replace_all') {
|
|
169
|
-
cpSync(
|
|
170
|
+
cpSync(srcSkillDir, destSkillDir, { recursive: true });
|
|
170
171
|
copied.push(skillName);
|
|
171
172
|
continue;
|
|
172
173
|
}
|
|
@@ -174,10 +175,10 @@ export async function copySkillsWithConflictHandling(sourceDir, destDir, skipPro
|
|
|
174
175
|
skipped.push(skillName);
|
|
175
176
|
continue;
|
|
176
177
|
}
|
|
177
|
-
const action = await promptForConflict(skillName,
|
|
178
|
+
const action = await promptForConflict(skillName, entries.length > 1);
|
|
178
179
|
if (action === 'replace_all') {
|
|
179
180
|
batchAction = 'replace_all';
|
|
180
|
-
cpSync(
|
|
181
|
+
cpSync(srcSkillDir, destSkillDir, { recursive: true });
|
|
181
182
|
copied.push(skillName);
|
|
182
183
|
}
|
|
183
184
|
else if (action === 'skip_all') {
|
|
@@ -185,7 +186,7 @@ export async function copySkillsWithConflictHandling(sourceDir, destDir, skipPro
|
|
|
185
186
|
skipped.push(skillName);
|
|
186
187
|
}
|
|
187
188
|
else if (action === 'replace') {
|
|
188
|
-
cpSync(
|
|
189
|
+
cpSync(srcSkillDir, destSkillDir, { recursive: true });
|
|
189
190
|
copied.push(skillName);
|
|
190
191
|
}
|
|
191
192
|
else {
|
|
@@ -193,8 +194,7 @@ export async function copySkillsWithConflictHandling(sourceDir, destDir, skipPro
|
|
|
193
194
|
}
|
|
194
195
|
}
|
|
195
196
|
else {
|
|
196
|
-
|
|
197
|
-
cpSync(srcPath, destPath);
|
|
197
|
+
cpSync(srcSkillDir, destSkillDir, { recursive: true });
|
|
198
198
|
copied.push(skillName);
|
|
199
199
|
}
|
|
200
200
|
}
|
package/package.json
CHANGED
package/payload/AGENTS.md
CHANGED
|
@@ -0,0 +1,507 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: idea-explorer
|
|
3
|
+
description: >
|
|
4
|
+
Explore and refine early-stage ideas before they become formal requirements.
|
|
5
|
+
Use this skill whenever someone has a raw idea, concept, or "what if" they want
|
|
6
|
+
to think through — before it's ready for a PRD. Trigger when the user says things
|
|
7
|
+
like "I have an idea", "what if we built...", "I'm thinking about...", "explore
|
|
8
|
+
this concept", "help me think through...", "is this idea viable?", or "I want to
|
|
9
|
+
build something that...". Also trigger when someone pastes a rough description,
|
|
10
|
+
voice-to-text dump, or brainstorm notes and wants to make sense of them. This
|
|
11
|
+
skill is the first step in turning a vague thought into something concrete enough
|
|
12
|
+
to share with others or feed into a PRD.
|
|
13
|
+
compatibility:
|
|
14
|
+
tools:
|
|
15
|
+
- WebSearch
|
|
16
|
+
- Agent
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Idea Explorer
|
|
20
|
+
|
|
21
|
+
Turn a raw, unstructured idea into a clear, well-examined **Idea Brief** — a
|
|
22
|
+
document that captures what the idea is, why it matters, what already exists in
|
|
23
|
+
the space, what customers would want to know, and how it might be built. The
|
|
24
|
+
brief is meant to be the bridge between "I had a thought" and "let's write a PRD."
|
|
25
|
+
|
|
26
|
+
## Why this exists
|
|
27
|
+
|
|
28
|
+
Ideas at their earliest stage are fragile and fuzzy. People know they want
|
|
29
|
+
*something* but can't always articulate it clearly. The gap between a raw idea
|
|
30
|
+
and a structured requirements document is where most good ideas die — not because
|
|
31
|
+
they're bad, but because no one helped the person think them through. This skill
|
|
32
|
+
fills that gap by deploying a team of specialized agents to examine the idea from
|
|
33
|
+
multiple angles simultaneously, then synthesizing everything into a document that
|
|
34
|
+
communicates the thought clearly.
|
|
35
|
+
|
|
36
|
+
## Prerequisites
|
|
37
|
+
|
|
38
|
+
This skill requires **web search** capability. The Market Scout and Technical
|
|
39
|
+
Scout agents need to search the internet to find existing products, services,
|
|
40
|
+
and technical approaches. If web search is not available, inform the user and
|
|
41
|
+
suggest they enable it before proceeding.
|
|
42
|
+
|
|
43
|
+
## Step 1: Receive the idea
|
|
44
|
+
|
|
45
|
+
The user's input could be anything — a single sentence, a rambling paragraph, a
|
|
46
|
+
pasted voice transcription, bullet points, a screenshot of notes. Accept whatever
|
|
47
|
+
format they give you. Don't ask them to restructure it.
|
|
48
|
+
|
|
49
|
+
Read the input carefully and identify:
|
|
50
|
+
- **The core intent** — What does this person actually want to exist in the world?
|
|
51
|
+
- **The problem space** — What pain or gap is motivating this?
|
|
52
|
+
- **Obvious gaps** — What critical information is missing that the agents will
|
|
53
|
+
need to do their work?
|
|
54
|
+
|
|
55
|
+
## Step 2: Brief interview
|
|
56
|
+
|
|
57
|
+
Before launching the agents, ask a few focused questions to fill the most
|
|
58
|
+
critical gaps. Keep this short — 3-5 questions maximum. The agents will surface
|
|
59
|
+
deeper questions later. The goal here is just to give them enough context to be
|
|
60
|
+
effective.
|
|
61
|
+
|
|
62
|
+
Good interview questions target:
|
|
63
|
+
- **Who is this for?** (if not obvious from the input)
|
|
64
|
+
- **What exists today?** (how do people currently solve this problem, if at all?)
|
|
65
|
+
- **What's the motivation?** (personal itch, business opportunity, noticed gap?)
|
|
66
|
+
- **Any constraints?** (budget, timeline, technical environment, team size)
|
|
67
|
+
- **Scale and ambition** — Is this a weekend project, a startup, a feature within
|
|
68
|
+
an existing product?
|
|
69
|
+
|
|
70
|
+
Don't ask all of these. Pick the ones that matter most given what the user
|
|
71
|
+
already told you. If the user's input was detailed enough, you might only need
|
|
72
|
+
1-2 clarifying questions, or even none.
|
|
73
|
+
|
|
74
|
+
Once you have the answers (or the user says "just go with what I gave you"),
|
|
75
|
+
compile a concise **Idea Context Brief** — a paragraph or two that summarizes
|
|
76
|
+
the idea and its context. This is what you'll hand to each agent.
|
|
77
|
+
|
|
78
|
+
## Step 3: Launch the agent team
|
|
79
|
+
|
|
80
|
+
Spawn all 7 agents in parallel. Each agent gets the Idea Context Brief plus
|
|
81
|
+
their specific mission. The agents are:
|
|
82
|
+
|
|
83
|
+
### 1. Intent Clarifier
|
|
84
|
+
|
|
85
|
+
**Mission:** Deeply understand what the user actually wants and surface the
|
|
86
|
+
questions that will sharpen the idea.
|
|
87
|
+
|
|
88
|
+
**Prompt pattern:**
|
|
89
|
+
```
|
|
90
|
+
You are the Intent Clarifier. Your job is to deeply analyze an idea and
|
|
91
|
+
identify what's clear, what's ambiguous, and what questions would most help
|
|
92
|
+
refine it.
|
|
93
|
+
|
|
94
|
+
Here is the idea:
|
|
95
|
+
[Idea Context Brief]
|
|
96
|
+
|
|
97
|
+
Analyze this idea and produce:
|
|
98
|
+
|
|
99
|
+
1. **Core Intent Statement** — In 1-2 sentences, what does this person
|
|
100
|
+
actually want to exist? Strip away implementation details and get to the
|
|
101
|
+
essence.
|
|
102
|
+
|
|
103
|
+
2. **What's Clear** — List the aspects of this idea that are well-defined
|
|
104
|
+
and don't need further clarification.
|
|
105
|
+
|
|
106
|
+
3. **What's Ambiguous** — List the aspects that could be interpreted
|
|
107
|
+
multiple ways. For each, explain the different interpretations.
|
|
108
|
+
|
|
109
|
+
4. **Clarifying Questions** — Generate 5-8 questions that would most help
|
|
110
|
+
sharpen this idea. Prioritize questions that would change the direction
|
|
111
|
+
of the project depending on the answer. Frame them as conversational
|
|
112
|
+
questions the user could easily answer, not technical interrogations.
|
|
113
|
+
|
|
114
|
+
5. **Hidden Complexity** — Identify 2-3 aspects that seem simple on the
|
|
115
|
+
surface but are likely more complex than the user realizes.
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### 2. Problem Decomposer
|
|
119
|
+
|
|
120
|
+
**Mission:** Separate the problem from the proposed solution and break the
|
|
121
|
+
problem space into its components.
|
|
122
|
+
|
|
123
|
+
**Prompt pattern:**
|
|
124
|
+
```
|
|
125
|
+
You are the Problem Decomposer. Your job is to untangle the problem being
|
|
126
|
+
solved from the solution being proposed, and break the problem into its
|
|
127
|
+
constituent parts.
|
|
128
|
+
|
|
129
|
+
Here is the idea:
|
|
130
|
+
[Idea Context Brief]
|
|
131
|
+
|
|
132
|
+
Produce:
|
|
133
|
+
|
|
134
|
+
1. **Problem Statement** — What is the actual problem or pain point? State
|
|
135
|
+
it without referencing any particular solution. A good problem statement
|
|
136
|
+
makes someone nod and say "yes, that IS annoying / hard / broken."
|
|
137
|
+
|
|
138
|
+
2. **Current State** — How do people deal with this problem today? What
|
|
139
|
+
workarounds exist? What are people settling for?
|
|
140
|
+
|
|
141
|
+
3. **Problem Components** — Break the problem into 3-5 sub-problems. For
|
|
142
|
+
each, explain:
|
|
143
|
+
- What it is
|
|
144
|
+
- How painful it is (high/medium/low)
|
|
145
|
+
- Whether existing solutions address it
|
|
146
|
+
|
|
147
|
+
4. **Solution vs. Problem Separation** — Is the user describing a problem
|
|
148
|
+
or a solution? If they jumped straight to a solution, what's the
|
|
149
|
+
underlying problem? Are there other solutions to that same problem they
|
|
150
|
+
might not have considered?
|
|
151
|
+
|
|
152
|
+
5. **Who Feels This Pain** — List 2-4 different types of people or roles
|
|
153
|
+
who experience this problem, and how their experience of it differs.
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### 3. Assumptions Auditor
|
|
157
|
+
|
|
158
|
+
**Mission:** Surface the hidden assumptions baked into the idea and challenge
|
|
159
|
+
them.
|
|
160
|
+
|
|
161
|
+
**Prompt pattern:**
|
|
162
|
+
```
|
|
163
|
+
You are the Assumptions Auditor. Your job is to find the things the idea
|
|
164
|
+
takes for granted — the beliefs, conditions, and expectations that haven't
|
|
165
|
+
been stated or examined.
|
|
166
|
+
|
|
167
|
+
Here is the idea:
|
|
168
|
+
[Idea Context Brief]
|
|
169
|
+
|
|
170
|
+
Produce:
|
|
171
|
+
|
|
172
|
+
1. **Explicit Assumptions** — Things the idea openly relies on (e.g., "users
|
|
173
|
+
have smartphones", "data is available via API").
|
|
174
|
+
|
|
175
|
+
2. **Hidden Assumptions** — Things the idea takes for granted without
|
|
176
|
+
stating them. These are the dangerous ones. Common categories:
|
|
177
|
+
- User behavior assumptions ("people will want to...")
|
|
178
|
+
- Market assumptions ("there's demand for...")
|
|
179
|
+
- Technical assumptions ("it's possible to...")
|
|
180
|
+
- Economic assumptions ("people will pay for..." / "this can be built
|
|
181
|
+
within budget")
|
|
182
|
+
- Data assumptions ("this information exists and is accessible")
|
|
183
|
+
|
|
184
|
+
3. **Assumption Risk Assessment** — For each hidden assumption, rate:
|
|
185
|
+
- How critical is it? (If wrong, does the whole idea fall apart?)
|
|
186
|
+
- How confident should we be? (Is this well-established or a guess?)
|
|
187
|
+
- How could we test it cheaply?
|
|
188
|
+
|
|
189
|
+
4. **The Hardest Question** — What's the single most uncomfortable question
|
|
190
|
+
someone could ask about this idea? The one the user probably doesn't
|
|
191
|
+
want to hear but needs to?
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### 4. Market Scout
|
|
195
|
+
|
|
196
|
+
**Mission:** Search the internet for existing products, services, and projects
|
|
197
|
+
in the same space. This agent needs web search.
|
|
198
|
+
|
|
199
|
+
**Prompt pattern:**
|
|
200
|
+
```
|
|
201
|
+
You are the Market Scout. Your job is to research what already exists in the
|
|
202
|
+
market that's similar to or overlaps with this idea. Use web search
|
|
203
|
+
extensively.
|
|
204
|
+
|
|
205
|
+
Here is the idea:
|
|
206
|
+
[Idea Context Brief]
|
|
207
|
+
|
|
208
|
+
Research and produce:
|
|
209
|
+
|
|
210
|
+
1. **Direct Competitors** — Products or services that solve the same core
|
|
211
|
+
problem. For each, note:
|
|
212
|
+
- Name and URL
|
|
213
|
+
- What they do
|
|
214
|
+
- How they approach the problem
|
|
215
|
+
- Pricing model (if known)
|
|
216
|
+
- Apparent strengths and weaknesses
|
|
217
|
+
|
|
218
|
+
2. **Adjacent Solutions** — Products that solve a related problem or serve
|
|
219
|
+
the same audience but with a different approach. These might become
|
|
220
|
+
competitors or potential partners.
|
|
221
|
+
|
|
222
|
+
3. **Failed Attempts** — If you can find them, products or startups that
|
|
223
|
+
tried something similar and failed. What went wrong? (This is
|
|
224
|
+
incredibly valuable signal.)
|
|
225
|
+
|
|
226
|
+
4. **Market Gaps** — Based on your research, where are the existing
|
|
227
|
+
solutions falling short? What do users complain about? What's missing?
|
|
228
|
+
|
|
229
|
+
5. **Landscape Summary** — In 2-3 sentences, characterize the competitive
|
|
230
|
+
landscape. Is it crowded? Emerging? Dominated by one player? Wide open?
|
|
231
|
+
|
|
232
|
+
Search broadly — try different phrasings of the problem, look at Product
|
|
233
|
+
Hunt, search for Reddit discussions, check GitHub for open-source
|
|
234
|
+
alternatives. Cast a wide net.
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### 5. Customer Voice
|
|
238
|
+
|
|
239
|
+
**Mission:** Role-play as potential customers and surface the questions and
|
|
240
|
+
concerns real users would have.
|
|
241
|
+
|
|
242
|
+
**Prompt pattern:**
|
|
243
|
+
```
|
|
244
|
+
You are the Customer Voice. Your job is to think like 3-4 different
|
|
245
|
+
potential customers and anticipate their reactions, questions, and concerns
|
|
246
|
+
about this idea.
|
|
247
|
+
|
|
248
|
+
Here is the idea:
|
|
249
|
+
[Idea Context Brief]
|
|
250
|
+
|
|
251
|
+
Create 3-4 distinct customer personas, each representing a different
|
|
252
|
+
segment that might use this. For each persona:
|
|
253
|
+
|
|
254
|
+
1. **Who they are** — Name, role, context. Make them feel like real people,
|
|
255
|
+
not marketing abstractions.
|
|
256
|
+
|
|
257
|
+
2. **Their reaction** — How would they respond when first hearing about
|
|
258
|
+
this idea? Excited? Skeptical? Confused? Indifferent?
|
|
259
|
+
|
|
260
|
+
3. **Their questions** — What would they immediately want to know? List
|
|
261
|
+
5-7 questions in their natural voice. Include both practical questions
|
|
262
|
+
("Does this work with X?") and emotional ones ("Can I trust this with
|
|
263
|
+
my data?").
|
|
264
|
+
|
|
265
|
+
4. **Their dealbreakers** — What would make them say "no thanks"?
|
|
266
|
+
|
|
267
|
+
5. **Their "shut up and take my money" moment** — What would make them
|
|
268
|
+
immediately want this?
|
|
269
|
+
|
|
270
|
+
Make the personas genuinely different — don't just vary demographics. Vary
|
|
271
|
+
their relationship to the problem, their technical sophistication, their
|
|
272
|
+
willingness to pay, and their current workarounds.
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### 6. Technical Scout
|
|
276
|
+
|
|
277
|
+
**Mission:** Research the technical landscape — what technologies, APIs,
|
|
278
|
+
frameworks, and approaches could make this idea real. This agent needs web
|
|
279
|
+
search.
|
|
280
|
+
|
|
281
|
+
**Prompt pattern:**
|
|
282
|
+
```
|
|
283
|
+
You are the Technical Scout. Your job is to research how this idea could
|
|
284
|
+
be built from a technical perspective. Use web search to find relevant
|
|
285
|
+
technologies, APIs, and approaches.
|
|
286
|
+
|
|
287
|
+
Here is the idea:
|
|
288
|
+
[Idea Context Brief]
|
|
289
|
+
|
|
290
|
+
Research and produce:
|
|
291
|
+
|
|
292
|
+
1. **Technical Approaches** — 2-3 different ways this could be built.
|
|
293
|
+
For each, describe:
|
|
294
|
+
- The core architecture
|
|
295
|
+
- Key technologies/frameworks/services involved
|
|
296
|
+
- Rough complexity level (weekend project → multi-team effort)
|
|
297
|
+
- Major trade-offs
|
|
298
|
+
|
|
299
|
+
2. **Key Technologies** — Specific APIs, services, libraries, or platforms
|
|
300
|
+
that would be central to building this. For each, note:
|
|
301
|
+
- What it does
|
|
302
|
+
- Maturity level (production-ready, beta, experimental)
|
|
303
|
+
- Cost implications
|
|
304
|
+
- Alternatives
|
|
305
|
+
|
|
306
|
+
3. **Technical Risks** — What are the hardest technical challenges? What
|
|
307
|
+
might not work as expected? Where are the unknowns?
|
|
308
|
+
|
|
309
|
+
4. **Build vs. Buy** — Are there components that should be built custom
|
|
310
|
+
vs. using existing services? Where would you spend engineering time
|
|
311
|
+
vs. money?
|
|
312
|
+
|
|
313
|
+
5. **Feasibility Assessment** — Overall, how technically feasible is this?
|
|
314
|
+
Rate as: Straightforward / Moderate / Challenging / Research-required.
|
|
315
|
+
Explain your rating.
|
|
316
|
+
|
|
317
|
+
Search for relevant documentation, GitHub repos, technical blog posts,
|
|
318
|
+
and Stack Overflow discussions. Look for people who've built similar things
|
|
319
|
+
and what they learned.
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
### 7. Elevator Pitch Crafter
|
|
323
|
+
|
|
324
|
+
**Mission:** Distill everything into a clear, compelling description. This
|
|
325
|
+
agent runs *after* the other 6 complete — it needs their outputs as input.
|
|
326
|
+
|
|
327
|
+
**Important:** Do NOT spawn this agent with the others. Wait for agents 1-6
|
|
328
|
+
to finish, then launch this agent with their combined outputs.
|
|
329
|
+
|
|
330
|
+
**Prompt pattern:**
|
|
331
|
+
```
|
|
332
|
+
You are the Elevator Pitch Crafter. Your job is to take the outputs from
|
|
333
|
+
six research agents and distill them into a clear, compelling description
|
|
334
|
+
of this idea.
|
|
335
|
+
|
|
336
|
+
Here is the original idea:
|
|
337
|
+
[Idea Context Brief]
|
|
338
|
+
|
|
339
|
+
Here are the outputs from the research team:
|
|
340
|
+
[Intent Clarifier output]
|
|
341
|
+
[Problem Decomposer output]
|
|
342
|
+
[Assumptions Auditor output]
|
|
343
|
+
[Market Scout output]
|
|
344
|
+
[Customer Voice output]
|
|
345
|
+
[Technical Scout output]
|
|
346
|
+
|
|
347
|
+
Produce:
|
|
348
|
+
|
|
349
|
+
1. **Elevator Pitch** — 2-3 sentences that clearly communicate what this
|
|
350
|
+
idea is, who it's for, and why it matters. This should be immediately
|
|
351
|
+
understandable by anyone — no jargon, no hand-waving. If you can't
|
|
352
|
+
write a clear pitch, explain what's still too fuzzy and what questions
|
|
353
|
+
need to be answered first.
|
|
354
|
+
|
|
355
|
+
2. **One-Paragraph Description** — Expand the pitch into a paragraph that
|
|
356
|
+
adds enough detail for someone to evaluate whether they're interested
|
|
357
|
+
in learning more.
|
|
358
|
+
|
|
359
|
+
3. **Key Differentiator** — Based on the market research, what would make
|
|
360
|
+
this idea stand out? What's the "why this, why now" argument?
|
|
361
|
+
|
|
362
|
+
4. **Remaining Questions** — What are the 3-5 most important questions
|
|
363
|
+
that still need answers before this idea is ready for a formal PRD?
|
|
364
|
+
Prioritize them.
|
|
365
|
+
|
|
366
|
+
5. **Readiness Assessment** — Is this idea ready to move to PRD stage?
|
|
367
|
+
Rate as: Ready / Almost (needs X) / Needs More Work (because Y).
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
## Step 4: Synthesize the Idea Brief
|
|
371
|
+
|
|
372
|
+
Once all agents have reported back, compile their outputs into a single
|
|
373
|
+
markdown document. The brief should be structured to tell a clear story,
|
|
374
|
+
not just dump agent outputs.
|
|
375
|
+
|
|
376
|
+
### Idea Brief structure
|
|
377
|
+
|
|
378
|
+
```markdown
|
|
379
|
+
# Idea Brief: [Idea Name]
|
|
380
|
+
|
|
381
|
+
> [Elevator pitch — 2-3 sentences from the Pitch Crafter]
|
|
382
|
+
|
|
383
|
+
## Overview
|
|
384
|
+
|
|
385
|
+
[One-paragraph description from the Pitch Crafter]
|
|
386
|
+
|
|
387
|
+
## The Problem
|
|
388
|
+
|
|
389
|
+
[Problem statement from Problem Decomposer]
|
|
390
|
+
|
|
391
|
+
### How people deal with this today
|
|
392
|
+
[Current state from Problem Decomposer]
|
|
393
|
+
|
|
394
|
+
### Who feels this pain
|
|
395
|
+
[From Problem Decomposer — the different types of people affected]
|
|
396
|
+
|
|
397
|
+
## Market Landscape
|
|
398
|
+
|
|
399
|
+
[Landscape summary from Market Scout]
|
|
400
|
+
|
|
401
|
+
### Existing solutions
|
|
402
|
+
[Direct competitors and adjacent solutions from Market Scout]
|
|
403
|
+
|
|
404
|
+
### Market gaps
|
|
405
|
+
[Gaps identified by Market Scout]
|
|
406
|
+
|
|
407
|
+
### Failed attempts
|
|
408
|
+
[If any were found — valuable cautionary context]
|
|
409
|
+
|
|
410
|
+
## Customer Perspective
|
|
411
|
+
|
|
412
|
+
[For each persona from Customer Voice:]
|
|
413
|
+
### [Persona Name] — [Role/Context]
|
|
414
|
+
- **Reaction:** [Their likely reaction]
|
|
415
|
+
- **Key questions:** [Their top questions]
|
|
416
|
+
- **Dealbreakers:** [What would turn them away]
|
|
417
|
+
- **Hook:** [What would make them want this immediately]
|
|
418
|
+
|
|
419
|
+
## Technical Feasibility
|
|
420
|
+
|
|
421
|
+
[Feasibility assessment from Technical Scout]
|
|
422
|
+
|
|
423
|
+
### Possible approaches
|
|
424
|
+
[Technical approaches with trade-offs]
|
|
425
|
+
|
|
426
|
+
### Key technologies
|
|
427
|
+
[Relevant APIs, services, frameworks]
|
|
428
|
+
|
|
429
|
+
### Technical risks
|
|
430
|
+
[What's hard, what's unknown]
|
|
431
|
+
|
|
432
|
+
## Assumptions to Test
|
|
433
|
+
|
|
434
|
+
[From Assumptions Auditor — the critical hidden assumptions]
|
|
435
|
+
|
|
436
|
+
### Highest-risk assumptions
|
|
437
|
+
[The ones that could sink the whole idea]
|
|
438
|
+
|
|
439
|
+
### How to test them
|
|
440
|
+
[Cheap validation approaches]
|
|
441
|
+
|
|
442
|
+
## Open Questions
|
|
443
|
+
|
|
444
|
+
[Combined from Intent Clarifier, Assumptions Auditor, and Pitch Crafter.
|
|
445
|
+
Deduplicate and prioritize. These are the questions that need answers
|
|
446
|
+
before moving to a PRD.]
|
|
447
|
+
|
|
448
|
+
## Key Differentiator
|
|
449
|
+
|
|
450
|
+
[From Pitch Crafter — why this, why now]
|
|
451
|
+
|
|
452
|
+
## Readiness Assessment
|
|
453
|
+
|
|
454
|
+
[From Pitch Crafter — is this ready for PRD stage?]
|
|
455
|
+
|
|
456
|
+
---
|
|
457
|
+
*Generated by idea-explorer on [date]*
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
### Writing the brief
|
|
461
|
+
|
|
462
|
+
When assembling the brief:
|
|
463
|
+
- Don't just paste agent outputs verbatim. Synthesize, deduplicate, and
|
|
464
|
+
create a coherent narrative.
|
|
465
|
+
- Use the agents' outputs as raw material, but write the brief in a
|
|
466
|
+
consistent voice.
|
|
467
|
+
- If agents contradicted each other (e.g., Market Scout found competitors
|
|
468
|
+
but Assumptions Auditor assumed there were none), flag the contradiction
|
|
469
|
+
explicitly — that's valuable signal.
|
|
470
|
+
- Keep the tone conversational and honest. This isn't a pitch deck trying
|
|
471
|
+
to sell someone — it's a thinking document trying to understand something.
|
|
472
|
+
|
|
473
|
+
## Step 5: Present and iterate
|
|
474
|
+
|
|
475
|
+
After generating the brief:
|
|
476
|
+
|
|
477
|
+
1. Save it to `docs/idea-brief.md`
|
|
478
|
+
2. Present a summary to the user highlighting:
|
|
479
|
+
- The elevator pitch
|
|
480
|
+
- The most surprising findings (competitors they didn't know about,
|
|
481
|
+
assumptions they hadn't considered, technical challenges)
|
|
482
|
+
- The top 3-5 open questions
|
|
483
|
+
- The readiness assessment
|
|
484
|
+
3. Ask if they want to:
|
|
485
|
+
- **Dig deeper** on any section (re-run specific agents with updated
|
|
486
|
+
context)
|
|
487
|
+
- **Answer open questions** (update the brief with new information and
|
|
488
|
+
re-run relevant agents)
|
|
489
|
+
- **Move to PRD** (if the readiness assessment says it's ready, suggest
|
|
490
|
+
using `/prd.create` with the brief as input)
|
|
491
|
+
- **Shelve it** (save the brief for later consideration)
|
|
492
|
+
|
|
493
|
+
## Tips for the interview
|
|
494
|
+
|
|
495
|
+
- Match the user's energy. If they're excited, be encouraging. If they're
|
|
496
|
+
uncertain, be supportive. Don't be falsely enthusiastic about every idea,
|
|
497
|
+
but don't be a wet blanket either.
|
|
498
|
+
- If the idea sounds like something that clearly already exists, don't say
|
|
499
|
+
"that already exists" — let the Market Scout find it. There might be a
|
|
500
|
+
nuance you're missing, or the user might be aware and planning to
|
|
501
|
+
differentiate.
|
|
502
|
+
- If the user gives you very little to work with ("I want to build an app"),
|
|
503
|
+
ask more questions in the interview. If they give you a detailed dump,
|
|
504
|
+
ask fewer. Scale the interview to the gap.
|
|
505
|
+
- Some users think in problems ("I hate how X works"), some think in
|
|
506
|
+
solutions ("I want to build Y"). Both are valid starting points. The
|
|
507
|
+
Problem Decomposer will sort out which is which.
|
|
File without changes
|
|
File without changes
|