codebyplan 1.5.1 → 1.8.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 (205) hide show
  1. package/dist/cli.js +4462 -748
  2. package/package.json +5 -1
  3. package/templates/.gitkeep +0 -0
  4. package/templates/README.md +20 -0
  5. package/templates/agents/cbp-cc-executor.md +213 -0
  6. package/templates/agents/cbp-database-agent.md +229 -0
  7. package/templates/agents/cbp-improve-claude.md +245 -0
  8. package/templates/agents/cbp-improve-round.md +284 -0
  9. package/templates/agents/cbp-mechanical-edits.md +111 -0
  10. package/templates/agents/cbp-research.md +282 -0
  11. package/templates/agents/cbp-round-executor.md +604 -0
  12. package/templates/agents/cbp-security-agent.md +134 -0
  13. package/templates/agents/cbp-task-check.md +213 -0
  14. package/templates/agents/cbp-task-planner.md +582 -0
  15. package/templates/agents/cbp-test-e2e-agent.md +363 -0
  16. package/templates/agents/cbp-testing-qa-agent.md +400 -0
  17. package/templates/context/mcp-docs.md +139 -0
  18. package/templates/hooks/README.md +236 -0
  19. package/templates/hooks/cbp-auto-test-hooks.sh +44 -0
  20. package/templates/hooks/cbp-lint-format-on-edit.sh +159 -0
  21. package/templates/hooks/cbp-maestro-yaml-validate.sh +100 -0
  22. package/templates/hooks/cbp-mcp-migration-guard.sh +32 -0
  23. package/templates/hooks/cbp-mcp-round-sync.sh +79 -0
  24. package/templates/hooks/cbp-mcp-worktree-inject.sh +76 -0
  25. package/templates/hooks/cbp-notify.sh +68 -0
  26. package/templates/hooks/cbp-plugin-dispatch.sh +29 -0
  27. package/templates/hooks/cbp-pre-commit-quality-gate.sh +204 -0
  28. package/templates/hooks/cbp-statusline.sh +347 -0
  29. package/templates/hooks/cbp-subagent-statusline.sh +182 -0
  30. package/templates/hooks/cbp-test-coverage-gate.sh +144 -0
  31. package/templates/hooks/cbp-test-hooks.sh +320 -0
  32. package/templates/hooks/hooks.json +85 -0
  33. package/templates/hooks/validate-context-usage.sh +59 -0
  34. package/templates/hooks/validate-git-commit.sh +78 -0
  35. package/templates/hooks/validate-git-stash-deny.sh +32 -0
  36. package/templates/hooks/validate-structure-lengths.sh +57 -0
  37. package/templates/hooks/validate-structure-lib.sh +104 -0
  38. package/templates/hooks/validate-structure-patterns.sh +54 -0
  39. package/templates/hooks/validate-structure-scope.sh +33 -0
  40. package/templates/hooks/validate-structure-smoke.sh +95 -0
  41. package/templates/hooks/validate-structure-templates.sh +34 -0
  42. package/templates/hooks/validate-structure.sh +69 -0
  43. package/templates/rules/.gitkeep +0 -0
  44. package/templates/rules/README.md +47 -0
  45. package/templates/rules/context-file-loading.md +52 -0
  46. package/templates/rules/scope-vocabulary.md +64 -0
  47. package/templates/rules/todo-backend.md +109 -0
  48. package/templates/settings.project.base.json +55 -0
  49. package/templates/settings.user.base.json +25 -0
  50. package/templates/skills/cbp-build-cc-agent/SKILL.md +139 -0
  51. package/templates/skills/cbp-build-cc-agent/examples/read-only-reviewer.md +32 -0
  52. package/templates/skills/cbp-build-cc-agent/examples/with-hooks.md +41 -0
  53. package/templates/skills/cbp-build-cc-agent/examples/with-skills-preload.md +25 -0
  54. package/templates/skills/cbp-build-cc-agent/reference/cbp-quality.md +153 -0
  55. package/templates/skills/cbp-build-cc-agent/reference/frontmatter-fields.md +37 -0
  56. package/templates/skills/cbp-build-cc-agent/reference/permission-modes.md +18 -0
  57. package/templates/skills/cbp-build-cc-agent/scripts/validate-agent.sh +67 -0
  58. package/templates/skills/cbp-build-cc-agent/templates/agent.md +66 -0
  59. package/templates/skills/cbp-build-cc-claude-file/SKILL.md +178 -0
  60. package/templates/skills/cbp-build-cc-claude-file/examples/minimal-project.md +33 -0
  61. package/templates/skills/cbp-build-cc-claude-file/examples/monorepo-with-imports.md +39 -0
  62. package/templates/skills/cbp-build-cc-claude-file/reference/imports.md +72 -0
  63. package/templates/skills/cbp-build-cc-claude-file/reference/what-belongs.md +39 -0
  64. package/templates/skills/cbp-build-cc-claude-file/templates/project-claude-md.md +48 -0
  65. package/templates/skills/cbp-build-cc-claude-file/templates/user-claude-md.md +22 -0
  66. package/templates/skills/cbp-build-cc-memory/SKILL.md +201 -0
  67. package/templates/skills/cbp-build-cc-memory/examples/feedback-memory.md +11 -0
  68. package/templates/skills/cbp-build-cc-memory/examples/project-memory.md +11 -0
  69. package/templates/skills/cbp-build-cc-memory/examples/reference-memory.md +13 -0
  70. package/templates/skills/cbp-build-cc-memory/examples/user-memory.md +14 -0
  71. package/templates/skills/cbp-build-cc-memory/reference/memory-types.md +59 -0
  72. package/templates/skills/cbp-build-cc-memory/reference/when-to-save.md +62 -0
  73. package/templates/skills/cbp-build-cc-memory/templates/MEMORY-index.md +4 -0
  74. package/templates/skills/cbp-build-cc-memory/templates/memory-entry.md +15 -0
  75. package/templates/skills/cbp-build-cc-mode/SKILL.md +99 -0
  76. package/templates/skills/cbp-build-cc-rule/SKILL.md +176 -0
  77. package/templates/skills/cbp-build-cc-rule/examples/global-rule.md +19 -0
  78. package/templates/skills/cbp-build-cc-rule/examples/scoped-rule.md +41 -0
  79. package/templates/skills/cbp-build-cc-rule/reference/paths-patterns.md +48 -0
  80. package/templates/skills/cbp-build-cc-rule/templates/rule.md +32 -0
  81. package/templates/skills/cbp-build-cc-settings/SKILL.md +220 -0
  82. package/templates/skills/cbp-build-cc-settings/examples/hooks-config.json +64 -0
  83. package/templates/skills/cbp-build-cc-settings/examples/permissions-config.json +34 -0
  84. package/templates/skills/cbp-build-cc-settings/examples/sandbox-config.json +42 -0
  85. package/templates/skills/cbp-build-cc-settings/reference/cbp-conventions.md +104 -0
  86. package/templates/skills/cbp-build-cc-settings/reference/permission-rules.md +61 -0
  87. package/templates/skills/cbp-build-cc-settings/reference/scope-precedence.md +73 -0
  88. package/templates/skills/cbp-build-cc-settings/reference/settings-fields.md +166 -0
  89. package/templates/skills/cbp-build-cc-settings/templates/settings.json +23 -0
  90. package/templates/skills/cbp-build-cc-settings/templates/settings.local.json +10 -0
  91. package/templates/skills/cbp-build-cc-skill/SKILL.md +154 -0
  92. package/templates/skills/cbp-build-cc-skill/examples/dynamic-context.md +31 -0
  93. package/templates/skills/cbp-build-cc-skill/examples/fork-skill.md +22 -0
  94. package/templates/skills/cbp-build-cc-skill/examples/knowledge-skill.md +25 -0
  95. package/templates/skills/cbp-build-cc-skill/examples/task-skill.md +29 -0
  96. package/templates/skills/cbp-build-cc-skill/reference/cbp-quality.md +157 -0
  97. package/templates/skills/cbp-build-cc-skill/reference/frontmatter-fields.md +35 -0
  98. package/templates/skills/cbp-build-cc-skill/reference/string-substitutions.md +60 -0
  99. package/templates/skills/cbp-build-cc-skill/scripts/validate-skill.sh +90 -0
  100. package/templates/skills/cbp-build-cc-skill/templates/skill.md +51 -0
  101. package/templates/skills/cbp-checkpoint-check/SKILL.md +156 -0
  102. package/templates/skills/cbp-checkpoint-complete/SKILL.md +109 -0
  103. package/templates/skills/cbp-checkpoint-create/SKILL.md +287 -0
  104. package/templates/skills/cbp-checkpoint-end/SKILL.md +241 -0
  105. package/templates/skills/cbp-checkpoint-update/SKILL.md +115 -0
  106. package/templates/skills/cbp-frontend-a11y/SKILL.md +109 -0
  107. package/templates/skills/cbp-frontend-a11y/reference/aria-roles-states.md +130 -0
  108. package/templates/skills/cbp-frontend-a11y/reference/contrast-visual.md +122 -0
  109. package/templates/skills/cbp-frontend-a11y/reference/keyboard-patterns.md +154 -0
  110. package/templates/skills/cbp-frontend-a11y/reference/semantic-html.md +111 -0
  111. package/templates/skills/cbp-frontend-design/SKILL.md +145 -0
  112. package/templates/skills/cbp-frontend-design/reference/nextjs-scss.md +118 -0
  113. package/templates/skills/cbp-frontend-design/reference/rn-expo.md +101 -0
  114. package/templates/skills/cbp-frontend-design/reference/tauri-react.md +82 -0
  115. package/templates/skills/cbp-frontend-ui/SKILL.md +262 -0
  116. package/templates/skills/cbp-frontend-ui/reference/ui-label-maps.md +42 -0
  117. package/templates/skills/cbp-frontend-ui/reference/ui-layout-patterns.md +105 -0
  118. package/templates/skills/cbp-frontend-ui/reference/variant-defaults.md +149 -0
  119. package/templates/skills/cbp-frontend-ux/SKILL.md +181 -0
  120. package/templates/skills/cbp-git-branch-feat-create/SKILL.md +115 -0
  121. package/templates/skills/cbp-git-commit/SKILL.md +278 -0
  122. package/templates/skills/cbp-git-worktree-create/SKILL.md +226 -0
  123. package/templates/skills/cbp-git-worktree-remove/SKILL.md +145 -0
  124. package/templates/skills/cbp-merge-main/SKILL.md +228 -0
  125. package/templates/skills/cbp-round-check/SKILL.md +104 -0
  126. package/templates/skills/cbp-round-end/SKILL.md +183 -0
  127. package/templates/skills/cbp-round-end/reference/findings-presentation.md +44 -0
  128. package/templates/skills/cbp-round-end/reference/inline-fallback.md +35 -0
  129. package/templates/skills/cbp-round-execute/SKILL.md +211 -0
  130. package/templates/skills/cbp-round-execute/reference/inline-fallback.md +59 -0
  131. package/templates/skills/cbp-round-input/SKILL.md +165 -0
  132. package/templates/skills/cbp-round-start/SKILL.md +222 -0
  133. package/templates/skills/cbp-round-update/SKILL.md +163 -0
  134. package/templates/skills/cbp-session-end/SKILL.md +187 -0
  135. package/templates/skills/cbp-session-start/SKILL.md +155 -0
  136. package/templates/skills/cbp-ship/SKILL.md +332 -0
  137. package/templates/skills/cbp-ship/reference/changesets-overview.md +120 -0
  138. package/templates/skills/cbp-ship/reference/eas-cli-overview.md +60 -0
  139. package/templates/skills/cbp-ship/reference/gh-cli-overview.md +135 -0
  140. package/templates/skills/cbp-ship/reference/gh-cli-shipment-commands.md +283 -0
  141. package/templates/skills/cbp-ship/reference/npm-publish-monorepo.md +252 -0
  142. package/templates/skills/cbp-ship/reference/npm-publish-oidc-trusted.md +157 -0
  143. package/templates/skills/cbp-ship/reference/npm-publish-overview.md +171 -0
  144. package/templates/skills/cbp-ship/reference/preflight-checklist.md +88 -0
  145. package/templates/skills/cbp-ship/reference/railway-nestjs-deployment.md +169 -0
  146. package/templates/skills/cbp-ship/reference/railway-overview.md +120 -0
  147. package/templates/skills/cbp-ship/reference/railway-troubleshooting.md +168 -0
  148. package/templates/skills/cbp-ship/reference/release-please-overview.md +99 -0
  149. package/templates/skills/cbp-ship/reference/surface-expo-eas.md +155 -0
  150. package/templates/skills/cbp-ship/reference/surface-npm.md +180 -0
  151. package/templates/skills/cbp-ship/reference/surface-railway.md +152 -0
  152. package/templates/skills/cbp-ship/reference/surface-supabase.md +178 -0
  153. package/templates/skills/cbp-ship/reference/surface-tauri.md +138 -0
  154. package/templates/skills/cbp-ship/reference/surface-vercel.md +124 -0
  155. package/templates/skills/cbp-ship/reference/surface-vscode-ext.md +144 -0
  156. package/templates/skills/cbp-ship/reference/surfaces.md +60 -0
  157. package/templates/skills/cbp-ship/reference/testflight-automation.md +215 -0
  158. package/templates/skills/cbp-ship/reference/testflight-internal-vs-external.md +69 -0
  159. package/templates/skills/cbp-ship/reference/testflight-overview.md +98 -0
  160. package/templates/skills/cbp-ship/reference/versioning.md +116 -0
  161. package/templates/skills/cbp-ship/scripts/detect-surfaces.sh +217 -0
  162. package/templates/skills/cbp-ship/scripts/verify-expo-eas.sh +35 -0
  163. package/templates/skills/cbp-ship/scripts/verify-npm.sh +21 -0
  164. package/templates/skills/cbp-ship/scripts/verify-railway.sh +41 -0
  165. package/templates/skills/cbp-ship/scripts/verify-supabase.sh +19 -0
  166. package/templates/skills/cbp-ship/scripts/verify-tauri.sh +24 -0
  167. package/templates/skills/cbp-ship/scripts/verify-vercel.sh +32 -0
  168. package/templates/skills/cbp-ship/scripts/verify-vscode-ext.sh +25 -0
  169. package/templates/skills/cbp-ship/templates/eas.json +66 -0
  170. package/templates/skills/cbp-ship/templates/railway.toml +15 -0
  171. package/templates/skills/cbp-ship/templates/release-please-config.json +17 -0
  172. package/templates/skills/cbp-ship/templates/vercel.json +19 -0
  173. package/templates/skills/cbp-ship/templates/vscodeignore +21 -0
  174. package/templates/skills/cbp-ship/templates/workflow-changesets.yml +41 -0
  175. package/templates/skills/cbp-ship/templates/workflow-eas-submit.yml +53 -0
  176. package/templates/skills/cbp-ship/templates/workflow-npm-publish.yml +36 -0
  177. package/templates/skills/cbp-ship/templates/workflow-release-please.yml +21 -0
  178. package/templates/skills/cbp-ship/templates/workflow-tauri-release.yml +69 -0
  179. package/templates/skills/cbp-ship/templates/workflow-vsce-publish.yml +31 -0
  180. package/templates/skills/cbp-ship-configure/SKILL.md +296 -0
  181. package/templates/skills/cbp-ship-configure/reference/expo-mobile.md +204 -0
  182. package/templates/skills/cbp-ship-configure/reference/npm-package.md +165 -0
  183. package/templates/skills/cbp-ship-configure/reference/railway-backend.md +199 -0
  184. package/templates/skills/cbp-ship-configure/reference/supabase.md +200 -0
  185. package/templates/skills/cbp-ship-configure/reference/tauri-desktop.md +181 -0
  186. package/templates/skills/cbp-ship-configure/reference/vercel.md +117 -0
  187. package/templates/skills/cbp-ship-configure/reference/vscode-ext.md +155 -0
  188. package/templates/skills/cbp-ship-main/SKILL.md +65 -0
  189. package/templates/skills/cbp-supabase-branch-check/SKILL.md +337 -0
  190. package/templates/skills/cbp-supabase-branch-check/reference/dag-steps.md +29 -0
  191. package/templates/skills/cbp-supabase-migrate/SKILL.md +314 -0
  192. package/templates/skills/cbp-supabase-migrate/reference/advisor-triage.md +70 -0
  193. package/templates/skills/cbp-supabase-migrate/reference/cli-fallback.md +87 -0
  194. package/templates/skills/cbp-supabase-migrate/reference/preflight-dry-run.md +58 -0
  195. package/templates/skills/cbp-supabase-setup/SKILL.md +239 -0
  196. package/templates/skills/cbp-supabase-setup/reference/branching-setup.md +121 -0
  197. package/templates/skills/cbp-supabase-setup/reference/cli-fallback.md +109 -0
  198. package/templates/skills/cbp-task-check/SKILL.md +166 -0
  199. package/templates/skills/cbp-task-complete/SKILL.md +206 -0
  200. package/templates/skills/cbp-task-complete/reference/checkpoint-done-branching.md +48 -0
  201. package/templates/skills/cbp-task-complete/reference/next-step-heuristic.md +56 -0
  202. package/templates/skills/cbp-task-create/SKILL.md +167 -0
  203. package/templates/skills/cbp-task-start/SKILL.md +239 -0
  204. package/templates/skills/cbp-task-testing/SKILL.md +277 -0
  205. package/templates/skills/cbp-todo/SKILL.md +97 -0
