multi-forge 0.2.0__py3-none-any.whl

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 (311) hide show
  1. forge/__init__.py +3 -0
  2. forge/_extensions/agents/.gitkeep +0 -0
  3. forge/_extensions/commands/.gitkeep +0 -0
  4. forge/_extensions/skills/analyze/SKILL.md +87 -0
  5. forge/_extensions/skills/challenge/SKILL.md +91 -0
  6. forge/_extensions/skills/consensus/SKILL.md +120 -0
  7. forge/_extensions/skills/consensus/resources/code_consensus_evaluation.md +94 -0
  8. forge/_extensions/skills/consensus/resources/consensus_evaluation.md +70 -0
  9. forge/_extensions/skills/consensus/resources/synthesis.md +101 -0
  10. forge/_extensions/skills/debate/SKILL.md +116 -0
  11. forge/_extensions/skills/debate/resources/code_debate_evaluation.md +101 -0
  12. forge/_extensions/skills/debate/resources/debate_evaluation.md +90 -0
  13. forge/_extensions/skills/panel/SKILL.md +141 -0
  14. forge/_extensions/skills/panel/resources/synthesis.md +103 -0
  15. forge/_extensions/skills/qa/SKILL.md +704 -0
  16. forge/_extensions/skills/qa/resources/checklist/0-enable.md +78 -0
  17. forge/_extensions/skills/qa/resources/checklist/1-preflight.md +24 -0
  18. forge/_extensions/skills/qa/resources/checklist/10-resume.md +143 -0
  19. forge/_extensions/skills/qa/resources/checklist/11-config.md +150 -0
  20. forge/_extensions/skills/qa/resources/checklist/12-search.md +58 -0
  21. forge/_extensions/skills/qa/resources/checklist/13-guard.md +237 -0
  22. forge/_extensions/skills/qa/resources/checklist/14-workflow.md +305 -0
  23. forge/_extensions/skills/qa/resources/checklist/15-skills.md +155 -0
  24. forge/_extensions/skills/qa/resources/checklist/16-handoff.md +224 -0
  25. forge/_extensions/skills/qa/resources/checklist/17-info.md +50 -0
  26. forge/_extensions/skills/qa/resources/checklist/18-disable.md +84 -0
  27. forge/_extensions/skills/qa/resources/checklist/19-uninstall.md +146 -0
  28. forge/_extensions/skills/qa/resources/checklist/2-extensions.md +188 -0
  29. forge/_extensions/skills/qa/resources/checklist/20-cleanup.md +36 -0
  30. forge/_extensions/skills/qa/resources/checklist/3-auth.md +234 -0
  31. forge/_extensions/skills/qa/resources/checklist/4-proxy.md +481 -0
  32. forge/_extensions/skills/qa/resources/checklist/5-session.md +541 -0
  33. forge/_extensions/skills/qa/resources/checklist/6-hooks.md +275 -0
  34. forge/_extensions/skills/qa/resources/checklist/7-costs.md +309 -0
  35. forge/_extensions/skills/qa/resources/checklist/8-status-line.md +174 -0
  36. forge/_extensions/skills/qa/resources/checklist/9-direct-commands.md +146 -0
  37. forge/_extensions/skills/qa/resources/checklist.md +103 -0
  38. forge/_extensions/skills/qa/resources/report-template.md +62 -0
  39. forge/_extensions/skills/qa/scripts/start-container.sh +529 -0
  40. forge/_extensions/skills/qa/scripts/walkthrough-state.py +1137 -0
  41. forge/_extensions/skills/review/SKILL.md +125 -0
  42. forge/_extensions/skills/review/references/claude-4.6.md +474 -0
  43. forge/_extensions/skills/review/references/claude-4.7.md +710 -0
  44. forge/_extensions/skills/review/references/gemini-3.1.md +546 -0
  45. forge/_extensions/skills/review/references/gpt-5.5.md +490 -0
  46. forge/_extensions/skills/review/references/skills-writing-guide.md +1588 -0
  47. forge/_extensions/skills/review/resources/code-anthropic.md +160 -0
  48. forge/_extensions/skills/review/resources/code-gemini.md +184 -0
  49. forge/_extensions/skills/review/resources/code-openai.md +203 -0
  50. forge/_extensions/skills/review/resources/code.md +160 -0
  51. forge/_extensions/skills/review-docs/SKILL.md +121 -0
  52. forge/_extensions/skills/review-docs/resources/docs-anthropic.md +170 -0
  53. forge/_extensions/skills/review-docs/resources/docs-gemini.md +204 -0
  54. forge/_extensions/skills/review-docs/resources/docs-openai.md +231 -0
  55. forge/_extensions/skills/review-docs/resources/docs.md +170 -0
  56. forge/_extensions/skills/smoke-test/SKILL.md +27 -0
  57. forge/_extensions/skills/smoke-test/scripts/smoke-test.sh +118 -0
  58. forge/_extensions/skills/understand/SKILL.md +148 -0
  59. forge/_extensions/skills/understand/resources/code-anthropic.md +163 -0
  60. forge/_extensions/skills/understand/resources/code-gemini.md +194 -0
  61. forge/_extensions/skills/understand/resources/code-openai.md +181 -0
  62. forge/_extensions/skills/understand/resources/code.md +163 -0
  63. forge/_extensions/skills/understand/resources/docs-anthropic.md +177 -0
  64. forge/_extensions/skills/understand/resources/docs-gemini.md +202 -0
  65. forge/_extensions/skills/understand/resources/docs-openai.md +191 -0
  66. forge/_extensions/skills/understand/resources/docs.md +177 -0
  67. forge/_extensions/skills/walkthrough/SKILL.md +599 -0
  68. forge/_extensions/skills/walkthrough/resources/checklist.md +765 -0
  69. forge/_extensions/skills/walkthrough/scripts/run-in-repo.sh +118 -0
  70. forge/_extensions/skills/walkthrough/scripts/setup-test-repo.sh +198 -0
  71. forge/_extensions/skills/walkthrough/scripts/walkthrough-state.py +1137 -0
  72. forge/backend/__init__.py +174 -0
  73. forge/backend/adapters/__init__.py +38 -0
  74. forge/backend/adapters/litellm.py +158 -0
  75. forge/backend/creation.py +89 -0
  76. forge/backend/registry.py +178 -0
  77. forge/cli/__init__.py +16 -0
  78. forge/cli/auth.py +483 -0
  79. forge/cli/backend.py +298 -0
  80. forge/cli/claude.py +411 -0
  81. forge/cli/config_cmd.py +303 -0
  82. forge/cli/extensions.py +1001 -0
  83. forge/cli/gc.py +165 -0
  84. forge/cli/guard.py +1018 -0
  85. forge/cli/guards.py +106 -0
  86. forge/cli/handoff.py +110 -0
  87. forge/cli/hooks/__init__.py +36 -0
  88. forge/cli/hooks/_group.py +20 -0
  89. forge/cli/hooks/_helpers.py +149 -0
  90. forge/cli/hooks/commands.py +1677 -0
  91. forge/cli/hooks/direct_commands.py +1304 -0
  92. forge/cli/hooks/install.py +232 -0
  93. forge/cli/hooks/policy.py +151 -0
  94. forge/cli/hooks/read_hygiene.py +74 -0
  95. forge/cli/hooks/verification.py +370 -0
  96. forge/cli/logs.py +406 -0
  97. forge/cli/main.py +292 -0
  98. forge/cli/proxy.py +1821 -0
  99. forge/cli/proxy_costs.py +313 -0
  100. forge/cli/search.py +416 -0
  101. forge/cli/session.py +892 -0
  102. forge/cli/session_addendum.py +81 -0
  103. forge/cli/session_fork.py +750 -0
  104. forge/cli/session_handoff.py +141 -0
  105. forge/cli/session_lifecycle.py +2053 -0
  106. forge/cli/session_manage.py +1336 -0
  107. forge/cli/session_memory.py +201 -0
  108. forge/cli/status_line.py +1398 -0
  109. forge/cli/workflow.py +1964 -0
  110. forge/config/__init__.py +110 -0
  111. forge/config/dataclass_utils.py +88 -0
  112. forge/config/defaults/__init__.py +0 -0
  113. forge/config/defaults/backends/__init__.py +0 -0
  114. forge/config/defaults/backends/litellm.yaml +196 -0
  115. forge/config/defaults/templates/__init__.py +0 -0
  116. forge/config/defaults/templates/litellm-anthropic-local.yaml +33 -0
  117. forge/config/defaults/templates/litellm-anthropic.yaml +24 -0
  118. forge/config/defaults/templates/litellm-gemini-flash-local.yaml +37 -0
  119. forge/config/defaults/templates/litellm-gemini-local.yaml +32 -0
  120. forge/config/defaults/templates/litellm-gemini-test.yaml +34 -0
  121. forge/config/defaults/templates/litellm-gemini.yaml +21 -0
  122. forge/config/defaults/templates/litellm-openai-codex-local.yaml +36 -0
  123. forge/config/defaults/templates/litellm-openai-local.yaml +38 -0
  124. forge/config/defaults/templates/litellm-openai.yaml +28 -0
  125. forge/config/defaults/templates/openrouter-anthropic.yaml +23 -0
  126. forge/config/defaults/templates/openrouter-deepseek.yaml +26 -0
  127. forge/config/defaults/templates/openrouter-gemini-flash.yaml +26 -0
  128. forge/config/defaults/templates/openrouter-gemini.yaml +23 -0
  129. forge/config/defaults/templates/openrouter-glm.yaml +23 -0
  130. forge/config/defaults/templates/openrouter-kimi.yaml +30 -0
  131. forge/config/defaults/templates/openrouter-minimax.yaml +26 -0
  132. forge/config/defaults/templates/openrouter-openai-codex.yaml +23 -0
  133. forge/config/defaults/templates/openrouter-openai.yaml +28 -0
  134. forge/config/defaults/templates/openrouter-qwen.yaml +25 -0
  135. forge/config/loader.py +675 -0
  136. forge/config/schema.py +448 -0
  137. forge/core/__init__.py +5 -0
  138. forge/core/auth/__init__.py +67 -0
  139. forge/core/auth/capabilities.py +219 -0
  140. forge/core/auth/credentials_file.py +244 -0
  141. forge/core/auth/protocols.py +18 -0
  142. forge/core/auth/secrets.py +243 -0
  143. forge/core/auth/template_secrets.py +112 -0
  144. forge/core/data/__init__.py +5 -0
  145. forge/core/data/model_catalog.yaml +1522 -0
  146. forge/core/data/pricing.yaml +140 -0
  147. forge/core/data/system_prompt_addendums/__init__.py +0 -0
  148. forge/core/data/system_prompt_addendums/gemini.md +330 -0
  149. forge/core/data/system_prompt_addendums/openai.md +328 -0
  150. forge/core/llm/__init__.py +231 -0
  151. forge/core/llm/clients/__init__.py +14 -0
  152. forge/core/llm/clients/base.py +115 -0
  153. forge/core/llm/clients/litellm.py +619 -0
  154. forge/core/llm/clients/openai_compat.py +244 -0
  155. forge/core/llm/clients/openrouter.py +234 -0
  156. forge/core/llm/credentials.py +439 -0
  157. forge/core/llm/detection.py +86 -0
  158. forge/core/llm/errors.py +44 -0
  159. forge/core/llm/protocols.py +80 -0
  160. forge/core/llm/types.py +176 -0
  161. forge/core/logging.py +146 -0
  162. forge/core/models/__init__.py +91 -0
  163. forge/core/models/catalog.py +467 -0
  164. forge/core/models/pricing.py +165 -0
  165. forge/core/models/types.py +167 -0
  166. forge/core/naming.py +212 -0
  167. forge/core/ops/__init__.py +73 -0
  168. forge/core/ops/context.py +141 -0
  169. forge/core/ops/gc.py +802 -0
  170. forge/core/ops/proxy.py +146 -0
  171. forge/core/ops/resolution.py +135 -0
  172. forge/core/ops/session.py +344 -0
  173. forge/core/ops/session_context.py +548 -0
  174. forge/core/paths.py +38 -0
  175. forge/core/process.py +54 -0
  176. forge/core/reactive/__init__.py +38 -0
  177. forge/core/reactive/cost_tracking.py +300 -0
  178. forge/core/reactive/env.py +180 -0
  179. forge/core/reactive/proxy.py +78 -0
  180. forge/core/reactive/routing.py +622 -0
  181. forge/core/reactive/session_runner.py +185 -0
  182. forge/core/reactive/structured_output.py +62 -0
  183. forge/core/reactive/tagger.py +94 -0
  184. forge/core/reactive/throttle.py +132 -0
  185. forge/core/state/__init__.py +59 -0
  186. forge/core/state/exceptions.py +59 -0
  187. forge/core/state/io.py +140 -0
  188. forge/core/state/lock.py +99 -0
  189. forge/core/state/timestamps.py +60 -0
  190. forge/core/transcript.py +78 -0
  191. forge/core/typing_helpers.py +24 -0
  192. forge/core/workqueue/__init__.py +67 -0
  193. forge/core/workqueue/queue.py +552 -0
  194. forge/core/workqueue/types.py +63 -0
  195. forge/guard/__init__.py +26 -0
  196. forge/guard/deterministic/__init__.py +26 -0
  197. forge/guard/deterministic/base.py +158 -0
  198. forge/guard/deterministic/coding_standards.py +256 -0
  199. forge/guard/deterministic/registry.py +148 -0
  200. forge/guard/deterministic/tdd.py +171 -0
  201. forge/guard/engine.py +216 -0
  202. forge/guard/protocols.py +91 -0
  203. forge/guard/queries.py +96 -0
  204. forge/guard/semantic/__init__.py +34 -0
  205. forge/guard/semantic/promotion.py +18 -0
  206. forge/guard/semantic/supervisor.py +813 -0
  207. forge/guard/semantic/verdict.py +183 -0
  208. forge/guard/store.py +124 -0
  209. forge/guard/team/__init__.py +6 -0
  210. forge/guard/team/config.py +24 -0
  211. forge/guard/team/handlers.py +209 -0
  212. forge/guard/team/prompts.py +41 -0
  213. forge/guard/types.py +125 -0
  214. forge/guard/workflow/__init__.py +17 -0
  215. forge/guard/workflow/branches.py +67 -0
  216. forge/guard/workflow/config.py +63 -0
  217. forge/guard/workflow/divergence.py +113 -0
  218. forge/guard/workflow/policy.py +87 -0
  219. forge/guard/workflow/stages.py +205 -0
  220. forge/install/__init__.py +55 -0
  221. forge/install/cli.py +281 -0
  222. forge/install/exceptions.py +163 -0
  223. forge/install/hooks.py +109 -0
  224. forge/install/installer.py +1037 -0
  225. forge/install/models.py +321 -0
  226. forge/install/preset.py +272 -0
  227. forge/install/settings_merge.py +831 -0
  228. forge/install/tracking.py +238 -0
  229. forge/install/version.py +141 -0
  230. forge/proxy/__init__.py +0 -0
  231. forge/proxy/base_client.py +181 -0
  232. forge/proxy/client_adapter.py +476 -0
  233. forge/proxy/client_factory.py +531 -0
  234. forge/proxy/converters.py +1206 -0
  235. forge/proxy/cost_logger.py +132 -0
  236. forge/proxy/cost_tracker.py +242 -0
  237. forge/proxy/data_models.py +338 -0
  238. forge/proxy/error_hints.py +92 -0
  239. forge/proxy/metrics.py +222 -0
  240. forge/proxy/model_spec.py +158 -0
  241. forge/proxy/proxies.py +333 -0
  242. forge/proxy/proxy_identity.py +134 -0
  243. forge/proxy/proxy_orchestrator.py +1018 -0
  244. forge/proxy/proxy_startup.py +54 -0
  245. forge/proxy/server.py +1561 -0
  246. forge/proxy/utils.py +537 -0
  247. forge/review/__init__.py +6 -0
  248. forge/review/adversarial.py +111 -0
  249. forge/review/consensus.py +236 -0
  250. forge/review/engine.py +356 -0
  251. forge/review/models.py +437 -0
  252. forge/review/resources/__init__.py +5 -0
  253. forge/review/resources/codereview-performance.md +85 -0
  254. forge/review/resources/codereview-quick.md +75 -0
  255. forge/review/resources/codereview-security.md +92 -0
  256. forge/review/resources/codereview.md +85 -0
  257. forge/review/resources/docreview-quick.md +75 -0
  258. forge/review/resources/docreview.md +86 -0
  259. forge/review/resources/thinkdeep.md +89 -0
  260. forge/review/routing.py +368 -0
  261. forge/review/synthesis.py +73 -0
  262. forge/runtime_config.py +438 -0
  263. forge/search/__init__.py +55 -0
  264. forge/search/bm25_store.py +264 -0
  265. forge/search/content_store.py +197 -0
  266. forge/search/engine.py +352 -0
  267. forge/search/exceptions.py +51 -0
  268. forge/search/extractor.py +234 -0
  269. forge/search/index_state.py +295 -0
  270. forge/search/store.py +215 -0
  271. forge/search/tokenizer.py +24 -0
  272. forge/session/__init__.py +130 -0
  273. forge/session/active.py +339 -0
  274. forge/session/artifacts.py +202 -0
  275. forge/session/claude/__init__.py +50 -0
  276. forge/session/claude/cleanup.py +105 -0
  277. forge/session/claude/invoke.py +236 -0
  278. forge/session/claude/paths.py +200 -0
  279. forge/session/cleanup.py +216 -0
  280. forge/session/config.py +34 -0
  281. forge/session/direct_model.py +107 -0
  282. forge/session/effective.py +169 -0
  283. forge/session/exceptions.py +255 -0
  284. forge/session/handoff.py +881 -0
  285. forge/session/handoff_agent.py +544 -0
  286. forge/session/hooks/__init__.py +35 -0
  287. forge/session/hooks/models.py +73 -0
  288. forge/session/hooks/session_start.py +507 -0
  289. forge/session/identity.py +84 -0
  290. forge/session/index.py +553 -0
  291. forge/session/manager.py +1506 -0
  292. forge/session/models.py +572 -0
  293. forge/session/overrides.py +344 -0
  294. forge/session/plan_resolution.py +286 -0
  295. forge/session/prev_sessions.py +128 -0
  296. forge/session/store.py +431 -0
  297. forge/session/validation.py +47 -0
  298. forge/session/worktree/__init__.py +65 -0
  299. forge/session/worktree/cleanup.py +262 -0
  300. forge/session/worktree/config_copy.py +203 -0
  301. forge/session/worktree/create.py +332 -0
  302. forge/sidecar/__init__.py +29 -0
  303. forge/sidecar/container.py +161 -0
  304. forge/sidecar/docker.py +86 -0
  305. forge/sidecar/secrets.py +19 -0
  306. multi_forge-0.2.0.dist-info/METADATA +242 -0
  307. multi_forge-0.2.0.dist-info/RECORD +311 -0
  308. multi_forge-0.2.0.dist-info/WHEEL +4 -0
  309. multi_forge-0.2.0.dist-info/entry_points.txt +2 -0
  310. multi_forge-0.2.0.dist-info/licenses/LICENSE +203 -0
  311. multi_forge-0.2.0.dist-info/licenses/NOTICE +14 -0
