feed-the-machine 1.0.0

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.
Files changed (120) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +268 -0
  3. package/bin/generate-manifest.mjs +210 -0
  4. package/bin/install.mjs +114 -0
  5. package/ftm/SKILL.md +88 -0
  6. package/ftm-audit/SKILL.md +146 -0
  7. package/ftm-audit/references/protocols/PROJECT-PATTERNS.md +91 -0
  8. package/ftm-audit/references/protocols/RUNTIME-WIRING.md +66 -0
  9. package/ftm-audit/references/protocols/WIRING-CONTRACTS.md +135 -0
  10. package/ftm-audit/references/strategies/AUTO-FIX-STRATEGIES.md +69 -0
  11. package/ftm-audit/references/templates/REPORT-FORMAT.md +96 -0
  12. package/ftm-audit/scripts/run-knip.sh +23 -0
  13. package/ftm-audit.yml +2 -0
  14. package/ftm-brainstorm/SKILL.md +379 -0
  15. package/ftm-brainstorm/evals/evals.json +100 -0
  16. package/ftm-brainstorm/evals/promptfoo.yaml +109 -0
  17. package/ftm-brainstorm/references/agent-prompts.md +224 -0
  18. package/ftm-brainstorm/references/plan-template.md +121 -0
  19. package/ftm-brainstorm.yml +2 -0
  20. package/ftm-browse/SKILL.md +415 -0
  21. package/ftm-browse/daemon/browser-manager.ts +206 -0
  22. package/ftm-browse/daemon/bun.lock +30 -0
  23. package/ftm-browse/daemon/cli.ts +347 -0
  24. package/ftm-browse/daemon/commands.ts +410 -0
  25. package/ftm-browse/daemon/main.ts +357 -0
  26. package/ftm-browse/daemon/package.json +17 -0
  27. package/ftm-browse/daemon/server.ts +189 -0
  28. package/ftm-browse/daemon/snapshot.ts +519 -0
  29. package/ftm-browse/daemon/tsconfig.json +22 -0
  30. package/ftm-browse.yml +4 -0
  31. package/ftm-codex-gate/SKILL.md +302 -0
  32. package/ftm-codex-gate.yml +2 -0
  33. package/ftm-config/SKILL.md +310 -0
  34. package/ftm-config.default.yml +80 -0
  35. package/ftm-config.yml +2 -0
  36. package/ftm-council/SKILL.md +132 -0
  37. package/ftm-council/references/prompts/CLAUDE-INVESTIGATION.md +60 -0
  38. package/ftm-council/references/prompts/CODEX-INVESTIGATION.md +58 -0
  39. package/ftm-council/references/prompts/GEMINI-INVESTIGATION.md +58 -0
  40. package/ftm-council/references/prompts/REBUTTAL-TEMPLATE.md +57 -0
  41. package/ftm-council/references/protocols/PREREQUISITES.md +47 -0
  42. package/ftm-council/references/protocols/STEP-0-FRAMING.md +46 -0
  43. package/ftm-council.yml +2 -0
  44. package/ftm-dashboard.yml +4 -0
  45. package/ftm-debug/SKILL.md +146 -0
  46. package/ftm-debug/references/phases/PHASE-0-INTAKE.md +58 -0
  47. package/ftm-debug/references/phases/PHASE-1-TRIAGE.md +46 -0
  48. package/ftm-debug/references/phases/PHASE-2-WAR-ROOM-AGENTS.md +279 -0
  49. package/ftm-debug/references/phases/PHASE-3-TO-6-EXECUTION.md +436 -0
  50. package/ftm-debug/references/protocols/BLACKBOARD.md +86 -0
  51. package/ftm-debug/references/protocols/EDGE-CASES.md +103 -0
  52. package/ftm-debug.yml +2 -0
  53. package/ftm-diagram/SKILL.md +233 -0
  54. package/ftm-diagram.yml +2 -0
  55. package/ftm-executor/SKILL.md +657 -0
  56. package/ftm-executor/references/STYLE-TEMPLATE.md +73 -0
  57. package/ftm-executor/references/phases/PHASE-0-VERIFICATION.md +62 -0
  58. package/ftm-executor/references/phases/PHASE-2-AGENT-ASSEMBLY.md +34 -0
  59. package/ftm-executor/references/phases/PHASE-3-WORKTREES.md +38 -0
  60. package/ftm-executor/references/phases/PHASE-4-5-AUDIT.md +72 -0
  61. package/ftm-executor/references/phases/PHASE-4-DISPATCH.md +66 -0
  62. package/ftm-executor/references/phases/PHASE-5-5-CODEX-GATE.md +73 -0
  63. package/ftm-executor/references/protocols/DOCUMENTATION-BOOTSTRAP.md +36 -0
  64. package/ftm-executor/references/protocols/MODEL-PROFILE.md +44 -0
  65. package/ftm-executor/references/protocols/PROGRESS-TRACKING.md +66 -0
  66. package/ftm-executor/runtime/ftm-runtime.mjs +252 -0
  67. package/ftm-executor/runtime/package.json +8 -0
  68. package/ftm-executor.yml +2 -0
  69. package/ftm-git/SKILL.md +195 -0
  70. package/ftm-git/evals/evals.json +26 -0
  71. package/ftm-git/evals/promptfoo.yaml +75 -0
  72. package/ftm-git/hooks/post-commit-experience.sh +92 -0
  73. package/ftm-git/references/patterns/SECRET-PATTERNS.md +104 -0
  74. package/ftm-git/references/protocols/REMEDIATION.md +139 -0
  75. package/ftm-git/scripts/pre-commit-secrets.sh +110 -0
  76. package/ftm-git.yml +2 -0
  77. package/ftm-intent/SKILL.md +198 -0
  78. package/ftm-intent.yml +2 -0
  79. package/ftm-map.yml +2 -0
  80. package/ftm-mind/SKILL.md +986 -0
  81. package/ftm-mind/evals/promptfoo.yaml +142 -0
  82. package/ftm-mind/references/blackboard-schema.md +328 -0
  83. package/ftm-mind/references/complexity-guide.md +110 -0
  84. package/ftm-mind/references/event-registry.md +299 -0
  85. package/ftm-mind/references/mcp-inventory.md +296 -0
  86. package/ftm-mind/references/protocols/COMPLEXITY-SIZING.md +72 -0
  87. package/ftm-mind/references/protocols/MCP-HEURISTICS.md +32 -0
  88. package/ftm-mind/references/protocols/PLAN-APPROVAL.md +80 -0
  89. package/ftm-mind/references/reflexion-protocol.md +249 -0
  90. package/ftm-mind/references/routing/SCENARIOS.md +22 -0
  91. package/ftm-mind/references/routing-scenarios.md +35 -0
  92. package/ftm-mind.yml +2 -0
  93. package/ftm-pause/SKILL.md +133 -0
  94. package/ftm-pause/references/protocols/SKILL-RESTORE-PROTOCOLS.md +186 -0
  95. package/ftm-pause/references/protocols/VALIDATION.md +80 -0
  96. package/ftm-pause.yml +2 -0
  97. package/ftm-researcher.yml +2 -0
  98. package/ftm-resume/SKILL.md +166 -0
  99. package/ftm-resume/references/protocols/VALIDATION.md +172 -0
  100. package/ftm-resume.yml +2 -0
  101. package/ftm-retro/SKILL.md +189 -0
  102. package/ftm-retro/references/protocols/SCORING-RUBRICS.md +89 -0
  103. package/ftm-retro/references/templates/REPORT-FORMAT.md +109 -0
  104. package/ftm-retro.yml +2 -0
  105. package/ftm-routine.yml +4 -0
  106. package/ftm-state/blackboard/context.json +23 -0
  107. package/ftm-state/blackboard/experiences/index.json +9 -0
  108. package/ftm-state/blackboard/patterns.json +6 -0
  109. package/ftm-state/schemas/context.schema.json +130 -0
  110. package/ftm-state/schemas/experience-index.schema.json +77 -0
  111. package/ftm-state/schemas/experience.schema.json +78 -0
  112. package/ftm-state/schemas/patterns.schema.json +44 -0
  113. package/ftm-upgrade/SKILL.md +153 -0
  114. package/ftm-upgrade/scripts/check-version.sh +76 -0
  115. package/ftm-upgrade/scripts/upgrade.sh +143 -0
  116. package/ftm-upgrade.yml +2 -0
  117. package/ftm.yml +2 -0
  118. package/install.sh +102 -0
  119. package/package.json +74 -0
  120. package/uninstall.sh +25 -0