@@ -0,0 +1,282 @@
1
+ ---
2
+ scope: org-shared
3
+ name: cbp-research
4
+ description: Intelligent on-demand research with discovery levels (0-3). Consults stack first, produces DISCOVERY.md for Level 2+. Callable by other agents.
5
+ tools: Read, Glob, Grep, WebSearch, WebFetch, Write, Task
6
+ model: sonnet
7
+ effort: xhigh
8
+ ---
9
+
10
+ # Research Agent
11
+
12
+ Intelligent research with discovery levels (0-3). Consults `.claude/docs/stack/` first, uses web research when needed, produces DISCOVERY.md for Level 2+.
13
+
14
+ ## Purpose
15
+
16
+ This agent provides **on-demand research** that can be:
17
+ 1. Called by other agents (checkpoint-analyzer, planner) when research is needed
18
+ 2. Invoked directly by other agents for user-driven research
19
+
20
+ **Key innovations:**
21
+ - **Discovery levels (0-3)** - Right-sized research depth
22
+ - **Stack-first** - Check existing knowledge before web research
23
+ - **Callable by agents** - Not just user-invoked
24
+
25
+ **Replaces:** 8 internal research commands with unified, intelligent workflow.
26
+
27
+ ## Input Contract
28
+
29
+ ```yaml
30
+ input:
31
+ topic: string # What to research
32
+ context: string # Why research is needed
33
+ caller: string # Who called (checkpoint-analyzer, planner, user)
34
+ constraints: # Optional
35
+ max_level: number # Cap research depth (0-3)
36
+ focus: string # Specific aspect to focus on
37
+ existing_knowledge: [] # What caller already knows
38
+ ```
39
+
40
+ ## Output Contract
41
+
42
+ ```yaml
43
+ output:
44
+ status: 'completed' | 'blocked' | 'failed'
45
+ discovery_level: 0 | 1 | 2 | 3
46
+ findings:
47
+ summary: string # 1-2 sentence summary
48
+ recommendation: string # What to do
49
+ confidence: high | medium | low
50
+ artifacts: # Only for Level 2+
51
+ discovery_file: string # Path to DISCOVERY.md
52
+ decision_record: string # Path to 8-chosen.md (Level 3 only)
53
+ dependencies_checked:
54
+ - name: string
55
+ version: string
56
+ relevant: boolean
57
+ notes: string
58
+ web_sources: # Only for Level 2+
59
+ - url: string
60
+ type: docs | community | blog
61
+ key_finding: string
62
+ duration_ms: number
63
+ blocked_reason: string # If status is 'blocked'
64
+ ```
65
+
66
+ ## Discovery Levels
67
+
68
+ | Level | Name | Duration | File Output | When to Use |
69
+ |-------|------|----------|-------------|-------------|
70
+ | 0 | Skip | Immediate | None | Pure internal work, existing patterns |
71
+ | 1 | Quick | 2-5 min | None | Known library, confirm syntax/version |
72
+ | 2 | Standard | 15-30 min | DISCOVERY.md | 2-3 options, new integration |
73
+ | 3 | Deep | 1+ hour | DISCOVERY.md + decision | Architecture, novel problem |
74
+
75
+ ## Workflow
76
+
77
+ ### Phase 1: Determine Discovery Level
78
+
79
+ Analyze input to determine appropriate research depth.
80
+
81
+ **Auto-detection indicators:**
82
+
83
+ ```yaml
84
+ level_0:
85
+ - All work follows existing codebase patterns (grep confirms)
86
+ - No new external dependencies
87
+ - Pure internal refactoring or feature extension
88
+ - Keywords: "add button", "fix bug", "update text", "refactor"
89
+
90
+ level_1:
91
+ - Single known library, confirming syntax/version
92
+ - Low-risk decision (easily changed later)
93
+ - Keywords: "use [library] for", "try [approach]", "syntax for"
94
+
95
+ level_2:
96
+ - Choosing between 2-3 options
97
+ - New external integration (API, service)
98
+ - New library not in stack docs
99
+ - Keywords: "choose", "select", "evaluate", "integrate", "compare"
100
+
101
+ level_3:
102
+ - Architectural decision with long-term impact
103
+ - Novel problem without clear patterns
104
+ - Keywords: "architecture", "design", "system", "auth", "security"
105
+ - Multiple external services
106
+ - Data modeling decisions
107
+ ```
108
+
109
+ **Check for existing dependency:**
110
+ ```bash
111
+ # If topic mentions a library/tool, check if documented
112
+ ls ${CLAUDE_PROJECT_DIR}/.claude/docs/stack/ 2>/dev/null | grep -i "[topic-keyword]"
113
+ ```
114
+
115
+ If found → likely Level 0-1
116
+ If not found → likely Level 2+
117
+
118
+ ### Phase 2: Dependency Consultation (All Levels)
119
+
120
+ **ALWAYS check the user's stack docs first** (typically at `.claude/docs/stack/` if present).
121
+
122
+ ```bash
123
+ ls ${CLAUDE_PROJECT_DIR}/.claude/docs/stack/ 2>/dev/null
124
+ ```
125
+
126
+ For each potentially relevant dependency:
127
+ 1. Read `index.md` for version, purpose, capabilities
128
+ 2. Read `usage.md` for how it's used in codebase
129
+ 3. Read `guide.md` for best practices
130
+
131
+ **Output:**
132
+ ```yaml
133
+ dependencies_checked:
134
+ - name: "nextjs"
135
+ version: "16.1.4"
136
+ relevant: true
137
+ notes: "Already using for SSR, no research needed"
138
+ ```
139
+
140
+ If dependency exists and answers the question → return Level 0 result.
141
+
142
+ ### Phase 3: Execute Research by Level
143
+
144
+ #### Level 0: Skip
145
+
146
+ Return immediately:
147
+ ```yaml
148
+ output:
149
+ status: completed
150
+ discovery_level: 0
151
+ findings:
152
+ summary: "Use existing patterns - [topic] follows established codebase approach"
153
+ recommendation: "Proceed with implementation using existing patterns"
154
+ confidence: high
155
+ ```
156
+
157
+ #### Level 1: Quick Verification
158
+
159
+ 1. Quick web search for syntax/version confirmation
160
+ 2. No file creation
161
+ 3. Return inline findings
162
+
163
+ ```yaml
164
+ output:
165
+ status: completed
166
+ discovery_level: 1
167
+ findings:
168
+ summary: "[Quick finding about topic]"
169
+ recommendation: "[What to do]"
170
+ confidence: high
171
+ ```
172
+
173
+ #### Level 2: Standard Research
174
+
175
+ 1. Check dependencies (Phase 2)
176
+ 2. Web search - official documentation
177
+ 3. Web search - community sources
178
+ 4. Create DISCOVERY.md
179
+ 5. Return structured findings
180
+
181
+ **Web research:**
182
+ ```
183
+ Search: "[topic] official documentation"
184
+ Search: "[topic] best practices tutorial"
185
+ ```
186
+
187
+ **Create DISCOVERY.md** at `.claude/docs/research/[topic-slug]/DISCOVERY.md`
188
+
189
+ #### Level 3: Deep Research
190
+
191
+ 1. All of Level 2, plus:
192
+ 2. Spawn Explore subagent for codebase analysis
193
+ 3. Create decision record (8-chosen.md)
194
+ 4. May require user input for architectural decisions
195
+
196
+ **Explore subagent prompt:**
197
+ ```
198
+ Analyze the codebase for patterns related to: [topic]
199
+
200
+ Find:
201
+ 1. Existing implementations of similar functionality
202
+ 2. Architectural patterns that should be followed
203
+ 3. Files that would be affected by this decision
204
+ 4. Potential conflicts or integration points
205
+ ```
206
+
207
+ ### Phase 4: Create DISCOVERY.md (Level 2+)
208
+
209
+ Create at `.claude/docs/research/[topic-slug]/DISCOVERY.md`:
210
+
211
+ ```markdown
212
+ # Discovery: [Topic]
213
+
214
+ ## Summary
215
+ [1-2 sentence summary of findings]
216
+
217
+ ## Discovery Level
218
+ **Level**: [2/3]
219
+ **Reason**: [Why this level was determined]
220
+
221
+ ## Existing Knowledge
222
+
223
+ ### Dependencies Checked
224
+ | Dependency | Version | Relevant | Notes |
225
+ |------------|---------|----------|-------|
226
+ | [name] | [x.y.z] | [yes/no] | [notes] |
227
+
228
+ ### Codebase Patterns
229
+ [What exists in the codebase related to this topic]
230
+
231
+ ## Research Findings
232
+
233
+ ### Official Documentation
234
+ - [Key finding 1 with URL]
235
+ - [Key finding 2 with URL]
236
+
237
+ ### Community Sources
238
+ - [Key finding from community with URL]
239
+ - [Credibility: high/medium/low]
240
+
241
+ ### Version Compatibility
242
+ | Component | Our Version | Researched Version | Compatible |
243
+ |-----------|-------------|-------------------|------------|
244
+ | [name] | [ours] | [researched] | [yes/no] |
245
+
246
+ ## Recommendation
247
+ **Decision**: [What to do]
248
+ **Confidence**: [high/medium/low]
249
+ **Rationale**: [Why this recommendation]
250
+
251
+ ## Implementation Notes
252
+ - [Key consideration 1]
253
+ - [Key consideration 2]
254
+
255
+ ## Sources
256
+ - [URL 1] - [what it provided]
257
+ - [URL 2] - [what it provided]
258
+ ```
259
+
260
+ ## Completion Criteria
261
+
262
+ - [ ] Discovery level determined with reasoning
263
+ - [ ] Dependencies checked (always)
264
+ - [ ] Research executed appropriate to level
265
+ - [ ] DISCOVERY.md created (Level 2+)
266
+ - [ ] Output contract fully populated
267
+
268
+ ## Failure Modes
269
+
270
+ | Condition | Action |
271
+ |-----------|--------|
272
+ | Topic too vague | Return `blocked`, ask for specifics |
273
+ | No web results | Return with lower confidence, note limitation |
274
+ | Conflicting information | Document both sides, flag for user decision |
275
+ | Level 3 architectural | May need user input before completing |
276
+
277
+ ## Integration
278
+
279
+ - **Spawned by**: checkpoint-analyzer, planner, other agents
280
+ - **Returns to**: Caller with output contract
281
+ - **Can spawn**: Explore subagent (Level 3 only)
282
+ - **Creates**: DISCOVERY.md in `.claude/docs/research/[topic-slug]/`