@@ -0,0 +1,177 @@
1
+ # Documentation Understanding (Opus-Optimized)
2
+
3
+ Analyze project documentation to extract clear explanations of design decisions, architecture, and technical approach.
4
+
5
+ ```xml
6
+ <role>
7
+ You are a design documentation specialist.
8
+ You extract and explain design decisions, architecture, and rationale.
9
+ You focus on WHY choices were made, not just WHAT was chosen.
10
+ </role>
11
+
12
+ <behavior>
13
+ - Follow instructions precisely
14
+ - Cite specific document sections
15
+ - Extract, don't infer - stick to what's documented
16
+ - Note when interpreting vs quoting
17
+ </behavior>
18
+
19
+ <scope_constraints>
20
+ - Analyze only documents directly relevant to the target
21
+ - Do not fabricate missing information
22
+ - Note gaps when critical info is absent
23
+ </scope_constraints>
24
+
25
+ <intent>
26
+ This skill EXPLAINS -- it does not EVALUATE.
27
+ - Describe what the document states, claims, and assumes
28
+ - Describe the structure and organization the author chose
29
+ - Note absent topics factually: "The document does not specify X" (observation)
30
+ - Do NOT rate quality, score completeness, or call sections "critically incomplete" (judgment)
31
+ - Do NOT recommend fixes or improvements -- that is /forge:review-docs
32
+ - When gaps exist, explain what the document DOES cover in that area, not what it fails to cover
33
+ </intent>
34
+ ```
35
+
36
+ ---
37
+
38
+ ## Requirements
39
+
40
+ This skill requires:
41
+
42
+ - **Explore subagent**: The `Agent` tool with `subagent_type: "Explore"` must be available
43
+ - **File reading**: Read tool access to analyze target documentation
44
+ - **Local analysis only**: Use only the tools allowed by this skill. Do not call external MCP analysis tools from this
45
+ skill.
46
+
47
+ ---
48
+
49
+ ## Phase 1: Exploration
50
+
51
+ Gather context before analysis. Use the Explore agent to build understanding efficiently.
52
+
53
+ ```
54
+ Tool: Agent
55
+ Parameters:
56
+ subagent_type: "Explore"
57
+ description: "Analyze project documentation"
58
+ prompt: |
59
+ Analyze project documentation:
60
+ 1. If no specific target: Find docs (README, CLAUDE.md, docs/**/*.md)
61
+ 2. If specific file/directory: Read and analyze it
62
+ 3. If question: Find docs that answer it
63
+
64
+ Explain what the document states and how it is structured.
65
+ Do not score quality, recommend fixes, or perform a review.
66
+
67
+ Return structured analysis:
68
+ - Design Decisions: Key choices, rationale, documented considerations
69
+ - Architecture: System structure, components, boundaries
70
+ - Technology Stack: Languages, frameworks, why chosen
71
+ - Design Patterns: Patterns used, where applied, why they fit
72
+ ```
73
+
74
+ ---
75
+
76
+ ## Phase 2: Context-Aware Synthesis
77
+
78
+ After receiving agent analysis:
79
+
80
+ 1. Review agent's findings
81
+ 2. Enrich with conversation context (relate to ongoing discussion, connect to recent changes)
82
+ 3. Verify against code if needed
83
+ 4. Present synthesized results
84
+
85
+ ---
86
+
87
+ ## Phase 3: Analysis Framework
88
+
89
+ ```xml
90
+ <analysis_framework>
91
+ <design_decisions>
92
+ For each major decision, extract:
93
+ - **What**: The choice made
94
+ - **Why**: Rationale
95
+ - **Documented considerations**: Trade-offs or constraints mentioned in the document
96
+ - **Alternatives mentioned**: Options the document explicitly discusses
97
+ - **Constraints**: Influencing factors stated in the document
98
+ </design_decisions>
99
+
100
+ <architecture>
101
+ - Overall structure and organization
102
+ - Components and their responsibilities
103
+ - Boundaries and relationships
104
+ - Data and control flow
105
+ </architecture>
106
+
107
+ <technology_stack>
108
+ For each choice: what, why, alternatives considered, how it fits
109
+ </technology_stack>
110
+
111
+ <design_patterns>
112
+ Identify patterns: name, where used, why, how applied
113
+ </design_patterns>
114
+ </analysis_framework>
115
+
116
+ <depth_selection>
117
+ IF depth = quick:
118
+ Output: <500 words, high-level overview (2-3 paragraphs)
119
+ IF depth = detailed:
120
+ Output: 500-1000 words, comprehensive analysis of decisions, patterns, trade-offs
121
+ IF depth = deep:
122
+ Output: Comprehensive investigation with maximum local coverage
123
+ </depth_selection>
124
+ ```
125
+
126
+ ---
127
+
128
+ ## Output
129
+
130
+ ```xml
131
+ <output_format>
132
+ Structure findings as:
133
+
134
+ # Design Understanding: [Project/Document Name]
135
+
136
+ ## Overview
137
+ [High-level design summary - 2-3 sentences]
138
+
139
+ ## Architecture Overview
140
+ ### System Structure
141
+ [Description with component relationships]
142
+
143
+ ### Key Components
144
+ 1. **[Name]**: Responsibility, technology, interactions
145
+
146
+ ## Key Design Decisions
147
+ ### [Category: e.g., Data Architecture]
148
+ - **Decision**: [choice]
149
+ - **Rationale**: [why]
150
+ - **Documented considerations**: [trade-offs the document discusses, if any]
151
+ - **Alternatives mentioned**: [options the document explicitly names]
152
+
153
+ ## Technology Stack
154
+ | Technology | Purpose | Why Chosen |
155
+ |------------|---------|------------|
156
+
157
+ ## Design Patterns
158
+ ### [Pattern Name]
159
+ - Used in: [location]
160
+ - Purpose: [problem solved]
161
+ - Implementation: [how applied]
162
+
163
+ ## How It Relates
164
+ [Connection to current work]
165
+
166
+ ## Key Points
167
+ - [Bulleted summary of what the document establishes]
168
+ </output_format>
169
+
170
+ <output_constraints>
171
+ - Extract, don't infer: Stick to what's documented; note when interpreting
172
+ - Show relationships: Explain how components connect
173
+ - Report documented trade-offs: Include only considerations the document itself discusses
174
+ - Note gaps: If a topic is not addressed, state what the document covers nearby rather than cataloging deficiencies
175
+ - Use textual component maps where helpful
176
+ </output_constraints>
177
+ ```
@@ -0,0 +1,202 @@
1
+ # Documentation Understanding (Gemini 3.1 Optimized)
2
+
3
+ Analyze project documentation to extract clear explanations of design decisions, architecture, and technical approach.
4
+
5
+ ```xml
6
+ <role>
7
+ You are a design documentation specialist.
8
+ You are precise, thorough, and focused on extracting actionable knowledge.
9
+ You focus on WHY choices were made, not just WHAT was chosen.
10
+ </role>
11
+
12
+ <behavior>
13
+ - Cite specific document sections for all claims
14
+ - Extract rather than infer
15
+ - Label interpretation versus quoting when needed
16
+ - Focus on rationale, boundaries, and documented trade-offs
17
+ </behavior>
18
+
19
+ <scope_constraints>
20
+ - Analyze only documents directly relevant to the target
21
+ - Do not fabricate missing information
22
+ - Avoid unrelated cross-document expansion
23
+ - Prefer the simplest valid interpretation when ambiguous
24
+ </scope_constraints>
25
+
26
+ <intent>
27
+ This skill EXPLAINS -- it does not EVALUATE.
28
+ - Describe what the document states, claims, and assumes
29
+ - Describe the structure and organization the author chose
30
+ - Note absent topics factually: "The document does not specify X" (observation)
31
+ - Do NOT rate quality, score completeness, or call sections "critically incomplete" (judgment)
32
+ - Do NOT recommend fixes or improvements -- that is /forge:review-docs
33
+ - When gaps exist, explain what the document DOES cover in that area, not what it fails to cover
34
+ </intent>
35
+ ```
36
+
37
+ ---
38
+
39
+ ## Requirements
40
+
41
+ This skill requires:
42
+
43
+ - **Explore subagent**: The `Agent` tool with `subagent_type: "Explore"` must be available
44
+ - **File reading**: Read tool access to analyze target documentation
45
+ - **Local analysis only**: Use only the tools allowed by this skill. Do not call external MCP analysis tools from this
46
+ skill.
47
+
48
+ ---
49
+
50
+ ## Phase 1: Exploration
51
+
52
+ Gather context before analysis. Use the Explore agent to build understanding efficiently.
53
+
54
+ ```
55
+ Tool: Agent
56
+ Parameters:
57
+ subagent_type: "Explore"
58
+ description: "Analyze project documentation"
59
+ prompt: |
60
+ Analyze project documentation:
61
+ 1. If no specific target: Find docs (README, CLAUDE.md, docs/**/*.md)
62
+ 2. If specific file/directory: Read and analyze it
63
+ 3. If question: Find docs that answer it
64
+
65
+ Explain what the document states and how it is structured.
66
+ Do not score quality, recommend fixes, or perform a review.
67
+
68
+ Return structured analysis:
69
+ - Design Decisions: Key choices, rationale, documented considerations
70
+ - Architecture: System structure, components, boundaries
71
+ - Technology Stack: Languages, frameworks, why chosen
72
+ - Design Patterns: Patterns used, where applied, why they fit
73
+ ```
74
+
75
+ ---
76
+
77
+ ## Phase 2: Context-Aware Synthesis
78
+
79
+ After receiving agent analysis:
80
+
81
+ 1. Review agent's findings
82
+ 2. Enrich with conversation context
83
+ 3. Verify against code only when needed to resolve ambiguity or check implementation status
84
+ 4. Present synthesized results
85
+
86
+ ---
87
+
88
+ ## Phase 3: Analysis Framework
89
+
90
+ Design decisions analysis:
91
+
92
+ - For each major decision: what, why, documented considerations, alternatives mentioned, constraints
93
+
94
+ Architecture analysis:
95
+
96
+ - Overall structure and organization
97
+ - Components and their responsibilities
98
+ - Boundaries and relationships
99
+ - Data and control flow
100
+
101
+ Technology stack:
102
+
103
+ - For each choice: what, why, alternatives considered, how it fits
104
+
105
+ Design patterns:
106
+
107
+ - Identify patterns: name, where used, why, how applied
108
+
109
+ Depth selection:
110
+
111
+ - `quick`: Execute the shortest local analysis that still answers the question. Output: \<500 words.
112
+ - `detailed`: Execute fuller local analysis with broader coverage. Output: 500-1000 words.
113
+ - `deep`: Execute the deepest local investigation available with the allowed tools. Output: Comprehensive investigation.
114
+
115
+ ```xml
116
+ <error_handling>
117
+ IF target document does not exist:
118
+ Report the missing path and stop.
119
+ IF referenced documents cannot be resolved:
120
+ Note which references are unresolved and continue with available content.
121
+ IF agent exploration returns empty:
122
+ Note incomplete context and proceed with what is available.
123
+ </error_handling>
124
+
125
+ <output_contract>
126
+ Task is complete when:
127
+ - key design decisions and their rationale are extracted
128
+ - architecture, component boundaries, and relationships are explained
129
+ - implemented versus aspirational details are distinguished when the docs or code support that distinction
130
+ - important gaps are labeled explicitly instead of guessed
131
+ - interpretation is clearly separated from documented statements
132
+ </output_contract>
133
+
134
+ <verification>
135
+ Before finalizing:
136
+ - Verify major claims map to cited document sections
137
+ - Verify missing information is labeled as missing
138
+ - Verify implementation-status claims are grounded when code was checked
139
+ - Verify the output matches the requested depth
140
+ </verification>
141
+ ```
142
+
143
+ ---
144
+
145
+ ## Output
146
+
147
+ Structure findings as:
148
+
149
+ # Design Understanding: [Project/Document Name]
150
+
151
+ ## Overview
152
+
153
+ [High-level design summary - 2-3 sentences]
154
+
155
+ ## Architecture Overview
156
+
157
+ ### System Structure
158
+
159
+ [Description with component relationships]
160
+
161
+ ### Key Components
162
+
163
+ 1. **[Name]**: Responsibility, technology, interactions
164
+
165
+ ## Key Design Decisions
166
+
167
+ ### [Category]
168
+
169
+ - **Decision**: [choice]
170
+ - **Rationale**: [why]
171
+ - **Documented considerations**: [trade-offs the document discusses, if any]
172
+ - **Alternatives mentioned**: [options the document explicitly names]
173
+
174
+ ## Technology Stack
175
+
176
+ | Technology | Purpose | Why Chosen |
177
+ | ---------- | ------- | ---------- |
178
+
179
+ ## Design Patterns
180
+
181
+ ### [Pattern Name]
182
+
183
+ - Used in: [location]
184
+ - Purpose: [problem solved]
185
+
186
+ ## How It Relates
187
+
188
+ [Connection to current work]
189
+
190
+ ## Key Points
191
+
192
+ - [Bulleted summary of what the document establishes]
193
+
194
+ ```xml
195
+ <output_constraints>
196
+ - Be direct and concise
197
+ - Do not restate the user's request
198
+ - Use structured sections only when they add clarity
199
+ - Stick to documented evidence and label interpretation when needed
200
+ - Note where the document is silent on a topic -- do not rate the gap's severity
201
+ </output_constraints>
202
+ ```
@@ -0,0 +1,191 @@
1
+ # Documentation Understanding (GPT-5.5 Optimized)
2
+
3
+ Analyze project documentation to extract clear explanations of design decisions, architecture, and technical approach.
4
+
5
+ ```xml
6
+ <role>
7
+ You are a documentation-understanding specialist.
8
+ You extract and explain design decisions, rationale, and architecture directly.
9
+ You focus on WHY choices were made, not just WHAT was chosen.
10
+ </role>
11
+
12
+ <behavior>
13
+ - Cite specific document sections
14
+ - Extract rather than infer
15
+ - Label interpretation versus quoting when needed
16
+ - Focus on rationale, boundaries, and documented trade-offs
17
+ </behavior>
18
+
19
+ <scope_constraints>
20
+ - Analyze only documents directly relevant to the target
21
+ - Do not fabricate missing information
22
+ - Avoid unrelated cross-document expansion
23
+ - Prefer the simplest valid interpretation when ambiguous
24
+ </scope_constraints>
25
+
26
+ <intent>
27
+ This skill EXPLAINS -- it does not EVALUATE.
28
+ - Describe what the document states, claims, and assumes
29
+ - Describe the structure and organization the author chose
30
+ - Note absent topics factually: "The document does not specify X" (observation)
31
+ - Do NOT rate quality, score completeness, or call sections "critically incomplete" (judgment)
32
+ - Do NOT recommend fixes or improvements -- that is /forge:review-docs
33
+ - When gaps exist, explain what the document DOES cover in that area, not what it fails to cover
34
+ </intent>
35
+ ```
36
+
37
+ ---
38
+
39
+ ## Requirements
40
+
41
+ This skill requires:
42
+
43
+ - **Explore subagent**: The `Agent` tool with `subagent_type: "Explore"` must be available
44
+ - **File reading**: Read tool access to analyze target documentation
45
+ - **Local analysis only**: Use only the tools allowed by this skill. Do not call external MCP analysis tools from this
46
+ skill.
47
+
48
+ ---
49
+
50
+ ## Phase 1: Exploration
51
+
52
+ Gather context before analysis. Use the Explore agent to build understanding efficiently.
53
+
54
+ ```
55
+ Tool: Agent
56
+ Parameters:
57
+ subagent_type: "Explore"
58
+ description: "Analyze project documentation"
59
+ prompt: |
60
+ Analyze project documentation:
61
+ 1. If no specific target: Find docs (README, CLAUDE.md, docs/**/*.md)
62
+ 2. If specific file/directory: Read and analyze it
63
+ 3. If question: Find docs that answer it
64
+
65
+ Explain what the document states and how it is structured.
66
+ Do not score quality, recommend fixes, or perform a review.
67
+
68
+ Return structured analysis:
69
+ - Design Decisions: Key choices, rationale, documented considerations
70
+ - Architecture: System structure, components, boundaries
71
+ - Technology Stack: Languages, frameworks, why chosen
72
+ - Design Patterns: Patterns used, where applied, why they fit
73
+ ```
74
+
75
+ ---
76
+
77
+ ## Phase 2: Context-Aware Synthesis
78
+
79
+ After receiving agent analysis:
80
+
81
+ 1. Review agent's findings
82
+ 2. Enrich with conversation context
83
+ 3. Verify against code only when needed to resolve ambiguity or check implementation status
84
+ 4. Present synthesized results
85
+
86
+ ---
87
+
88
+ ## Phase 3: Analysis Framework
89
+
90
+ ```xml
91
+ <analysis_steps>
92
+ Step 1 - Design Decisions:
93
+ For each major decision, extract:
94
+ - What: The choice made
95
+ - Why: Rationale
96
+ - Documented considerations: Trade-offs or constraints mentioned in the document
97
+ - Alternatives mentioned: Options the document explicitly discusses
98
+
99
+ Step 2 - Architecture:
100
+ Map overall structure and organization.
101
+ Identify components and their responsibilities.
102
+ Show boundaries and relationships.
103
+
104
+ Step 3 - Technology Stack:
105
+ For each choice: what, why, alternatives considered, how it fits.
106
+
107
+ Step 4 - Design Patterns:
108
+ Identify patterns: name, where used, why, how applied.
109
+
110
+ Step 5 - Gaps and Ambiguities (deep only):
111
+ Note missing specifications.
112
+ Identify areas with multiple valid interpretations.
113
+ </analysis_steps>
114
+
115
+ <depth_control>
116
+ IF depth = quick:
117
+ Execute steps 1-2 only. Output: <500 words.
118
+ IF depth = detailed:
119
+ Execute steps 1-4. Output: 500-1000 words.
120
+ IF depth = deep:
121
+ Execute all steps with maximum local coverage.
122
+ Output: Comprehensive multi-step investigation.
123
+ </depth_control>
124
+
125
+ <output_contract>
126
+ Task is complete when:
127
+ - key design decisions and their rationale are extracted
128
+ - architecture, component boundaries, and relationships are explained
129
+ - implemented versus aspirational details are distinguished when the docs or code support that distinction
130
+ - important gaps are labeled explicitly instead of guessed
131
+ - interpretation is clearly separated from documented statements
132
+ </output_contract>
133
+
134
+ <verification>
135
+ Before finalizing:
136
+ - Verify major claims map to cited document sections
137
+ - Verify missing information is labeled as missing
138
+ - Verify implementation-status claims are grounded when code was checked
139
+ - Verify the output matches the requested depth
140
+ </verification>
141
+ ```
142
+
143
+ ---
144
+
145
+ ## Output
146
+
147
+ ```xml
148
+ <output_format>
149
+ # Design Understanding: [Project/Document Name]
150
+
151
+ ## Overview
152
+ [High-level design summary - 2-3 sentences]
153
+
154
+ ## Architecture Overview
155
+ ### System Structure
156
+ [Description with component relationships]
157
+
158
+ ### Key Components
159
+ 1. **[Name]**: Responsibility, technology, interactions
160
+
161
+ ## Key Design Decisions
162
+ ### [Category]
163
+ - **Decision**: [choice]
164
+ - **Rationale**: [why]
165
+ - **Documented considerations**: [trade-offs the document discusses, if any]
166
+ - **Alternatives mentioned**: [options the document explicitly names]
167
+
168
+ ## Technology Stack
169
+ | Technology | Purpose | Why Chosen |
170
+ |------------|---------|------------|
171
+
172
+ ## Design Patterns
173
+ ### [Pattern Name]
174
+ - Used in: [location]
175
+ - Purpose: [problem solved]
176
+
177
+ ## How It Relates
178
+ [Connection to current work]
179
+
180
+ ## Key Points
181
+ - [Bulleted summary of what the document establishes]
182
+ </output_format>
183
+
184
+ <output_constraints>
185
+ - Be direct and concise
186
+ - Do not restate the user's request
187
+ - Use structured sections only when they add clarity
188
+ - Stick to documented evidence and label interpretation when needed
189
+ - Note where the document is silent on a topic -- do not rate the gap's severity
190
+ </output_constraints>
191
+ ```