@qball-inc/the-bulwark 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.
- package/.claude-plugin/plugin.json +43 -0
- package/agents/bulwark-fix-validator.md +633 -0
- package/agents/bulwark-implementer.md +391 -0
- package/agents/bulwark-issue-analyzer.md +308 -0
- package/agents/bulwark-standards-reviewer.md +221 -0
- package/agents/plan-creation-architect.md +323 -0
- package/agents/plan-creation-eng-lead.md +352 -0
- package/agents/plan-creation-po.md +300 -0
- package/agents/plan-creation-qa-critic.md +334 -0
- package/agents/product-ideation-competitive-analyzer.md +298 -0
- package/agents/product-ideation-idea-validator.md +268 -0
- package/agents/product-ideation-market-researcher.md +292 -0
- package/agents/product-ideation-pattern-documenter.md +308 -0
- package/agents/product-ideation-segment-analyzer.md +303 -0
- package/agents/product-ideation-strategist.md +259 -0
- package/agents/statusline-setup.md +97 -0
- package/hooks/hooks.json +59 -0
- package/package.json +45 -0
- package/scripts/hooks/cleanup-stale.sh +13 -0
- package/scripts/hooks/enforce-quality.sh +166 -0
- package/scripts/hooks/implementer-quality.sh +256 -0
- package/scripts/hooks/inject-protocol.sh +52 -0
- package/scripts/hooks/suggest-pipeline.sh +175 -0
- package/scripts/hooks/track-pipeline-start.sh +37 -0
- package/scripts/hooks/track-pipeline-stop.sh +52 -0
- package/scripts/init-rules.sh +35 -0
- package/scripts/init.sh +151 -0
- package/skills/anthropic-validator/SKILL.md +607 -0
- package/skills/anthropic-validator/references/agents-checklist.md +131 -0
- package/skills/anthropic-validator/references/commands-checklist.md +102 -0
- package/skills/anthropic-validator/references/hooks-checklist.md +151 -0
- package/skills/anthropic-validator/references/mcp-checklist.md +136 -0
- package/skills/anthropic-validator/references/plugins-checklist.md +148 -0
- package/skills/anthropic-validator/references/skills-checklist.md +85 -0
- package/skills/assertion-patterns/SKILL.md +296 -0
- package/skills/bug-magnet-data/SKILL.md +284 -0
- package/skills/bug-magnet-data/context/cli-args.md +91 -0
- package/skills/bug-magnet-data/context/db-query.md +104 -0
- package/skills/bug-magnet-data/context/file-contents.md +103 -0
- package/skills/bug-magnet-data/context/http-body.md +91 -0
- package/skills/bug-magnet-data/context/process-spawn.md +123 -0
- package/skills/bug-magnet-data/data/booleans/boundaries.yaml +143 -0
- package/skills/bug-magnet-data/data/collections/arrays.yaml +114 -0
- package/skills/bug-magnet-data/data/collections/objects.yaml +123 -0
- package/skills/bug-magnet-data/data/concurrency/race-conditions.yaml +118 -0
- package/skills/bug-magnet-data/data/concurrency/state-machines.yaml +115 -0
- package/skills/bug-magnet-data/data/dates/boundaries.yaml +137 -0
- package/skills/bug-magnet-data/data/dates/invalid.yaml +132 -0
- package/skills/bug-magnet-data/data/dates/timezone.yaml +118 -0
- package/skills/bug-magnet-data/data/encoding/charset.yaml +79 -0
- package/skills/bug-magnet-data/data/encoding/normalization.yaml +105 -0
- package/skills/bug-magnet-data/data/formats/email.yaml +154 -0
- package/skills/bug-magnet-data/data/formats/json.yaml +187 -0
- package/skills/bug-magnet-data/data/formats/url.yaml +165 -0
- package/skills/bug-magnet-data/data/language-specific/javascript.yaml +182 -0
- package/skills/bug-magnet-data/data/language-specific/python.yaml +174 -0
- package/skills/bug-magnet-data/data/language-specific/rust.yaml +148 -0
- package/skills/bug-magnet-data/data/numbers/boundaries.yaml +161 -0
- package/skills/bug-magnet-data/data/numbers/precision.yaml +89 -0
- package/skills/bug-magnet-data/data/numbers/special.yaml +69 -0
- package/skills/bug-magnet-data/data/strings/boundaries.yaml +109 -0
- package/skills/bug-magnet-data/data/strings/injection.yaml +208 -0
- package/skills/bug-magnet-data/data/strings/special-chars.yaml +190 -0
- package/skills/bug-magnet-data/data/strings/unicode.yaml +139 -0
- package/skills/bug-magnet-data/references/external-lists.md +115 -0
- package/skills/bulwark-brainstorm/SKILL.md +563 -0
- package/skills/bulwark-brainstorm/references/at-teammate-prompts.md +60 -0
- package/skills/bulwark-brainstorm/references/role-critical-analyst.md +78 -0
- package/skills/bulwark-brainstorm/references/role-development-lead.md +66 -0
- package/skills/bulwark-brainstorm/references/role-product-delivery-lead.md +79 -0
- package/skills/bulwark-brainstorm/references/role-product-manager.md +62 -0
- package/skills/bulwark-brainstorm/references/role-project-sme.md +59 -0
- package/skills/bulwark-brainstorm/references/role-technical-architect.md +66 -0
- package/skills/bulwark-research/SKILL.md +298 -0
- package/skills/bulwark-research/references/viewpoint-contrarian.md +63 -0
- package/skills/bulwark-research/references/viewpoint-direct-investigation.md +62 -0
- package/skills/bulwark-research/references/viewpoint-first-principles.md +65 -0
- package/skills/bulwark-research/references/viewpoint-practitioner.md +62 -0
- package/skills/bulwark-research/references/viewpoint-prior-art.md +66 -0
- package/skills/bulwark-scaffold/SKILL.md +330 -0
- package/skills/bulwark-statusline/SKILL.md +161 -0
- package/skills/bulwark-statusline/scripts/statusline.sh +144 -0
- package/skills/bulwark-verify/SKILL.md +519 -0
- package/skills/code-review/SKILL.md +428 -0
- package/skills/code-review/examples/anti-patterns/linting.ts +181 -0
- package/skills/code-review/examples/anti-patterns/security.ts +91 -0
- package/skills/code-review/examples/anti-patterns/standards.ts +195 -0
- package/skills/code-review/examples/anti-patterns/type-safety.ts +108 -0
- package/skills/code-review/examples/recommended/linting.ts +195 -0
- package/skills/code-review/examples/recommended/security.ts +154 -0
- package/skills/code-review/examples/recommended/standards.ts +231 -0
- package/skills/code-review/examples/recommended/type-safety.ts +181 -0
- package/skills/code-review/frameworks/angular.md +218 -0
- package/skills/code-review/frameworks/django.md +235 -0
- package/skills/code-review/frameworks/express.md +207 -0
- package/skills/code-review/frameworks/flask.md +298 -0
- package/skills/code-review/frameworks/generic.md +146 -0
- package/skills/code-review/frameworks/react.md +152 -0
- package/skills/code-review/frameworks/vue.md +244 -0
- package/skills/code-review/references/linting-patterns.md +221 -0
- package/skills/code-review/references/security-patterns.md +125 -0
- package/skills/code-review/references/standards-patterns.md +246 -0
- package/skills/code-review/references/type-safety-patterns.md +130 -0
- package/skills/component-patterns/SKILL.md +131 -0
- package/skills/component-patterns/references/pattern-cli-command.md +118 -0
- package/skills/component-patterns/references/pattern-database.md +166 -0
- package/skills/component-patterns/references/pattern-external-api.md +139 -0
- package/skills/component-patterns/references/pattern-file-parser.md +168 -0
- package/skills/component-patterns/references/pattern-http-server.md +162 -0
- package/skills/component-patterns/references/pattern-process-spawner.md +133 -0
- package/skills/continuous-feedback/SKILL.md +327 -0
- package/skills/continuous-feedback/references/collect-instructions.md +81 -0
- package/skills/continuous-feedback/references/specialize-code-review.md +82 -0
- package/skills/continuous-feedback/references/specialize-general.md +98 -0
- package/skills/continuous-feedback/references/specialize-test-audit.md +81 -0
- package/skills/create-skill/SKILL.md +359 -0
- package/skills/create-skill/references/agent-conventions.md +194 -0
- package/skills/create-skill/references/agent-template.md +195 -0
- package/skills/create-skill/references/content-guidance.md +291 -0
- package/skills/create-skill/references/decision-framework.md +124 -0
- package/skills/create-skill/references/template-pipeline.md +217 -0
- package/skills/create-skill/references/template-reference-heavy.md +111 -0
- package/skills/create-skill/references/template-research.md +210 -0
- package/skills/create-skill/references/template-script-driven.md +172 -0
- package/skills/create-skill/references/template-simple.md +80 -0
- package/skills/create-subagent/SKILL.md +353 -0
- package/skills/create-subagent/references/agent-conventions.md +268 -0
- package/skills/create-subagent/references/content-guidance.md +232 -0
- package/skills/create-subagent/references/decision-framework.md +134 -0
- package/skills/create-subagent/references/template-single-agent.md +192 -0
- package/skills/fix-bug/SKILL.md +241 -0
- package/skills/governance-protocol/SKILL.md +116 -0
- package/skills/init/SKILL.md +341 -0
- package/skills/issue-debugging/SKILL.md +385 -0
- package/skills/issue-debugging/references/anti-patterns.md +245 -0
- package/skills/issue-debugging/references/debug-report-schema.md +227 -0
- package/skills/mock-detection/SKILL.md +511 -0
- package/skills/mock-detection/references/false-positive-prevention.md +402 -0
- package/skills/mock-detection/references/stub-patterns.md +236 -0
- package/skills/pipeline-templates/SKILL.md +215 -0
- package/skills/pipeline-templates/references/code-change-workflow.md +277 -0
- package/skills/pipeline-templates/references/code-review.md +336 -0
- package/skills/pipeline-templates/references/fix-validation.md +421 -0
- package/skills/pipeline-templates/references/new-feature.md +335 -0
- package/skills/pipeline-templates/references/research-brainstorm.md +161 -0
- package/skills/pipeline-templates/references/research-planning.md +257 -0
- package/skills/pipeline-templates/references/test-audit.md +389 -0
- package/skills/pipeline-templates/references/test-execution-fix.md +238 -0
- package/skills/plan-creation/SKILL.md +497 -0
- package/skills/product-ideation/SKILL.md +372 -0
- package/skills/product-ideation/references/analysis-frameworks.md +161 -0
- package/skills/session-handoff/SKILL.md +139 -0
- package/skills/session-handoff/references/examples.md +223 -0
- package/skills/setup-lsp/SKILL.md +312 -0
- package/skills/setup-lsp/references/server-registry.md +85 -0
- package/skills/setup-lsp/references/troubleshooting.md +135 -0
- package/skills/subagent-output-templating/SKILL.md +415 -0
- package/skills/subagent-output-templating/references/examples.md +440 -0
- package/skills/subagent-prompting/SKILL.md +364 -0
- package/skills/subagent-prompting/references/examples.md +342 -0
- package/skills/test-audit/SKILL.md +531 -0
- package/skills/test-audit/references/known-limitations.md +41 -0
- package/skills/test-audit/references/priority-classification.md +30 -0
- package/skills/test-audit/references/prompts/deep-mode-detection.md +83 -0
- package/skills/test-audit/references/prompts/synthesis.md +57 -0
- package/skills/test-audit/references/rewrite-instructions.md +46 -0
- package/skills/test-audit/references/schemas/audit-output.yaml +100 -0
- package/skills/test-audit/references/schemas/diagnostic-output.yaml +49 -0
- package/skills/test-audit/scripts/data-flow-analyzer.ts +509 -0
- package/skills/test-audit/scripts/integration-mock-detector.ts +462 -0
- package/skills/test-audit/scripts/package.json +20 -0
- package/skills/test-audit/scripts/skip-detector.ts +211 -0
- package/skills/test-audit/scripts/verification-counter.ts +295 -0
- package/skills/test-classification/SKILL.md +310 -0
- package/skills/test-fixture-creation/SKILL.md +295 -0
|
@@ -0,0 +1,372 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: product-ideation
|
|
3
|
+
description: Evaluates product ideas through a six-agent research pipeline producing BUY/HOLD/SELL recommendations backed by market analysis, competitive intelligence, and segment targeting. Use when assessing product viability, researching markets for new ideas, or deciding whether to pursue a product concept.
|
|
4
|
+
user-invocable: true
|
|
5
|
+
argument-hint: "<idea-description> | --doc <path-to-idea-file>"
|
|
6
|
+
skills:
|
|
7
|
+
- subagent-prompting
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Product Ideation
|
|
11
|
+
|
|
12
|
+
Evaluates a product idea through a structured six-agent research pipeline and delivers a BUY/HOLD/SELL recommendation. The orchestrator interviews the user to clarify the idea, then spawns dedicated sub-agents for validation, market research, competitive analysis, pattern documentation, segment analysis, and final strategy. All analysis is grounded in web research and structured frameworks.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## When to Use This Skill
|
|
17
|
+
|
|
18
|
+
**Load this skill when the user request matches ANY of these patterns:**
|
|
19
|
+
|
|
20
|
+
| Trigger Pattern | Example User Request |
|
|
21
|
+
|-----------------|----------------------|
|
|
22
|
+
| Idea evaluation | "Is this product idea worth pursuing?", "Evaluate my idea: X" |
|
|
23
|
+
| Market analysis | "Research the market for X", "Should I build X?" |
|
|
24
|
+
| Investment-style assessment | "Give me a BUY/HOLD/SELL on this idea", "Validate my product concept" |
|
|
25
|
+
| Pre-build research | "Before I start building X, help me understand the landscape" |
|
|
26
|
+
|
|
27
|
+
**DO NOT use for:**
|
|
28
|
+
- Evaluating existing live products or companies (use a financial analysis skill instead)
|
|
29
|
+
- Technical architecture decisions for an already-committed product (the idea stage has passed)
|
|
30
|
+
- Competitive analysis in isolation without a product idea as the anchor
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Dependencies
|
|
35
|
+
|
|
36
|
+
| Category | Files | Requirement | When to Load |
|
|
37
|
+
|----------|-------|-------------|--------------|
|
|
38
|
+
| **Analysis frameworks** | `references/analysis-frameworks.md` | **REQUIRED** | Include in sub-agent prompts at Stage 1+ |
|
|
39
|
+
| **Final report template** | `templates/final-report.md` | **REQUIRED** | Include in strategist sub-agent prompt |
|
|
40
|
+
| **Diagnostics schema** | `templates/diagnostic-output.yaml` | **REQUIRED** | Write at pipeline completion |
|
|
41
|
+
| **Prompting** | `subagent-prompting` skill | **REQUIRED** | Load before spawning any sub-agent |
|
|
42
|
+
| **Idea validator** | `.claude/agents/product-ideation-idea-validator.md` | **REQUIRED** | Spawned at Stage 1 (parallel) |
|
|
43
|
+
| **Market researcher** | `.claude/agents/product-ideation-market-researcher.md` | **REQUIRED** | Spawned at Stage 1 (parallel) |
|
|
44
|
+
| **Competitive analyzer** | `.claude/agents/product-ideation-competitive-analyzer.md` | **REQUIRED** | Spawned at Stage 2 (sequential) |
|
|
45
|
+
| **Pattern documenter** | `.claude/agents/product-ideation-pattern-documenter.md` | **REQUIRED** | Spawned at Stage 3 (parallel) |
|
|
46
|
+
| **Segment analyzer** | `.claude/agents/product-ideation-segment-analyzer.md` | **REQUIRED** | Spawned at Stage 3 (parallel) |
|
|
47
|
+
| **Strategist** | `.claude/agents/product-ideation-strategist.md` | **REQUIRED** | Spawned at Stage 4 (sequential) |
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Usage
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
/product-ideation <idea-description>
|
|
55
|
+
/product-ideation --doc <path-to-idea-file>
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**Arguments:**
|
|
59
|
+
- `<idea-description>` — Free-text description of the product idea
|
|
60
|
+
- `--doc <path>` — Path to a file containing the idea description
|
|
61
|
+
|
|
62
|
+
**Examples:**
|
|
63
|
+
- `/product-ideation a mobile app that lets freelancers track client payments with automated invoice reminders`
|
|
64
|
+
- `/product-ideation --doc plans/ideas/saas-invoicing-tool.md`
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Pre-Flight Gate (BLOCKING)
|
|
69
|
+
|
|
70
|
+
**STOP. Before ANY work, you MUST acknowledge what this skill requires.**
|
|
71
|
+
|
|
72
|
+
This skill uses a **six-agent pipeline with parallel and sequential stages**. You are the orchestrator. You coordinate, read outputs, and spawn agents — you do NOT perform their analysis yourself.
|
|
73
|
+
|
|
74
|
+
### What You MUST Do
|
|
75
|
+
|
|
76
|
+
1. Parse input and conduct a focused interview (Stage 0) — at most 2 AskUserQuestion rounds
|
|
77
|
+
2. Read `references/analysis-frameworks.md` and `templates/final-report.md` before spawning agents
|
|
78
|
+
3. Spawn Stage 1 agents (idea-validator AND market-researcher) in the same message as parallel Tasks
|
|
79
|
+
4. Wait for both Stage 1 agents to complete before spawning Stage 2
|
|
80
|
+
5. Spawn Stage 3 agents (pattern-documenter AND segment-analyzer) in the same message as parallel Tasks
|
|
81
|
+
6. Wait for all prior outputs before spawning the strategist
|
|
82
|
+
7. Read the final strategy report from `$PROJECT_DIR/logs/` and present its contents to the user
|
|
83
|
+
8. Write diagnostic YAML at completion
|
|
84
|
+
|
|
85
|
+
### What You MUST NOT Do
|
|
86
|
+
|
|
87
|
+
- Do NOT perform market research, validation, or competitive analysis yourself — spawn the agents
|
|
88
|
+
- Do NOT skip the interview — the idea must be clear before spawning agents
|
|
89
|
+
- Do NOT spawn agents with `run_in_background: true`
|
|
90
|
+
- Do NOT proceed past Stage 1 without confirming both parallel agents completed
|
|
91
|
+
- Do NOT return to user before the strategist has written its output to `$PROJECT_DIR/logs/`
|
|
92
|
+
|
|
93
|
+
**Anti-thought traps:**
|
|
94
|
+
- "I already know this market, I can skip the research agents" — STOP. Spawn the agents.
|
|
95
|
+
- "The idea is simple, I don't need to interview" — STOP. Conduct at least one AskUserQuestion round.
|
|
96
|
+
- "I can summarize the recommendation without reading the strategist output" — STOP. Read the log file.
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Pipeline
|
|
101
|
+
|
|
102
|
+
```fsharp
|
|
103
|
+
// product-ideation pipeline
|
|
104
|
+
Stage0_Interview(args)
|
|
105
|
+
|> [Stage1_IdeaValidator(idea), // product-ideation-idea-validator — feasibility + timing
|
|
106
|
+
Stage1_MarketResearcher(idea)] // product-ideation-market-researcher — market size + trends
|
|
107
|
+
|> Stage2_CompetitiveAnalyzer(market_research_output) // product-ideation-competitive-analyzer
|
|
108
|
+
|> [Stage3_PatternDocumenter(competitive_output), // product-ideation-pattern-documenter
|
|
109
|
+
Stage3_SegmentAnalyzer(competitive_output)] // product-ideation-segment-analyzer
|
|
110
|
+
|> Stage4_Strategist(all_outputs) // product-ideation-strategist — BUY/HOLD/SELL
|
|
111
|
+
|> Stage5_Diagnostics(pipeline_results)
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Stage Definitions
|
|
117
|
+
|
|
118
|
+
### Stage 0: Interview (Orchestrator)
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
Stage 0: Interview
|
|
122
|
+
├── Parse arguments:
|
|
123
|
+
│ ├── If --doc <path>: Read the file, extract idea description
|
|
124
|
+
│ └── If free-text: Use as idea description directly
|
|
125
|
+
├── Load references/analysis-frameworks.md
|
|
126
|
+
├── Load templates/final-report.md
|
|
127
|
+
├── AskUserQuestion (Round 1 — REQUIRED):
|
|
128
|
+
│ ├── Q1: What problem does this product solve, and for whom?
|
|
129
|
+
│ ├── Q2: What is your rough idea of the business model (subscription, one-time, marketplace, etc.)?
|
|
130
|
+
│ ├── Q3: Are there any specific markets or geographies to focus on?
|
|
131
|
+
│ └── Q4: Do you have any known competitors in mind, or is this a blank slate?
|
|
132
|
+
├── If answers are ambiguous or incomplete:
|
|
133
|
+
│ └── AskUserQuestion (Round 2 — CONDITIONAL, max 1 additional round):
|
|
134
|
+
│ └── Ask 1-2 targeted follow-ups based on gaps in Round 1 answers
|
|
135
|
+
├── Synthesize: Combine original idea + interview answers into a complete idea brief
|
|
136
|
+
└── Token budget check (warn if >20% consumed before agents start)
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
**Interview behavior**: Maximum 2 AskUserQuestion rounds. Present all Round 1 questions together. Do NOT ask questions one at a time.
|
|
140
|
+
|
|
141
|
+
### Stage 1: Parallel Batch 1 — Idea Validator + Market Researcher
|
|
142
|
+
|
|
143
|
+
Spawn both agents in the same message. Do NOT wait for one before spawning the other.
|
|
144
|
+
|
|
145
|
+
**Idea Validator prompt structure:**
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
GOAL: Assess whether the product idea has sufficient merit to warrant deep market research.
|
|
149
|
+
Evaluate technical feasibility, market timing, problem-solution fit, and uniqueness.
|
|
150
|
+
|
|
151
|
+
CONSTRAINTS:
|
|
152
|
+
- Use WebSearch to check for prior art and existing solutions
|
|
153
|
+
- Produce a clear PASS/CONDITIONAL/FAIL verdict with reasoning
|
|
154
|
+
- Write output to $PROJECT_DIR/logs/product-ideation-idea-validation-{YYYYMMDD-HHMMSS}.md
|
|
155
|
+
- Do not exceed 500 words in the main report
|
|
156
|
+
|
|
157
|
+
CONTEXT:
|
|
158
|
+
Idea brief: {synthesized idea brief from Stage 0}
|
|
159
|
+
Frameworks reference: {path to references/analysis-frameworks.md}
|
|
160
|
+
|
|
161
|
+
OUTPUT:
|
|
162
|
+
Write report to $PROJECT_DIR/logs/product-ideation-idea-validation-{YYYYMMDD-HHMMSS}.md
|
|
163
|
+
Return summary to orchestrator: verdict, top 3 strengths, top 3 concerns, report path
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Spawn: `Task(subagent_type="product-ideation-idea-validator", prompt=...)`
|
|
167
|
+
|
|
168
|
+
**Market Researcher prompt structure:**
|
|
169
|
+
|
|
170
|
+
```
|
|
171
|
+
GOAL: Research the market landscape for this product idea. Produce an evidence-based
|
|
172
|
+
assessment of market size, growth trajectory, key players, regulatory context, and
|
|
173
|
+
technology trends. Ground all claims in web research.
|
|
174
|
+
|
|
175
|
+
CONSTRAINTS:
|
|
176
|
+
- Use WebSearch and WebFetch extensively — minimum 5 distinct sources
|
|
177
|
+
- Quantify market size where possible (TAM, growth rate, CAGR)
|
|
178
|
+
- Note recency of data — prefer sources from 2023 or later
|
|
179
|
+
- Write output to $PROJECT_DIR/logs/product-ideation-market-research-{YYYYMMDD-HHMMSS}.md
|
|
180
|
+
|
|
181
|
+
CONTEXT:
|
|
182
|
+
Idea brief: {synthesized idea brief from Stage 0}
|
|
183
|
+
Frameworks reference: {path to references/analysis-frameworks.md} — use PESTLE and TAM/SAM/SOM
|
|
184
|
+
|
|
185
|
+
OUTPUT:
|
|
186
|
+
Write report to $PROJECT_DIR/logs/product-ideation-market-research-{YYYYMMDD-HHMMSS}.md
|
|
187
|
+
Return summary to orchestrator: market size estimate, growth trend, top 3 key players, report path
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
Spawn: `Task(subagent_type="product-ideation-market-researcher", prompt=...)`
|
|
191
|
+
|
|
192
|
+
After both agents return: verify both log files exist. If either is missing, re-spawn that agent once.
|
|
193
|
+
|
|
194
|
+
### Stage 2: Sequential — Competitive Analyzer
|
|
195
|
+
|
|
196
|
+
Read the market research log file path from Stage 1 output before constructing this prompt.
|
|
197
|
+
|
|
198
|
+
```
|
|
199
|
+
GOAL: Perform competitive intelligence analysis. Identify direct competitors, indirect
|
|
200
|
+
competitors, and failed competitors. Assess their positioning, pricing, strengths,
|
|
201
|
+
weaknesses, and the reasons for failure in failed cases.
|
|
202
|
+
|
|
203
|
+
CONSTRAINTS:
|
|
204
|
+
- Read market research output from: {market_research_log_path}
|
|
205
|
+
- Use WebSearch to discover competitors not mentioned in market research
|
|
206
|
+
- Include at least 3 direct competitors and 2 failed competitors
|
|
207
|
+
- Write output to $PROJECT_DIR/logs/product-ideation-competitive-analysis-{YYYYMMDD-HHMMSS}.md
|
|
208
|
+
|
|
209
|
+
CONTEXT:
|
|
210
|
+
Idea brief: {synthesized idea brief from Stage 0}
|
|
211
|
+
Market research: {market_research_log_path}
|
|
212
|
+
Frameworks reference: {path to references/analysis-frameworks.md} — use Porter's Five Forces
|
|
213
|
+
|
|
214
|
+
OUTPUT:
|
|
215
|
+
Write report to $PROJECT_DIR/logs/product-ideation-competitive-analysis-{YYYYMMDD-HHMMSS}.md
|
|
216
|
+
Return summary to orchestrator: top 3 competitors, market gap identified (yes/no), report path
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
Spawn: `Task(subagent_type="product-ideation-competitive-analyzer", prompt=...)`
|
|
220
|
+
|
|
221
|
+
### Stage 3: Parallel Batch 2 — Pattern Documenter + Segment Analyzer
|
|
222
|
+
|
|
223
|
+
Read the competitive analysis log file path from Stage 2 output before spawning. Spawn both agents in the same message.
|
|
224
|
+
|
|
225
|
+
**Pattern Documenter prompt structure:**
|
|
226
|
+
|
|
227
|
+
```
|
|
228
|
+
GOAL: Document success patterns and failure patterns from the competitive landscape.
|
|
229
|
+
Produce competitor profiles, identify opportunity gaps, and extract repeatable lessons.
|
|
230
|
+
|
|
231
|
+
CONSTRAINTS:
|
|
232
|
+
- Read competitive analysis from: {competitive_analysis_log_path}
|
|
233
|
+
- May use WebSearch to deepen understanding of specific competitor trajectories
|
|
234
|
+
- Document at least 3 success patterns and 3 failure patterns
|
|
235
|
+
- Write output to $PROJECT_DIR/logs/product-ideation-patterns-{YYYYMMDD-HHMMSS}.md
|
|
236
|
+
|
|
237
|
+
CONTEXT:
|
|
238
|
+
Idea brief: {synthesized idea brief from Stage 0}
|
|
239
|
+
Competitive analysis: {competitive_analysis_log_path}
|
|
240
|
+
Frameworks reference: {path to references/analysis-frameworks.md}
|
|
241
|
+
|
|
242
|
+
OUTPUT:
|
|
243
|
+
Write report to $PROJECT_DIR/logs/product-ideation-patterns-{YYYYMMDD-HHMMSS}.md
|
|
244
|
+
Return summary to orchestrator: top success pattern, top failure risk, biggest opportunity gap, report path
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
Spawn: `Task(subagent_type="product-ideation-pattern-documenter", prompt=...)`
|
|
248
|
+
|
|
249
|
+
**Segment Analyzer prompt structure:**
|
|
250
|
+
|
|
251
|
+
```
|
|
252
|
+
GOAL: Identify and profile target user segments for this product idea. Determine who
|
|
253
|
+
will buy it, why, at what price, and in what volume. Produce TAM/SAM/SOM estimates
|
|
254
|
+
and at least 2 detailed user personas.
|
|
255
|
+
|
|
256
|
+
CONSTRAINTS:
|
|
257
|
+
- Read competitive analysis from: {competitive_analysis_log_path}
|
|
258
|
+
- Use WebSearch to validate segment size claims
|
|
259
|
+
- Produce at least 2 distinct user personas with willingness-to-pay estimates
|
|
260
|
+
- Write output to $PROJECT_DIR/logs/product-ideation-segments-{YYYYMMDD-HHMMSS}.md
|
|
261
|
+
|
|
262
|
+
CONTEXT:
|
|
263
|
+
Idea brief: {synthesized idea brief from Stage 0}
|
|
264
|
+
Competitive analysis: {competitive_analysis_log_path}
|
|
265
|
+
Frameworks reference: {path to references/analysis-frameworks.md} — use Jobs-to-be-Done + TAM/SAM/SOM
|
|
266
|
+
|
|
267
|
+
OUTPUT:
|
|
268
|
+
Write report to $PROJECT_DIR/logs/product-ideation-segments-{YYYYMMDD-HHMMSS}.md
|
|
269
|
+
Return summary to orchestrator: primary segment, estimated TAM, top persona name, report path
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
Spawn: `Task(subagent_type="product-ideation-segment-analyzer", prompt=...)`
|
|
273
|
+
|
|
274
|
+
After both agents return: verify both log files exist.
|
|
275
|
+
|
|
276
|
+
### Stage 4: Sequential — Strategist
|
|
277
|
+
|
|
278
|
+
Read all four prior log file paths before constructing this prompt.
|
|
279
|
+
|
|
280
|
+
```
|
|
281
|
+
GOAL: Synthesize all research outputs into a definitive BUY/HOLD/SELL recommendation.
|
|
282
|
+
Produce the final report using the provided template. Support the recommendation with
|
|
283
|
+
confidence level, strategic rationale, risk factors, and next steps.
|
|
284
|
+
|
|
285
|
+
CONSTRAINTS:
|
|
286
|
+
- Read ALL of the following before writing:
|
|
287
|
+
{idea_validation_log_path}
|
|
288
|
+
{market_research_log_path}
|
|
289
|
+
{competitive_analysis_log_path}
|
|
290
|
+
{patterns_log_path}
|
|
291
|
+
{segments_log_path}
|
|
292
|
+
- Use the final-report template at: {path to templates/final-report.md}
|
|
293
|
+
- Recommendation MUST be exactly one of: BUY, HOLD, or SELL
|
|
294
|
+
- Confidence MUST be exactly one of: High, Medium, or Low
|
|
295
|
+
- Write output to $PROJECT_DIR/logs/product-ideation-strategy-{YYYYMMDD-HHMMSS}.md
|
|
296
|
+
|
|
297
|
+
CONTEXT:
|
|
298
|
+
Idea brief: {synthesized idea brief from Stage 0}
|
|
299
|
+
All prior outputs: see CONSTRAINTS for paths
|
|
300
|
+
BUY/HOLD/SELL criteria: {path to references/analysis-frameworks.md} — see Recommendation Thresholds section
|
|
301
|
+
Final report template: {path to templates/final-report.md}
|
|
302
|
+
|
|
303
|
+
OUTPUT:
|
|
304
|
+
Write final report to $PROJECT_DIR/logs/product-ideation-strategy-{YYYYMMDD-HHMMSS}.md
|
|
305
|
+
Return summary to orchestrator: recommendation, confidence level, one-sentence rationale, report path
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
Spawn: `Task(subagent_type="product-ideation-strategist", prompt=...)`
|
|
309
|
+
|
|
310
|
+
After agent returns: read the full strategy report from the log path. Present its contents to the user verbatim (do not summarize — this is the deliverable).
|
|
311
|
+
|
|
312
|
+
### Stage 5: Diagnostics (REQUIRED)
|
|
313
|
+
|
|
314
|
+
**MANDATORY**: Write diagnostic YAML after every invocation. Cannot be skipped.
|
|
315
|
+
|
|
316
|
+
```
|
|
317
|
+
Write to: $PROJECT_DIR/logs/diagnostics/product-ideation-{YYYYMMDD-HHMMSS}.yaml
|
|
318
|
+
Use schema from: templates/diagnostic-output.yaml
|
|
319
|
+
|
|
320
|
+
Include:
|
|
321
|
+
- Input type and value
|
|
322
|
+
- Interview rounds conducted
|
|
323
|
+
- Each pipeline stage: success | failed | skipped
|
|
324
|
+
- Final recommendation and confidence
|
|
325
|
+
- All log file paths
|
|
326
|
+
- Outcome: success | partial | failure
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
## Error Handling
|
|
332
|
+
|
|
333
|
+
| Scenario | Action |
|
|
334
|
+
|----------|--------|
|
|
335
|
+
| Agent returns empty output | Re-spawn once with reinforced instructions. If still empty, mark stage as failed in diagnostics, skip to next stage. |
|
|
336
|
+
| Idea validation returns FAIL | Present the FAIL verdict to user. AskUserQuestion: "The idea validator flagged significant concerns. Proceed anyway, or refine the idea?" |
|
|
337
|
+
| Market researcher finds no data | Note data gap in final report. Strategist must lower confidence to Low if market size cannot be estimated. |
|
|
338
|
+
| Both Stage 1 agents fail | STOP. Inform user: "Research pipeline failed at Stage 1. Please retry with a more specific idea description." |
|
|
339
|
+
| Log file missing after agent completes | Glob for similar filenames in `$PROJECT_DIR/logs/`. If found, use it. If not, re-spawn agent. |
|
|
340
|
+
| Token budget >60% at Stage 3 | Warn user. Spawn agents sequentially instead of in parallel to conserve context. |
|
|
341
|
+
| Token budget >80% at any point | Stop at current stage. Present partial output with explanation. Write diagnostics noting partial completion. |
|
|
342
|
+
|
|
343
|
+
---
|
|
344
|
+
|
|
345
|
+
## Token Budget Management
|
|
346
|
+
|
|
347
|
+
| Checkpoint | Threshold | Action |
|
|
348
|
+
|------------|-----------|--------|
|
|
349
|
+
| After Stage 0 interview | >20% consumed | Warn: "Significant context used in interview. Pipeline will consume more." |
|
|
350
|
+
| After Stage 1 (parallel) | >45% consumed | Warn: "Approaching mid-budget. Consider running Stage 3 sequentially." |
|
|
351
|
+
| After Stage 2 | >60% consumed | Warn: "Context budget constrained. Spawning Stage 3 sequentially." |
|
|
352
|
+
| After Stage 3 | >75% consumed | Warn: "Low budget. Strategist prompt will be minimal." |
|
|
353
|
+
|
|
354
|
+
---
|
|
355
|
+
|
|
356
|
+
## Completion Checklist
|
|
357
|
+
|
|
358
|
+
**IMPORTANT**: Before returning to user, verify ALL items are complete:
|
|
359
|
+
|
|
360
|
+
- [ ] Stage 0: Arguments parsed (description or --doc)
|
|
361
|
+
- [ ] Stage 0: references/analysis-frameworks.md loaded
|
|
362
|
+
- [ ] Stage 0: templates/final-report.md loaded
|
|
363
|
+
- [ ] Stage 0: AskUserQuestion interview conducted (1-2 rounds)
|
|
364
|
+
- [ ] Stage 0: Synthesized idea brief produced
|
|
365
|
+
- [ ] Stage 1: idea-validator spawned and output verified in `$PROJECT_DIR/logs/`
|
|
366
|
+
- [ ] Stage 1: market-researcher spawned and output verified in `$PROJECT_DIR/logs/`
|
|
367
|
+
- [ ] Stage 2: competitive-analyzer spawned and output verified in `$PROJECT_DIR/logs/`
|
|
368
|
+
- [ ] Stage 3: pattern-documenter spawned and output verified in `$PROJECT_DIR/logs/`
|
|
369
|
+
- [ ] Stage 3: segment-analyzer spawned and output verified in `$PROJECT_DIR/logs/`
|
|
370
|
+
- [ ] Stage 4: strategist spawned and output verified in `$PROJECT_DIR/logs/`
|
|
371
|
+
- [ ] Stage 4: Final report contents read from `$PROJECT_DIR/logs/` and presented to user
|
|
372
|
+
- [ ] Stage 5: Diagnostic YAML written to `$PROJECT_DIR/logs/diagnostics/`
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# Analysis Frameworks Reference
|
|
2
|
+
|
|
3
|
+
This file provides the analytical frameworks used by product-ideation sub-agents. Each agent's prompt specifies which sections to apply.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. PESTLE Analysis
|
|
8
|
+
|
|
9
|
+
Use for: market-researcher, competitive-analyzer
|
|
10
|
+
|
|
11
|
+
PESTLE identifies macro-environmental forces that shape market conditions.
|
|
12
|
+
|
|
13
|
+
| Factor | Questions to Answer |
|
|
14
|
+
|--------|---------------------|
|
|
15
|
+
| **Political** | Relevant regulations, government policy direction, trade restrictions, stability of operating regions |
|
|
16
|
+
| **Economic** | Market size, GDP trends, consumer spending power, inflation impact, funding climate (VC activity) |
|
|
17
|
+
| **Social** | Demographics of target users, cultural adoption patterns, behavioral shifts, trust in the category |
|
|
18
|
+
| **Technological** | Enabling technologies (AI, APIs, platforms), infrastructure maturity, technology adoption curve |
|
|
19
|
+
| **Legal** | Data privacy laws (GDPR, CCPA), IP landscape, licensing requirements, liability exposure |
|
|
20
|
+
| **Environmental** | Sustainability expectations, supply chain concerns, carbon footprint considerations |
|
|
21
|
+
|
|
22
|
+
**Application**: Flag any PESTLE factor that is a significant enabler or blocker. Enablers support a BUY signal; blockers shift toward HOLD or SELL.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 2. Porter's Five Forces
|
|
27
|
+
|
|
28
|
+
Use for: competitive-analyzer
|
|
29
|
+
|
|
30
|
+
Porter's Five Forces assesses the structural attractiveness of an industry.
|
|
31
|
+
|
|
32
|
+
| Force | What to Assess | Signal |
|
|
33
|
+
|-------|---------------|--------|
|
|
34
|
+
| **Threat of New Entrants** | Capital requirements, brand moat, switching costs, regulatory barriers | High threat = harder to win |
|
|
35
|
+
| **Bargaining Power of Suppliers** | Dependency on key vendors (cloud, APIs, data), concentration of supply | High power = margin pressure |
|
|
36
|
+
| **Bargaining Power of Buyers** | Customer concentration, price sensitivity, ease of switching | High power = pricing difficulty |
|
|
37
|
+
| **Threat of Substitutes** | Adjacent solutions, DIY alternatives, workarounds | High threat = limited pricing |
|
|
38
|
+
| **Competitive Rivalry** | Number of direct competitors, differentiation, growth rate of market | High rivalry = costly to win |
|
|
39
|
+
|
|
40
|
+
**Scoring**: Rate each force as Low / Medium / High. Aggregate: 0-1 High = attractive, 2-3 High = mixed, 4-5 High = unattractive.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## 3. TAM / SAM / SOM Estimation
|
|
45
|
+
|
|
46
|
+
Use for: market-researcher, segment-analyzer
|
|
47
|
+
|
|
48
|
+
| Term | Definition | How to Estimate |
|
|
49
|
+
|------|-----------|-----------------|
|
|
50
|
+
| **TAM** (Total Addressable Market) | Everyone who could theoretically use this type of product | Industry reports, population × usage rate, or comparable market data |
|
|
51
|
+
| **SAM** (Serviceable Addressable Market) | Subset reachable with your specific model, geography, and segment | TAM × (target geography %) × (target segment %) |
|
|
52
|
+
| **SOM** (Serviceable Obtainable Market) | Realistic capture in years 1-3 given competition and go-to-market | SAM × (realistic market share %) — typically 0.5-5% for new entrants |
|
|
53
|
+
|
|
54
|
+
**Guidance:**
|
|
55
|
+
- Use top-down (industry report → narrow) AND bottom-up (unit count × price) where possible
|
|
56
|
+
- Cite sources with recency (prefer 2023+)
|
|
57
|
+
- If TAM < $500M, flag as niche — consider whether that is a strength (defensible) or weakness (ceiling)
|
|
58
|
+
- If TAM > $50B, flag market crowding risk — large markets attract well-funded competitors
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## 4. SWOT Analysis Template
|
|
63
|
+
|
|
64
|
+
Use for: idea-validator, strategist
|
|
65
|
+
|
|
66
|
+
| Quadrant | Internal | External |
|
|
67
|
+
|----------|----------|----------|
|
|
68
|
+
| **Positive** | Strengths (what the idea has going for it) | Opportunities (market conditions that favor it) |
|
|
69
|
+
| **Negative** | Weaknesses (gaps, risks, resource needs) | Threats (competitors, regulations, trends working against it) |
|
|
70
|
+
|
|
71
|
+
**Application**: The strategist uses SWOT as a synthesis lens to validate the BUY/HOLD/SELL recommendation. At least 2 items per quadrant.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## 5. Jobs-to-be-Done (JTBD) Framework
|
|
76
|
+
|
|
77
|
+
Use for: segment-analyzer
|
|
78
|
+
|
|
79
|
+
JTBD focuses on the functional, social, and emotional jobs users hire a product to do.
|
|
80
|
+
|
|
81
|
+
**Three job types:**
|
|
82
|
+
|
|
83
|
+
| Type | Definition | Example |
|
|
84
|
+
|------|-----------|---------|
|
|
85
|
+
| **Functional** | The practical task to accomplish | "Track client invoices without spreadsheets" |
|
|
86
|
+
| **Social** | How the user wants to be perceived | "Look professional to clients" |
|
|
87
|
+
| **Emotional** | How the user wants to feel | "Feel in control of my cash flow" |
|
|
88
|
+
|
|
89
|
+
**Persona structure** (produce at minimum 2 personas):
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
Persona name: {descriptive name, not a real name}
|
|
93
|
+
Role / context: {who this person is and their situation}
|
|
94
|
+
Primary JTBD (functional): {the core job}
|
|
95
|
+
Primary JTBD (emotional): {the emotional driver}
|
|
96
|
+
Current solution: {what they use today — this is the real competitor}
|
|
97
|
+
Switching trigger: {what would make them switch}
|
|
98
|
+
Willingness to pay: {estimated price range per month or per use}
|
|
99
|
+
Segment size estimate: {rough count within SAM}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## 6. BUY / HOLD / SELL Recommendation Thresholds
|
|
105
|
+
|
|
106
|
+
Use for: strategist
|
|
107
|
+
|
|
108
|
+
Apply these criteria as a weighted scoring guide, not a rigid checklist. Judgment is required.
|
|
109
|
+
|
|
110
|
+
### BUY — Strong Opportunity
|
|
111
|
+
|
|
112
|
+
All three gates must clear, plus at least 4 of the 6 amplifiers:
|
|
113
|
+
|
|
114
|
+
**Gates (all required):**
|
|
115
|
+
- Market size: TAM >= $1B OR SAM >= $100M with defensible niche
|
|
116
|
+
- Competitive gap: Identifiable unmet need not served by top 3 competitors
|
|
117
|
+
- Timing: Technology or behavioral shift actively enabling this category now
|
|
118
|
+
|
|
119
|
+
**Amplifiers (4 of 6):**
|
|
120
|
+
- Idea validation verdict: PASS
|
|
121
|
+
- Porter's Five Forces aggregate: 0-2 High forces (attractive industry)
|
|
122
|
+
- PESTLE blockers: 0-1 significant blocker
|
|
123
|
+
- Willingness to pay: At least 1 segment with clear WTP above likely cost basis
|
|
124
|
+
- Pattern evidence: At least 2 documented success patterns apply to this idea
|
|
125
|
+
- Failed competitor lesson: Primary failure reasons are avoidable by this approach
|
|
126
|
+
|
|
127
|
+
### HOLD — Needs Refinement
|
|
128
|
+
|
|
129
|
+
Use HOLD when there is genuine merit but material concerns exist:
|
|
130
|
+
|
|
131
|
+
- Idea validation: CONDITIONAL (merit present but concerns noted)
|
|
132
|
+
- Market exists but gap is not clearly differentiated — needs pivot or sharper focus
|
|
133
|
+
- 2-3 significant PESTLE blockers that are addressable with more planning
|
|
134
|
+
- Timing is early (technology not yet mature) or late (market is consolidating)
|
|
135
|
+
- TAM is attractive but top competitors are very well-funded (>$100M raised)
|
|
136
|
+
|
|
137
|
+
HOLD output must include: what specific changes would shift this to BUY, and a recommended re-evaluation horizon (e.g., "revisit in 6 months when X matures").
|
|
138
|
+
|
|
139
|
+
### SELL — Pass on This Idea
|
|
140
|
+
|
|
141
|
+
Recommend SELL when evidence shows the idea is not viable in its current form:
|
|
142
|
+
|
|
143
|
+
- Idea validation: FAIL (fundamental feasibility or uniqueness problem)
|
|
144
|
+
- Market is saturated: 5+ funded competitors with no clear differentiation path
|
|
145
|
+
- PESTLE: 2+ insurmountable blockers (e.g., pending regulation that bans the model)
|
|
146
|
+
- TAM < $200M AND no evidence of a defensible niche
|
|
147
|
+
- Failed competitor graveyard: Many attempts with similar approaches have all failed for structural reasons
|
|
148
|
+
|
|
149
|
+
SELL output must include: primary reasons and, where possible, alternative opportunity areas adjacent to this space.
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## 7. Confidence Level Definitions
|
|
154
|
+
|
|
155
|
+
Use for: strategist
|
|
156
|
+
|
|
157
|
+
| Level | Criteria |
|
|
158
|
+
|-------|----------|
|
|
159
|
+
| **High** | Market data is current and quantified; 5+ competitors profiled; 2+ validated user segments; all pipeline agents completed successfully |
|
|
160
|
+
| **Medium** | Some data gaps; market size estimated rather than sourced; fewer than 5 competitors; 1 validated segment |
|
|
161
|
+
| **Low** | Significant data gaps; market size speculative; competitive landscape thin; 1 or more pipeline stages failed or returned partial output |
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: session-handoff
|
|
3
|
+
description: Create consistent session handoff documents for context transfer between sessions. Use when closing a session, reaching 75% token consumption, or when user requests handoff. Ensures proper YAML headers for metrics collection, LF line endings, and complete documentation of progress, decisions, and next steps.
|
|
4
|
+
user-invocable: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Session Handoff
|
|
8
|
+
|
|
9
|
+
Create handoff documents that enable seamless context transfer between sessions.
|
|
10
|
+
|
|
11
|
+
## Critical Requirements
|
|
12
|
+
|
|
13
|
+
### Line Endings
|
|
14
|
+
|
|
15
|
+
Use LF (Unix) line endings only. Never CRLF.
|
|
16
|
+
- Use the Write tool directly (handles line endings correctly)
|
|
17
|
+
- Never copy-paste from Windows clipboard
|
|
18
|
+
- If you see `^M` characters, rewrite the file
|
|
19
|
+
|
|
20
|
+
### File Naming
|
|
21
|
+
|
|
22
|
+
**Pattern**: `sessions/session_{N}_{YYYYMMDD}.md`
|
|
23
|
+
|
|
24
|
+
- `{N}`: Session number (integer, no leading zeros)
|
|
25
|
+
- `{YYYYMMDD}`: Date without separators
|
|
26
|
+
|
|
27
|
+
Examples: `session_5_20260104.md` (correct), `session_05_20260104.md` (wrong)
|
|
28
|
+
|
|
29
|
+
## Handoff Template
|
|
30
|
+
|
|
31
|
+
````markdown
|
|
32
|
+
# Session {N} Handoff
|
|
33
|
+
|
|
34
|
+
```yaml
|
|
35
|
+
session: {N}
|
|
36
|
+
date: {YYYY-MM-DD}
|
|
37
|
+
phase: "P{X} - {Phase Name}"
|
|
38
|
+
task: "P{X}.{Y} - {Task Name}"
|
|
39
|
+
status: {completed | in_progress | blocked}
|
|
40
|
+
tokens_end: "~{X}K ({Y}%)"
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Session Summary
|
|
46
|
+
|
|
47
|
+
{2-3 sentences on outcomes, not process. What was achieved?}
|
|
48
|
+
|
|
49
|
+
## What Was Accomplished
|
|
50
|
+
|
|
51
|
+
- [x] {Completed item with file path}
|
|
52
|
+
- [x] {Completed item with file path}
|
|
53
|
+
- [ ] {Incomplete item - carried forward}
|
|
54
|
+
|
|
55
|
+
## Files Created/Modified
|
|
56
|
+
|
|
57
|
+
| File | Action | Lines | Purpose |
|
|
58
|
+
|------|--------|-------|---------|
|
|
59
|
+
| {path} | Created | ~{N} | {Brief description} |
|
|
60
|
+
| {path} | Modified | +{N}/-{M} | {What changed} |
|
|
61
|
+
|
|
62
|
+
## Verification Status
|
|
63
|
+
|
|
64
|
+
| Check | Status | Notes |
|
|
65
|
+
|-------|--------|-------|
|
|
66
|
+
| Typecheck | {Pass/Fail/Skipped} | |
|
|
67
|
+
| Lint | {Pass/Fail/Skipped} | |
|
|
68
|
+
| Tests | {Pass/Fail/Skipped} | {X/Y if applicable} |
|
|
69
|
+
|
|
70
|
+
## Technical Decisions
|
|
71
|
+
|
|
72
|
+
### {Decision Title}
|
|
73
|
+
- **Decision**: {What was decided}
|
|
74
|
+
- **Rationale**: {Why}
|
|
75
|
+
- **Impact**: {What it affects}
|
|
76
|
+
|
|
77
|
+
## What's Next
|
|
78
|
+
|
|
79
|
+
1. {Specific actionable step}
|
|
80
|
+
2. {Next step}
|
|
81
|
+
|
|
82
|
+
## Blockers / Issues
|
|
83
|
+
|
|
84
|
+
{List blockers or "None"}
|
|
85
|
+
|
|
86
|
+
## Learnings
|
|
87
|
+
|
|
88
|
+
{Patterns discovered or "None"}
|
|
89
|
+
````
|
|
90
|
+
|
|
91
|
+
## Section Guidelines
|
|
92
|
+
|
|
93
|
+
### YAML Header (Required)
|
|
94
|
+
|
|
95
|
+
The YAML header enables metrics collection. All fields required:
|
|
96
|
+
|
|
97
|
+
| Field | Format | Example |
|
|
98
|
+
|-------|--------|---------|
|
|
99
|
+
| session | Integer | `session: 5` |
|
|
100
|
+
| date | YYYY-MM-DD | `date: 2026-01-04` |
|
|
101
|
+
| phase | Quoted string | `phase: "P1 - Foundation"` |
|
|
102
|
+
| task | Quoted string | `task: "P1.2 - Test Auditor"` |
|
|
103
|
+
| status | Enum | `status: completed` |
|
|
104
|
+
| tokens_end | Quoted string | `tokens_end: "~95K (48%)"` |
|
|
105
|
+
|
|
106
|
+
### Session Summary
|
|
107
|
+
|
|
108
|
+
Focus on **outcomes** not process. What was delivered?
|
|
109
|
+
|
|
110
|
+
Good: "Completed session-handoff skill with CRLF handling. Ready for use."
|
|
111
|
+
Bad: "I started by reading files, then thought about structure, then wrote..."
|
|
112
|
+
|
|
113
|
+
### What Was Accomplished
|
|
114
|
+
|
|
115
|
+
- Use `[x]` for complete, `[ ]` for incomplete
|
|
116
|
+
- Include file paths
|
|
117
|
+
- Be specific
|
|
118
|
+
|
|
119
|
+
### Technical Decisions
|
|
120
|
+
|
|
121
|
+
Document decisions that affect future work. Include rationale so future sessions understand WHY. Skip if no significant decisions.
|
|
122
|
+
|
|
123
|
+
### Blockers / Learnings
|
|
124
|
+
|
|
125
|
+
Always include these sections. Write "None" if empty - don't omit.
|
|
126
|
+
|
|
127
|
+
## Quick Checklist
|
|
128
|
+
|
|
129
|
+
Before finalizing:
|
|
130
|
+
|
|
131
|
+
- [ ] File named `session_{N}_{YYYYMMDD}.md`
|
|
132
|
+
- [ ] YAML header complete and valid
|
|
133
|
+
- [ ] All sections present (even if "None")
|
|
134
|
+
- [ ] Next steps are specific and actionable
|
|
135
|
+
- [ ] No CRLF line endings
|
|
136
|
+
|
|
137
|
+
## Examples
|
|
138
|
+
|
|
139
|
+
For detailed examples of completed and in-progress handoffs, see [references/examples.md](references/examples.md).
|