@@ -0,0 +1,109 @@
1
+ description: "ftm-brainstorm behavior across multi-turn brainstorming sessions"
2
+
3
+ prompts:
4
+ - "{{input}}"
5
+
6
+ providers:
7
+ - id: "exec:claude --print"
8
+ label: "claude-code"
9
+
10
+ defaultTest:
11
+ options:
12
+ transformVars: "vars"
13
+
14
+ tests:
15
+ # Eval 0: fresh-idea-intake
16
+ - description: "fresh idea intake — asks 1-2 questions, no research sprint, hard stop"
17
+ vars:
18
+ input: "I'm thinking about building an app that helps people find study buddies at their university. Like Tinder but for studying."
19
+ assert:
20
+ - type: regex
21
+ value: "\\?"
22
+ description: "Response must contain at least one question"
23
+ - type: not-contains
24
+ value: "sprint"
25
+ description: "Does not dispatch research sprint on first turn"
26
+ - type: not-contains
27
+ value: "dispatch"
28
+ description: "Does not dispatch agents on first turn"
29
+
30
+ # Eval 1: fresh-idea-turn2-research
31
+ - description: "turn 2 — dispatches research agents, citations, labeled recommendation, challenge, ends with question"
32
+ vars:
33
+ input: "It's for college students who want to find people in the same classes to study with. Matching based on courses, study style, and schedule availability."
34
+ assert:
35
+ - type: regex
36
+ value: "https?://"
37
+ description: "Response includes at least one URL citation"
38
+ - type: regex
39
+ value: "RECOMMENDED|recommended|#1"
40
+ description: "At least one suggestion is labeled as recommended"
41
+ - type: regex
42
+ value: "\\?"
43
+ description: "Ends with a question"
44
+
45
+ # Eval 2: turn3-deeper-research
46
+ - description: "turn 3 — deeper research on specific concerns, builds on prior, fresh citations, challenge"
47
+ vars:
48
+ input: "I like option 2 — the React Native approach with Firebase. But I'm worried about the matching algorithm complexity. Also we need to handle the cold-start problem when a new university joins."
49
+ assert:
50
+ - type: regex
51
+ value: "matching|algorithm|cold.start"
52
+ description: "Response addresses the specific concerns raised"
53
+ - type: regex
54
+ value: "https?://"
55
+ description: "Response includes at least one URL citation"
56
+ - type: regex
57
+ value: "\\?"
58
+ description: "Ends with a question"
59
+
60
+ # Eval 3: brain-dump-intake
61
+ - description: "brain dump intake — extracts structure, confirmation gate, no research yet"
62
+ vars:
63
+ input: "help me build all the suggestions in this chat: [brain dump about eng-buddy]"
64
+ assert:
65
+ - type: regex
66
+ value: "Decided|decided|Decision|decision"
67
+ description: "Contains a 'Decided' section"
68
+ - type: regex
69
+ value: "open question|Open question|gap|Gap"
70
+ description: "Contains an open questions or gaps section"
71
+ - type: regex
72
+ value: "\\?"
73
+ description: "Ends with a confirmation question"
74
+ - type: not-contains
75
+ value: "dispatch"
76
+ description: "Does not dispatch research agents on intake turn"
77
+
78
+ # Eval 4: brain-dump-turn2-research
79
+ - description: "brain dump turn 2 — novelty map, research citations, challenge, question"
80
+ vars:
81
+ input: "Yeah that looks right, go ahead and research it"
82
+ assert:
83
+ - type: regex
84
+ value: "Novelty|novelty|novel|Novel"
85
+ description: "Contains a Novelty Map"
86
+ - type: regex
87
+ value: "https?://"
88
+ description: "Response includes at least one URL citation"
89
+ - type: regex
90
+ value: "\\?"
91
+ description: "Ends with a question"
92
+
93
+ # Eval 5: phase3-gate
94
+ - description: "phase 3 gate — vision summary and approval before generating full plan"
95
+ vars:
96
+ input: "Ok I think I know what I want. Let's turn this into a plan."
97
+ assert:
98
+ - type: regex
99
+ value: "summary|Summary|we've landed|landed on|here's what"
100
+ description: "Presents a vision summary before generating the full plan"
101
+ - type: regex
102
+ value: "confirm|Confirm|proceed|Proceed|ready|Ready|go ahead|approve"
103
+ description: "Asks for confirmation before proceeding to full plan"
104
+ - type: not-contains
105
+ value: "Wave 1"
106
+ description: "Does not dump the full plan structure prematurely"
107
+ - type: not-contains
108
+ value: "Wave 2"
109
+ description: "Does not dump the full plan structure prematurely"
@@ -0,0 +1,224 @@
1
+ # Agent Prompts (Legacy)
2
+
3
+ > **NOTE:** As of ftm-researcher integration, brainstorm research sprints are handled
4
+ > by ftm-researcher. These prompts are retained for reference and fallback if
5
+ > ftm-researcher is unavailable.
6
+
7
+ # Research Agent Prompts
8
+
9
+ Load this file when dispatching research sprints. Each turn, spawn all 3 agents in parallel with the accumulated context injected.
10
+
11
+ ## Cumulative Context Injection
12
+
13
+ Every agent prompt MUST include these two blocks at the top. Copy them verbatim from your running context register.
14
+
15
+ ```
16
+ PROJECT CONTEXT:
17
+ [Phase 0 repo summary — tech stack, architecture, patterns, file structure]
18
+
19
+ ACCUMULATED KNOWLEDGE (Turn {N}):
20
+ [Running summary of everything learned so far — user's answers, prior research findings,
21
+ decisions made, open questions remaining, contradictions found]
22
+
23
+ RESEARCH DEPTH: {broad | focused | implementation}
24
+ - broad (turns 1-2): Map the landscape. What exists? What are the major approaches?
25
+ - focused (turns 3-5): Drill into the user's chosen direction. What are the real trade-offs?
26
+ - implementation (turns 6+): Find concrete patterns, libraries, code examples for the specific approach.
27
+ ```
28
+
29
+ ---
30
+
31
+ ## Agent 1: Web Researcher
32
+
33
+ ```
34
+ {CUMULATIVE CONTEXT BLOCK}
35
+
36
+ You are the Web Researcher on a 3-agent research team. Your job is to find real-world
37
+ implementations, blog posts, case studies, and architectural write-ups.
38
+
39
+ CURRENT RESEARCH QUESTION: {what this turn needs to answer}
40
+
41
+ PREVIOUS FINDINGS TO BUILD ON (don't re-search these):
42
+ {summary of what you found in prior turns — URLs already surfaced, patterns already identified}
43
+
44
+ NEW INFORMATION FROM USER THIS TURN:
45
+ {what the user just told us — constraints, preferences, decisions, corrections}
46
+
47
+ ---
48
+
49
+ DEPTH-SPECIFIC INSTRUCTIONS:
50
+
51
+ IF DEPTH == broad:
52
+ - Map the territory. What category of thing is this?
53
+ - What are the 3-5 major technical approaches people use?
54
+ - What's typically harder than expected?
55
+ - Search: "[core concept] architecture", "[concept] case study", "how [company] built [feature]"
56
+
57
+ IF DEPTH == focused:
58
+ - Drill into the specific approach the user is leaning toward
59
+ - Find gotchas, failure modes, scaling limits for THIS approach
60
+ - Compare 2-3 real implementations that took this approach — what differed?
61
+ - Search: "[specific approach] [user's stack] production", "[approach] lessons learned",
62
+ "[approach] vs [alternative the user rejected] trade-offs"
63
+
64
+ IF DEPTH == implementation:
65
+ - Find concrete code patterns, library recommendations, config examples
66
+ - Look for "how to" guides specific to the user's stack + approach
67
+ - Find migration/integration guides if connecting to existing systems
68
+ - Search: "[specific library] [specific framework] tutorial", "[exact pattern] implementation",
69
+ "[stack] [feature] boilerplate", "github [specific integration]"
70
+
71
+ ---
72
+
73
+ BRAIN DUMP MODE (if user pasted a large document):
74
+ The user proposed these specific architectural ideas. Search for existing
75
+ implementations of EACH claim independently:
76
+ {list of extracted claims from brain dump}
77
+
78
+ For each claim, categorize:
79
+ - SOLVED: existing tool/library does exactly this → name it, link it
80
+ - PARTIALLY SOLVED: existing approach covers part → what's covered, what's novel
81
+ - NOVEL: nothing found → flag as genuinely new or possibly mis-framed
82
+
83
+ ---
84
+
85
+ RETURN FORMAT:
86
+ - 3-5 findings (fewer if results are thin — don't pad with weak results)
87
+ - Each finding: source URL, 2-3 sentence summary, key takeaway for this project
88
+ - Flag if a finding requires technology NOT in the project's current stack
89
+ - Flag if a finding contradicts something from ACCUMULATED KNOWLEDGE
90
+ - Note what you DIDN'T find — gaps are signal too
91
+ ```
92
+
93
+ ---
94
+
95
+ ## Agent 2: GitHub Explorer
96
+
97
+ ```
98
+ {CUMULATIVE CONTEXT BLOCK}
99
+
100
+ You are the GitHub Explorer on a 3-agent research team. Your job is to find real
101
+ repositories, code patterns, and open-source implementations.
102
+
103
+ CURRENT RESEARCH QUESTION: {what this turn needs to answer}
104
+
105
+ PREVIOUS FINDINGS TO BUILD ON (don't re-search these):
106
+ {repos already surfaced in prior turns}
107
+
108
+ NEW INFORMATION FROM USER THIS TURN:
109
+ {what the user just told us}
110
+
111
+ ---
112
+
113
+ DEPTH-SPECIFIC INSTRUCTIONS:
114
+
115
+ IF DEPTH == broad:
116
+ - Find the most-starred repos in this problem space
117
+ - Look at how they're structured — what patterns emerge across repos?
118
+ - Check trending repos in relevant categories
119
+ - Search: "[core concept] [language]", "[concept] framework", "awesome-[concept]"
120
+
121
+ IF DEPTH == focused:
122
+ - Find repos using the SAME stack as this project (prioritize these)
123
+ - Dig into their architecture decisions — read READMEs, check directory structure
124
+ - Look at their open issues — what pain points do users report?
125
+ - Compare how 2-3 repos solved the same sub-problem differently
126
+ - Search: "[specific approach] [exact framework]", "[approach] example [language]"
127
+
128
+ IF DEPTH == implementation:
129
+ - Find repos that solved the EXACT sub-problem the current task requires
130
+ - Look at specific files/functions, not just repo-level architecture
131
+ - Check if there are libraries/packages that wrap common patterns
132
+ - Look at test suites — how do they verify this works?
133
+ - Search: "[specific library] [specific pattern] example", "[exact integration] starter"
134
+
135
+ ---
136
+
137
+ BRAIN DUMP MODE:
138
+ Find repos that implement each of the user's proposed components:
139
+ {list of extracted claims}
140
+
141
+ Map each repo to which claims it covers. A single repo might cover multiple claims.
142
+
143
+ ---
144
+
145
+ RETURN FORMAT:
146
+ - 3-5 repos (fewer if search is thin)
147
+ - Each: URL, star count, last commit date, 2-3 sentence description
148
+ - Note architectural decisions visible from README/structure
149
+ - Note compatibility with this project's existing patterns
150
+ - Flag repos that are unmaintained (>1yr since last commit) or have critical open issues
151
+ ```
152
+
153
+ ---
154
+
155
+ ## Agent 3: Competitive Analyst
156
+
157
+ ```
158
+ {CUMULATIVE CONTEXT BLOCK}
159
+
160
+ You are the Competitive Analyst on a 3-agent research team. Your job is to find
161
+ existing products, tools, and solutions — and identify what works, what doesn't,
162
+ and where the opportunity is.
163
+
164
+ CURRENT RESEARCH QUESTION: {what this turn needs to answer}
165
+
166
+ PREVIOUS FINDINGS TO BUILD ON:
167
+ {products/tools already identified in prior turns}
168
+
169
+ NEW INFORMATION FROM USER THIS TURN:
170
+ {what the user just told us}
171
+
172
+ ---
173
+
174
+ DEPTH-SPECIFIC INSTRUCTIONS:
175
+
176
+ IF DEPTH == broad:
177
+ - What products/tools already solve this problem (or adjacent problems)?
178
+ - What do users love and hate about them? (check reviews, Reddit, HN, Twitter)
179
+ - Where are the obvious gaps?
180
+ - Search: "[problem] tool", "[concept] app", "site:reddit.com [problem] recommendation",
181
+ "site:news.ycombinator.com [concept]"
182
+
183
+ IF DEPTH == focused:
184
+ - Deep-dive the 2-3 most relevant competitors
185
+ - How do they handle the specific technical challenge the user is facing?
186
+ - What's their pricing/business model? What can we learn from it?
187
+ - What do power users wish these tools did differently?
188
+ - Search: "[specific product] review", "[product] vs [product]", "[product] limitations"
189
+
190
+ IF DEPTH == implementation:
191
+ - How do competitors implement the specific feature/pattern the user is building?
192
+ - Are there public APIs, SDKs, or integrations we can leverage instead of building from scratch?
193
+ - What UX patterns do the best tools in this space use?
194
+ - Search: "[product] API", "[product] architecture", "[product] integration guide"
195
+
196
+ ---
197
+
198
+ BRAIN DUMP MODE:
199
+ The user proposes building these capabilities:
200
+ {list of extracted claims}
201
+
202
+ For each: does an existing product already handle it? Should the user use it,
203
+ fork the approach, or build differently? Be specific about why.
204
+
205
+ ---
206
+
207
+ RETURN FORMAT:
208
+ - 3-5 products/tools (fewer if space is thin)
209
+ - Each: URL/name, what they do well, what they do poorly, relevance to this project
210
+ - Identify the gap — what would the user's project do that these don't?
211
+ - Flag if "just use [existing tool]" is the honest recommendation for any sub-problem
212
+ ```
213
+
214
+ ---
215
+
216
+ ## Dispatch Checklist
217
+
218
+ Before spawning agents each turn, verify:
219
+
220
+ 1. Cumulative context is up to date (includes user's latest response)
221
+ 2. Research depth level is set correctly for this turn number
222
+ 3. Previous findings are summarized so agents don't re-search
223
+ 4. The research question is specific to THIS turn (not the whole project)
224
+ 5. Brain dump claims are included if Path B
@@ -0,0 +1,121 @@
1
+ # Plan Generation Template
2
+
3
+ Load this file only when the user approves moving to Phase 3 (plan generation).
4
+
5
+ ## Present Incrementally
6
+
7
+ Do NOT dump the entire plan in one message. Present section by section:
8
+
9
+ 1. **Vision + Architecture Decisions** — ask: "Does this foundation look right?"
10
+ 2. **Task Breakdown** — ask: "Any tasks missing, or should any be split/merged?"
11
+ 3. **Agent Team + Execution Order** — ask: "Good to save it?"
12
+
13
+ Only save after all three sections are approved.
14
+
15
+ ## Plan Document Structure
16
+
17
+ ```markdown
18
+ # [Project/Feature Name] — Implementation Plan
19
+
20
+ ## Vision
21
+ [2-3 sentence summary of what we're building and why, grounded in research findings]
22
+
23
+ ## Key Research Findings
24
+ - [Most important patterns/decisions discovered, with source links]
25
+ - [Each finding that materially influenced the plan]
26
+
27
+ ## Architecture Decisions
28
+ [Major technical choices and the reasoning behind each — reference the research turn where evidence was found]
29
+
30
+ ## Tasks
31
+
32
+ ### Task N: [Title]
33
+ **Description:** [What needs to be built]
34
+ **Files:** [Expected files to create/modify — use ACTUAL project paths from Phase 0]
35
+ **Dependencies:** [Which tasks must complete first, or "none"]
36
+ **Agent type:** [frontend-developer, backend-architect, etc.]
37
+ **Acceptance criteria:**
38
+ - [ ] [Specific, testable criterion]
39
+ - [ ] [Another criterion]
40
+ **Hints:**
41
+ - [Relevant research finding with source URL]
42
+ - [Known pitfall from research: "Watch out for Z — see [link]"]
43
+ - [If brain dump: novelty verdict — "Already solved by [tool]" or "Novel — no prior art"]
44
+ **Wiring:**
45
+ exports:
46
+ - symbol: [ExportedName]
47
+ from: [file path]
48
+ imported_by:
49
+ - file: [parent file that should import this]
50
+ rendered_in:
51
+ - parent: [ParentComponent]
52
+ placement: "[where in parent JSX]"
53
+ route_path: [/path]
54
+ nav_link:
55
+ - location: [sidebar|navbar|menu]
56
+ label: "[Display text]"
57
+
58
+ ## Agent Team
59
+ | Agent | Role | Tasks |
60
+ |-------|------|-------|
61
+ | [type] | [what they handle] | [task numbers] |
62
+
63
+ ## Execution Order
64
+ - **Wave 1 (parallel):** Tasks [X, Y, Z] — no dependencies
65
+ - **Wave 2 (parallel, after wave 1):** Tasks [A, B] — depend on wave 1
66
+ - **Wave 3:** Task [C] — integration/final assembly
67
+ ```
68
+
69
+ ## Wiring Contract Rules
70
+
71
+ Auto-populate the `Wiring:` block based on file type:
72
+
73
+ - **New component** (.tsx/.vue/.svelte): exports (component name), imported_by (parent), rendered_in (where in JSX), route_path (if page)
74
+ - **New hook** (use*.ts): exports (function), imported_by (consuming components)
75
+ - **New API function** (api/*.ts): exports (functions), imported_by (hooks/components calling them)
76
+ - **New store/state**: store_reads (which components read), store_writes (which write)
77
+ - **New route/view**: route_path, nav_link (where navigation appears), rendered_in (router config)
78
+
79
+ ## Hints Population
80
+
81
+ For each task, pull from the cumulative research register:
82
+
83
+ 1. **Web Researcher findings** — blog posts, case studies, patterns (include URL)
84
+ 2. **GitHub Explorer findings** — repos that solved similar problems (include URL + what's useful)
85
+ 3. **Competitive Analyst findings** — products to learn from or differentiate against
86
+ 4. **Brain dump novelty map** (Path B): solved/partially solved/novel verdicts
87
+ 5. **Pitfalls** — warnings from any research turn
88
+
89
+ Rules:
90
+ - Always include source links
91
+ - 2-4 bullets per task, not paragraphs
92
+ - "No specific research findings for this task" if nothing applies
93
+ - Hints are suggestions, not mandates
94
+
95
+ ## Quality Rules
96
+
97
+ - Tasks small enough for one agent session
98
+ - Every task has testable acceptance criteria
99
+ - Dependencies explicit — no implicit ordering
100
+ - Agent assignments match domain
101
+ - Wave structure maximizes parallelism
102
+ - File paths reference ACTUAL project structure from Phase 0
103
+ - Leverage existing project patterns (don't reinvent)
104
+
105
+ ## Save Location
106
+
107
+ ```
108
+ ~/.claude/plans/[project-name]-plan.md
109
+ ```
110
+
111
+ Create `~/.claude/plans/` if needed.
112
+
113
+ ## Handoff Prompt
114
+
115
+ After saving, give the user:
116
+
117
+ ```
118
+ /ftm-executor ~/.claude/plans/[project-name]-plan.md
119
+ ```
120
+
121
+ Plus a summary: "[N] tasks across [M] agents in [W] waves. First wave starts immediately with [list]. Scope: [small/medium/large]."
@@ -0,0 +1,2 @@
1
+ name: ftm-brainstorm
2
+ description: Research-powered Socratic brainstorming that dispatches parallel agents to search the web and GitHub for real-world patterns, then synthesizes findings into actionable suggestions with citations. Use this skill whenever the user wants to brainstorm, explore ideas, think through a feature, plan a project, or flesh out a concept before building. Also triggers when the user pastes a large block of text (notes, prior brainstorm, meeting transcript, spec draft, stream-of-consciousness dump) and wants to turn it into something buildable — phrases like "help me build this", "turn this into a plan", "here's what I've been thinking", or just a big paste followed by "what do you think?" or "go". Triggers on "brainstorm", "help me think through", "I have an idea for", "how should I approach", "let's explore", "what if we built", "I'm thinking about", "help me figure out", or any conversation where the user has a concept they want to develop before writing code. Even vague ideas like "I want to build something that..." or "what's the best way to..." should trigger this skill.