feed-the-machine 1.6.0 → 1.7.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.
- package/LICENSE +21 -21
- package/README.md +170 -170
- package/bin/brain.py +1340 -0
- package/bin/convert_claude_skills_to_codex.py +490 -0
- package/bin/generate-manifest.mjs +463 -463
- package/bin/harden_codex_skills.py +141 -0
- package/bin/install.mjs +491 -491
- package/bin/migrate-eng-buddy-data.py +875 -0
- package/bin/playbook_engine/__init__.py +1 -0
- package/bin/playbook_engine/conftest.py +8 -0
- package/bin/playbook_engine/extractor.py +33 -0
- package/bin/playbook_engine/manager.py +102 -0
- package/bin/playbook_engine/models.py +84 -0
- package/bin/playbook_engine/registry.py +35 -0
- package/bin/playbook_engine/test_extractor.py +72 -0
- package/bin/playbook_engine/test_integration.py +129 -0
- package/bin/playbook_engine/test_manager.py +85 -0
- package/bin/playbook_engine/test_models.py +166 -0
- package/bin/playbook_engine/test_registry.py +67 -0
- package/bin/playbook_engine/test_tracer.py +86 -0
- package/bin/playbook_engine/tracer.py +93 -0
- package/bin/tasks_db.py +456 -0
- package/docs/HOOKS.md +243 -243
- package/docs/INBOX.md +233 -233
- package/ftm/SKILL.md +125 -122
- package/ftm-audit/SKILL.md +623 -623
- package/ftm-audit/references/protocols/PROJECT-PATTERNS.md +91 -91
- package/ftm-audit/references/protocols/RUNTIME-WIRING.md +66 -66
- package/ftm-audit/references/protocols/WIRING-CONTRACTS.md +135 -135
- package/ftm-audit/references/strategies/AUTO-FIX-STRATEGIES.md +69 -69
- package/ftm-audit/references/templates/REPORT-FORMAT.md +96 -96
- package/ftm-audit/scripts/run-knip.sh +23 -23
- package/ftm-audit.yml +2 -2
- package/ftm-brainstorm/SKILL.md +1003 -498
- package/ftm-brainstorm/evals/evals.json +180 -100
- package/ftm-brainstorm/evals/promptfoo.yaml +109 -109
- package/ftm-brainstorm/references/agent-prompts.md +552 -224
- package/ftm-brainstorm/references/plan-template.md +209 -121
- package/ftm-brainstorm.yml +2 -2
- package/ftm-browse/SKILL.md +454 -454
- package/ftm-browse/daemon/browser-manager.ts +206 -206
- package/ftm-browse/daemon/bun.lock +30 -30
- package/ftm-browse/daemon/cli.ts +347 -347
- package/ftm-browse/daemon/commands.ts +410 -410
- package/ftm-browse/daemon/main.ts +357 -357
- package/ftm-browse/daemon/package.json +17 -17
- package/ftm-browse/daemon/server.ts +189 -189
- package/ftm-browse/daemon/snapshot.ts +519 -519
- package/ftm-browse/daemon/tsconfig.json +22 -22
- package/ftm-browse.yml +4 -4
- package/ftm-capture/SKILL.md +370 -370
- package/ftm-capture.yml +4 -4
- package/ftm-codex-gate/SKILL.md +361 -361
- package/ftm-codex-gate.yml +2 -2
- package/ftm-config/SKILL.md +422 -345
- package/ftm-config.default.yml +125 -82
- package/ftm-config.yml +44 -2
- package/ftm-council/SKILL.md +416 -416
- package/ftm-council/references/prompts/CLAUDE-INVESTIGATION.md +60 -60
- package/ftm-council/references/prompts/CODEX-INVESTIGATION.md +58 -58
- package/ftm-council/references/prompts/GEMINI-INVESTIGATION.md +58 -58
- package/ftm-council/references/prompts/REBUTTAL-TEMPLATE.md +57 -57
- package/ftm-council/references/protocols/PREREQUISITES.md +47 -47
- package/ftm-council/references/protocols/STEP-0-FRAMING.md +46 -46
- package/ftm-council.yml +2 -2
- package/ftm-dashboard/SKILL.md +163 -163
- package/ftm-dashboard.yml +4 -4
- package/ftm-debug/SKILL.md +1037 -1037
- package/ftm-debug/references/phases/PHASE-0-INTAKE.md +58 -58
- package/ftm-debug/references/phases/PHASE-1-TRIAGE.md +46 -46
- package/ftm-debug/references/phases/PHASE-2-WAR-ROOM-AGENTS.md +279 -279
- package/ftm-debug/references/phases/PHASE-3-TO-6-EXECUTION.md +436 -436
- package/ftm-debug/references/protocols/BLACKBOARD.md +86 -86
- package/ftm-debug/references/protocols/EDGE-CASES.md +103 -103
- package/ftm-debug.yml +2 -2
- package/ftm-diagram/SKILL.md +277 -277
- package/ftm-diagram.yml +2 -2
- package/ftm-executor/SKILL.md +777 -777
- package/ftm-executor/references/STYLE-TEMPLATE.md +73 -73
- package/ftm-executor/references/phases/PHASE-0-VERIFICATION.md +62 -62
- package/ftm-executor/references/phases/PHASE-2-AGENT-ASSEMBLY.md +34 -34
- package/ftm-executor/references/phases/PHASE-3-WORKTREES.md +38 -38
- package/ftm-executor/references/phases/PHASE-4-5-AUDIT.md +72 -72
- package/ftm-executor/references/phases/PHASE-4-DISPATCH.md +66 -66
- package/ftm-executor/references/phases/PHASE-5-5-CODEX-GATE.md +73 -73
- package/ftm-executor/references/protocols/DOCUMENTATION-BOOTSTRAP.md +36 -36
- package/ftm-executor/references/protocols/MODEL-PROFILE.md +59 -59
- package/ftm-executor/references/protocols/PROGRESS-TRACKING.md +66 -66
- package/ftm-executor/runtime/ftm-runtime.mjs +252 -252
- package/ftm-executor/runtime/package.json +8 -8
- package/ftm-executor.yml +2 -2
- package/ftm-git/SKILL.md +441 -441
- package/ftm-git/evals/evals.json +26 -26
- package/ftm-git/evals/promptfoo.yaml +75 -75
- package/ftm-git/hooks/post-commit-experience.sh +92 -92
- package/ftm-git/references/patterns/SECRET-PATTERNS.md +104 -104
- package/ftm-git/references/protocols/REMEDIATION.md +139 -139
- package/ftm-git/scripts/pre-commit-secrets.sh +110 -110
- package/ftm-git.yml +2 -2
- package/ftm-inbox/backend/__pycache__/main.cpython-314.pyc +0 -0
- package/ftm-inbox/backend/adapters/_retry.py +64 -64
- package/ftm-inbox/backend/adapters/base.py +230 -230
- package/ftm-inbox/backend/adapters/freshservice.py +104 -104
- package/ftm-inbox/backend/adapters/gmail.py +125 -125
- package/ftm-inbox/backend/adapters/jira.py +136 -136
- package/ftm-inbox/backend/adapters/registry.py +192 -192
- package/ftm-inbox/backend/adapters/slack.py +110 -110
- package/ftm-inbox/backend/db/connection.py +54 -54
- package/ftm-inbox/backend/db/schema.py +78 -78
- package/ftm-inbox/backend/executor/__init__.py +7 -7
- package/ftm-inbox/backend/executor/engine.py +149 -149
- package/ftm-inbox/backend/executor/step_runner.py +98 -98
- package/ftm-inbox/backend/main.py +103 -103
- package/ftm-inbox/backend/models/__init__.py +1 -1
- package/ftm-inbox/backend/models/unified_task.py +36 -36
- package/ftm-inbox/backend/planner/__init__.py +6 -6
- package/ftm-inbox/backend/planner/__pycache__/__init__.cpython-314.pyc +0 -0
- package/ftm-inbox/backend/planner/__pycache__/generator.cpython-314.pyc +0 -0
- package/ftm-inbox/backend/planner/__pycache__/schema.cpython-314.pyc +0 -0
- package/ftm-inbox/backend/planner/generator.py +127 -127
- package/ftm-inbox/backend/planner/schema.py +34 -34
- package/ftm-inbox/backend/requirements.txt +5 -5
- package/ftm-inbox/backend/routes/__pycache__/plan.cpython-314.pyc +0 -0
- package/ftm-inbox/backend/routes/execute.py +186 -186
- package/ftm-inbox/backend/routes/health.py +52 -52
- package/ftm-inbox/backend/routes/inbox.py +68 -68
- package/ftm-inbox/backend/routes/plan.py +271 -271
- package/ftm-inbox/bin/launchagent.mjs +91 -91
- package/ftm-inbox/bin/setup.mjs +188 -188
- package/ftm-inbox/bin/start.sh +10 -10
- package/ftm-inbox/bin/status.sh +17 -17
- package/ftm-inbox/bin/stop.sh +8 -8
- package/ftm-inbox/config.example.yml +55 -55
- package/ftm-inbox/package-lock.json +2898 -2898
- package/ftm-inbox/package.json +26 -26
- package/ftm-inbox/postcss.config.js +6 -6
- package/ftm-inbox/src/app.css +199 -199
- package/ftm-inbox/src/app.html +18 -18
- package/ftm-inbox/src/lib/api.ts +166 -166
- package/ftm-inbox/src/lib/components/ExecutionLog.svelte +81 -81
- package/ftm-inbox/src/lib/components/InboxFeed.svelte +143 -143
- package/ftm-inbox/src/lib/components/PlanStep.svelte +271 -271
- package/ftm-inbox/src/lib/components/PlanView.svelte +206 -206
- package/ftm-inbox/src/lib/components/StreamPanel.svelte +99 -99
- package/ftm-inbox/src/lib/components/TaskCard.svelte +190 -190
- package/ftm-inbox/src/lib/components/ui/EmptyState.svelte +63 -63
- package/ftm-inbox/src/lib/components/ui/KawaiiCard.svelte +86 -86
- package/ftm-inbox/src/lib/components/ui/PillButton.svelte +106 -106
- package/ftm-inbox/src/lib/components/ui/StatusBadge.svelte +67 -67
- package/ftm-inbox/src/lib/components/ui/StreamDrawer.svelte +149 -149
- package/ftm-inbox/src/lib/components/ui/ThemeToggle.svelte +80 -80
- package/ftm-inbox/src/lib/theme.ts +47 -47
- package/ftm-inbox/src/routes/+layout.svelte +76 -76
- package/ftm-inbox/src/routes/+page.svelte +401 -401
- package/ftm-inbox/svelte.config.js +12 -12
- package/ftm-inbox/tailwind.config.ts +63 -63
- package/ftm-inbox/tsconfig.json +13 -13
- package/ftm-inbox/vite.config.ts +6 -6
- package/ftm-intent/SKILL.md +241 -241
- package/ftm-intent.yml +2 -2
- package/ftm-manifest.json +3794 -3794
- package/ftm-map/SKILL.md +291 -291
- package/ftm-map/scripts/db.py +712 -712
- package/ftm-map/scripts/index.py +415 -415
- package/ftm-map/scripts/parser.py +224 -224
- package/ftm-map/scripts/queries/go-tags.scm +20 -20
- package/ftm-map/scripts/queries/javascript-tags.scm +35 -35
- package/ftm-map/scripts/queries/python-tags.scm +31 -31
- package/ftm-map/scripts/queries/ruby-tags.scm +19 -19
- package/ftm-map/scripts/queries/rust-tags.scm +37 -37
- package/ftm-map/scripts/queries/typescript-tags.scm +41 -41
- package/ftm-map/scripts/query.py +301 -301
- package/ftm-map/scripts/ranker.py +377 -377
- package/ftm-map/scripts/requirements.txt +5 -5
- package/ftm-map/scripts/setup-hooks.sh +27 -27
- package/ftm-map/scripts/setup.sh +56 -56
- package/ftm-map/scripts/test_db.py +364 -364
- package/ftm-map/scripts/test_parser.py +174 -174
- package/ftm-map/scripts/test_query.py +183 -183
- package/ftm-map/scripts/test_ranker.py +199 -199
- package/ftm-map/scripts/views.py +591 -591
- package/ftm-map.yml +2 -2
- package/ftm-mind/SKILL.md +201 -1943
- package/ftm-mind/evals/promptfoo.yaml +142 -142
- package/ftm-mind/references/blackboard-protocol.md +110 -0
- package/ftm-mind/references/blackboard-schema.md +328 -328
- package/ftm-mind/references/complexity-guide.md +110 -110
- package/ftm-mind/references/complexity-sizing.md +138 -0
- package/ftm-mind/references/decide-act-protocol.md +172 -0
- package/ftm-mind/references/direct-execution.md +51 -0
- package/ftm-mind/references/environment-discovery.md +77 -0
- package/ftm-mind/references/event-registry.md +319 -319
- package/ftm-mind/references/mcp-inventory.md +300 -296
- package/ftm-mind/references/ops-routing.md +47 -0
- package/ftm-mind/references/orient-protocol.md +234 -0
- package/ftm-mind/references/personality.md +40 -0
- package/ftm-mind/references/protocols/COMPLEXITY-SIZING.md +72 -72
- package/ftm-mind/references/protocols/MCP-HEURISTICS.md +32 -32
- package/ftm-mind/references/protocols/PLAN-APPROVAL.md +80 -80
- package/ftm-mind/references/reflexion-protocol.md +249 -249
- package/ftm-mind/references/routing/SCENARIOS.md +22 -22
- package/ftm-mind/references/routing-scenarios.md +35 -35
- package/ftm-mind.yml +2 -2
- package/ftm-ops.yml +4 -0
- package/ftm-pause/SKILL.md +395 -395
- package/ftm-pause/references/protocols/SKILL-RESTORE-PROTOCOLS.md +186 -186
- package/ftm-pause/references/protocols/VALIDATION.md +80 -80
- package/ftm-pause.yml +2 -2
- package/ftm-researcher/SKILL.md +275 -275
- package/ftm-researcher/evals/agent-diversity.yaml +17 -17
- package/ftm-researcher/evals/synthesis-quality.yaml +12 -12
- package/ftm-researcher/evals/trigger-accuracy.yaml +39 -39
- package/ftm-researcher/references/adaptive-search.md +116 -116
- package/ftm-researcher/references/agent-prompts.md +193 -193
- package/ftm-researcher/references/council-integration.md +193 -193
- package/ftm-researcher/references/output-format.md +203 -203
- package/ftm-researcher/references/synthesis-pipeline.md +165 -165
- package/ftm-researcher/scripts/score_credibility.py +234 -234
- package/ftm-researcher/scripts/validate_research.py +92 -92
- package/ftm-researcher.yml +2 -2
- package/ftm-resume/SKILL.md +518 -518
- package/ftm-resume/references/protocols/VALIDATION.md +172 -172
- package/ftm-resume.yml +2 -2
- package/ftm-retro/SKILL.md +380 -380
- package/ftm-retro/references/protocols/SCORING-RUBRICS.md +89 -89
- package/ftm-retro/references/templates/REPORT-FORMAT.md +109 -109
- package/ftm-retro.yml +2 -2
- package/ftm-routine/SKILL.md +170 -170
- package/ftm-routine.yml +4 -4
- package/ftm-state/blackboard/capabilities.json +5 -5
- package/ftm-state/blackboard/capabilities.schema.json +27 -27
- package/ftm-state/blackboard/context.json +37 -23
- package/ftm-state/blackboard/experiences/doom-statusline-fix.json +26 -0
- package/ftm-state/blackboard/experiences/hackathon-pages-site.json +26 -0
- package/ftm-state/blackboard/experiences/hindsight-sso-kickoff.json +42 -0
- package/ftm-state/blackboard/experiences/index.json +58 -9
- package/ftm-state/blackboard/experiences/learning-ragnarok-api-access.json +23 -0
- package/ftm-state/blackboard/experiences/nordlayer-members-auto-assign.json +26 -0
- package/ftm-state/blackboard/experiences/saml2aws-stale-session-fix.json +41 -0
- package/ftm-state/blackboard/patterns.json +6 -6
- package/ftm-state/schemas/context.schema.json +130 -130
- package/ftm-state/schemas/experience-index.schema.json +77 -77
- package/ftm-state/schemas/experience.schema.json +78 -78
- package/ftm-state/schemas/patterns.schema.json +44 -44
- package/ftm-upgrade/SKILL.md +194 -194
- package/ftm-upgrade/scripts/check-version.sh +76 -76
- package/ftm-upgrade/scripts/upgrade.sh +143 -143
- package/ftm-upgrade.yml +2 -2
- package/ftm-verify.yml +2 -2
- package/ftm.yml +2 -2
- package/hooks/ftm-auto-log.sh +137 -0
- package/hooks/ftm-blackboard-enforcer.sh +93 -93
- package/hooks/ftm-discovery-reminder.sh +90 -90
- package/hooks/ftm-drafts-gate.sh +61 -61
- package/hooks/ftm-event-logger.mjs +107 -107
- package/hooks/ftm-install-hooks.sh +240 -0
- package/hooks/ftm-learning-capture.sh +117 -0
- package/hooks/ftm-map-autodetect.sh +79 -79
- package/hooks/ftm-pending-sync-check.sh +22 -22
- package/hooks/ftm-plan-gate.sh +92 -92
- package/hooks/ftm-post-commit-trigger.sh +57 -57
- package/hooks/ftm-post-compaction.sh +138 -0
- package/hooks/ftm-pre-compaction.sh +147 -0
- package/hooks/ftm-session-end.sh +52 -0
- package/hooks/ftm-session-snapshot.sh +213 -0
- package/hooks/settings-template.json +81 -81
- package/install.sh +363 -363
- package/package.json +84 -84
- package/uninstall.sh +25 -25
|
@@ -1,121 +1,209 @@
|
|
|
1
|
-
# Plan Generation Template
|
|
2
|
-
|
|
3
|
-
Load this file only when the user approves moving to Phase 3 (plan generation).
|
|
4
|
-
|
|
5
|
-
##
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
##
|
|
28
|
-
[
|
|
29
|
-
|
|
30
|
-
##
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
- [ ] [
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
-
|
|
65
|
-
-
|
|
66
|
-
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
-
|
|
74
|
-
|
|
75
|
-
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
-
|
|
102
|
-
|
|
103
|
-
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
1
|
+
# Plan Generation Template
|
|
2
|
+
|
|
3
|
+
Load this file only when the user approves moving to Phase 3 (plan generation).
|
|
4
|
+
|
|
5
|
+
## Pre-Plan Sequence
|
|
6
|
+
|
|
7
|
+
Before generating ANY plan content:
|
|
8
|
+
1. **Spec Self-Review** module must have run (check for placeholders, contradictions, gaps)
|
|
9
|
+
2. **Pre-Mortem Stress Test** module must have run (top failures identified, mitigations selected)
|
|
10
|
+
3. Summary approved by user
|
|
11
|
+
|
|
12
|
+
## Present Incrementally
|
|
13
|
+
|
|
14
|
+
Do NOT dump the entire plan in one message. Present section by section:
|
|
15
|
+
|
|
16
|
+
1. **Vision + Architecture Decisions + Risk Mitigations** — ask: "Does this foundation look right?"
|
|
17
|
+
2. **Task Breakdown with Discovery Levels** — ask: "Any tasks missing, or should any be split/merged?"
|
|
18
|
+
3. **Agent Team + Execution Order + Validation Strategy** — ask: "Good to save it?"
|
|
19
|
+
|
|
20
|
+
Only save after all three sections are approved.
|
|
21
|
+
|
|
22
|
+
## Plan Document Structure
|
|
23
|
+
|
|
24
|
+
```markdown
|
|
25
|
+
# [Project/Feature Name] — Implementation Plan
|
|
26
|
+
|
|
27
|
+
## Vision
|
|
28
|
+
[2-3 sentence summary of what we're building and why, grounded in research findings]
|
|
29
|
+
|
|
30
|
+
## Key Research Findings
|
|
31
|
+
- [Most important patterns/decisions discovered, with source links]
|
|
32
|
+
- [Each finding that materially influenced the plan]
|
|
33
|
+
|
|
34
|
+
## Architecture Decisions
|
|
35
|
+
[Major technical choices and the reasoning behind each — reference the research turn where evidence was found]
|
|
36
|
+
|
|
37
|
+
## Canonical References
|
|
38
|
+
[MANDATORY section — links to specs, docs, ADRs, or external resources that implementing agents MUST read]
|
|
39
|
+
- [Link 1]: [what it is and why it matters]
|
|
40
|
+
- [Link 2]: [what it is and why it matters]
|
|
41
|
+
|
|
42
|
+
## Risk Mitigations (from Pre-Mortem)
|
|
43
|
+
[Selected mitigations that become explicit tasks or acceptance criteria]
|
|
44
|
+
- Risk: [failure scenario] → Mitigation: [what we're doing about it] → Task: [which task handles it]
|
|
45
|
+
|
|
46
|
+
## Deferred Ideas (Future Work)
|
|
47
|
+
[Ideas raised during brainstorm that were deferred to keep v1 scope tight]
|
|
48
|
+
- [Idea 1]: [brief description, why deferred]
|
|
49
|
+
- [Idea 2]: [brief description, why deferred]
|
|
50
|
+
|
|
51
|
+
## Tasks
|
|
52
|
+
|
|
53
|
+
### Task N: [Title]
|
|
54
|
+
**Description:** [What needs to be built — explicit enough that an agent with zero context can execute]
|
|
55
|
+
**Discovery Level:** [L0 skip | L1 quick verify | L2 standard | L3 deep dive]
|
|
56
|
+
**Files:** [Expected files to create/modify — use ACTUAL project paths from Phase 0]
|
|
57
|
+
**Dependencies:** [Which tasks must complete first, or "none"]
|
|
58
|
+
**Agent type:** [frontend-developer, backend-architect, etc.]
|
|
59
|
+
**Acceptance criteria:**
|
|
60
|
+
- [ ] [Specific, testable criterion]
|
|
61
|
+
- [ ] [Another criterion]
|
|
62
|
+
**Verify command:** [Automated command that proves this task is done — Nyquist rule: every task MUST have one]
|
|
63
|
+
**Hints:**
|
|
64
|
+
- [Relevant research finding with source URL]
|
|
65
|
+
- [Known pitfall from research: "Watch out for Z — see [link]"]
|
|
66
|
+
- [If brain dump: novelty verdict — "Already solved by [tool]" or "Novel — no prior art"]
|
|
67
|
+
- [Pre-mortem mitigation if applicable]
|
|
68
|
+
**Wiring:**
|
|
69
|
+
exports:
|
|
70
|
+
- symbol: [ExportedName]
|
|
71
|
+
from: [file path]
|
|
72
|
+
imported_by:
|
|
73
|
+
- file: [parent file that should import this]
|
|
74
|
+
rendered_in:
|
|
75
|
+
- parent: [ParentComponent]
|
|
76
|
+
placement: "[where in parent JSX]"
|
|
77
|
+
route_path: [/path]
|
|
78
|
+
nav_link:
|
|
79
|
+
- location: [sidebar|navbar|menu]
|
|
80
|
+
label: "[Display text]"
|
|
81
|
+
|
|
82
|
+
## Agent Team
|
|
83
|
+
| Agent | Role | Tasks |
|
|
84
|
+
|-------|------|-------|
|
|
85
|
+
| [type] | [what they handle] | [task numbers] |
|
|
86
|
+
|
|
87
|
+
## Execution Order
|
|
88
|
+
- **Wave 1 (parallel):** Tasks [X, Y, Z] — no dependencies
|
|
89
|
+
- **Wave 2 (parallel, after wave 1):** Tasks [A, B] — depend on wave 1
|
|
90
|
+
- **Wave 3:** Task [C] — integration/final assembly
|
|
91
|
+
|
|
92
|
+
## Validation Strategy
|
|
93
|
+
[How we verify the whole thing works end-to-end after all waves complete]
|
|
94
|
+
- Smoke test: [command or manual step]
|
|
95
|
+
- Integration test: [what to check]
|
|
96
|
+
- User acceptance: [what the user should see/experience]
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Wiring Contract Rules
|
|
100
|
+
|
|
101
|
+
Auto-populate the `Wiring:` block based on file type:
|
|
102
|
+
|
|
103
|
+
- **New component** (.tsx/.vue/.svelte): exports (component name), imported_by (parent), rendered_in (where in JSX), route_path (if page)
|
|
104
|
+
- **New hook** (use*.ts): exports (function), imported_by (consuming components)
|
|
105
|
+
- **New API function** (api/*.ts): exports (functions), imported_by (hooks/components calling them)
|
|
106
|
+
- **New store/state**: store_reads (which components read), store_writes (which write)
|
|
107
|
+
- **New route/view**: route_path, nav_link (where navigation appears), rendered_in (router config)
|
|
108
|
+
- **New CLI command**: entry_point, subcommand_tree, config_reads, output_format
|
|
109
|
+
- **New middleware**: intercepts (which routes), order (before/after what), passes_to (next handler)
|
|
110
|
+
|
|
111
|
+
## Hints Population
|
|
112
|
+
|
|
113
|
+
For each task, pull from the cumulative research register:
|
|
114
|
+
|
|
115
|
+
1. **Web Researcher findings** — blog posts, case studies, patterns (include URL)
|
|
116
|
+
2. **GitHub Explorer findings** — repos that solved similar problems (include URL + what's useful)
|
|
117
|
+
3. **Competitive Analyst findings** — products to learn from or differentiate against
|
|
118
|
+
4. **Stack Researcher findings** — library versions, compatibility notes, configuration patterns
|
|
119
|
+
5. **Architecture Researcher findings** — structural patterns, scaling considerations
|
|
120
|
+
6. **Pitfall Researcher findings** — warnings, anti-patterns, known failure modes
|
|
121
|
+
7. **UX/Domain Researcher findings** — UX patterns, accessibility requirements, domain conventions
|
|
122
|
+
8. **Brain dump novelty map** (Path B): solved/partially solved/novel verdicts
|
|
123
|
+
9. **Pre-mortem mitigations** — selected risk mitigations that apply to this task
|
|
124
|
+
10. **Assumption audit results** — crackable assumptions that affect this task
|
|
125
|
+
|
|
126
|
+
Rules:
|
|
127
|
+
- Always include source links
|
|
128
|
+
- 2-4 bullets per task, not paragraphs
|
|
129
|
+
- "No specific research findings for this task" if nothing applies
|
|
130
|
+
- Hints are suggestions, not mandates
|
|
131
|
+
|
|
132
|
+
## Discovery Level Guidelines
|
|
133
|
+
|
|
134
|
+
Assess each task's discovery level based on:
|
|
135
|
+
|
|
136
|
+
- **Level 0 (Skip):** Pure internal work using existing patterns. No research needed. Example: "Add a new route following the existing pattern in routes.ts"
|
|
137
|
+
- **Level 1 (Quick Verify, 2-5 min):** Single known library, confirm syntax. Example: "Use date-fns for date formatting — confirm API for relative dates"
|
|
138
|
+
- **Level 2 (Standard, 15-30 min):** Choosing between options, new integration. Example: "Integrate Stripe checkout — research current best practice for SCA compliance"
|
|
139
|
+
- **Level 3 (Deep Dive, 1+ hour):** Architectural decisions, novel problems. Example: "Design real-time sync protocol — research CRDT vs OT for collaborative editing"
|
|
140
|
+
|
|
141
|
+
Tag each task with its level. Level 2+ tasks get extra research hints from the brainstorm's findings. Level 3 tasks should reference the specific research turn where the approach was decided.
|
|
142
|
+
|
|
143
|
+
## Verify Command Rules (Nyquist Validation)
|
|
144
|
+
|
|
145
|
+
**Source:** GSD Nyquist rule
|
|
146
|
+
|
|
147
|
+
Every task MUST have a `Verify command` that can be run automatically. No exceptions.
|
|
148
|
+
|
|
149
|
+
Good verify commands:
|
|
150
|
+
- `npm test -- --testPathPattern=feature-name`
|
|
151
|
+
- `curl -s http://localhost:3000/api/endpoint | jq .status`
|
|
152
|
+
- `npx tsc --noEmit`
|
|
153
|
+
- `grep -r "ExportedName" src/ | wc -l` (verify wiring)
|
|
154
|
+
|
|
155
|
+
Bad verify commands:
|
|
156
|
+
- "Check that it looks right" (not automated)
|
|
157
|
+
- "Run the app and verify" (too vague)
|
|
158
|
+
- "Manual testing required" (violates Nyquist)
|
|
159
|
+
|
|
160
|
+
If a task genuinely can't have an automated verify (pure visual design), note: `Verify: MANUAL — [specific thing to check visually]` and explain why automated isn't possible.
|
|
161
|
+
|
|
162
|
+
## Quality Rules
|
|
163
|
+
|
|
164
|
+
- Tasks small enough for one agent session (if a task description exceeds 200 words, split it)
|
|
165
|
+
- Every task has testable acceptance criteria
|
|
166
|
+
- Every task has an automated verify command (Nyquist rule)
|
|
167
|
+
- Dependencies explicit — no implicit ordering
|
|
168
|
+
- Agent assignments match domain
|
|
169
|
+
- Wave structure maximizes parallelism
|
|
170
|
+
- File paths reference ACTUAL project structure from Phase 0
|
|
171
|
+
- Leverage existing project patterns (don't reinvent)
|
|
172
|
+
- Risk mitigations from pre-mortem are embedded as tasks or acceptance criteria
|
|
173
|
+
- Canonical references section is populated
|
|
174
|
+
- Deferred ideas section captures scope that was cut
|
|
175
|
+
- Discovery levels are assigned and realistic
|
|
176
|
+
- No placeholders — every instruction is concrete enough for a zero-context agent
|
|
177
|
+
|
|
178
|
+
## Plan Quality Verification
|
|
179
|
+
|
|
180
|
+
After generating the plan, run the Plan Checker agent (see SKILL.md Phase 3).
|
|
181
|
+
|
|
182
|
+
The checker validates:
|
|
183
|
+
1. **Spec coverage** — every brainstorm decision appears in a task
|
|
184
|
+
2. **Placeholder scan** — no TBDs, TODOs, or vague instructions
|
|
185
|
+
3. **Task decomposition** — every task fits one agent session
|
|
186
|
+
4. **Buildability** — dependency order is correct
|
|
187
|
+
5. **Nyquist validation** — every task has automated verify
|
|
188
|
+
6. **Wiring completeness** — no orphaned exports/imports
|
|
189
|
+
7. **YAGNI** — no tasks that aren't traceable to brainstorm decisions
|
|
190
|
+
|
|
191
|
+
Fix checker issues inline. Up to 3 iterations. Present remaining issues to user.
|
|
192
|
+
|
|
193
|
+
## Save Location
|
|
194
|
+
|
|
195
|
+
```
|
|
196
|
+
~/.claude/plans/[project-name]-plan.md
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
Create `~/.claude/plans/` if needed.
|
|
200
|
+
|
|
201
|
+
## Handoff Prompt
|
|
202
|
+
|
|
203
|
+
After saving, give the user:
|
|
204
|
+
|
|
205
|
+
```
|
|
206
|
+
/ftm-executor ~/.claude/plans/[project-name]-plan.md
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
Plus a summary: "[N] tasks across [M] agents in [W] waves. First wave starts immediately with [list]. Discovery: [X] L0, [Y] L1, [Z] L2, [W] L3 tasks. Top risk mitigated: [brief]. Scope: [small/medium/large]."
|
package/ftm-brainstorm.yml
CHANGED
|
@@ -1,2 +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.
|
|
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.
|