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.
- forge/__init__.py +3 -0
- forge/_extensions/agents/.gitkeep +0 -0
- forge/_extensions/commands/.gitkeep +0 -0
- forge/_extensions/skills/analyze/SKILL.md +87 -0
- forge/_extensions/skills/challenge/SKILL.md +91 -0
- forge/_extensions/skills/consensus/SKILL.md +120 -0
- forge/_extensions/skills/consensus/resources/code_consensus_evaluation.md +94 -0
- forge/_extensions/skills/consensus/resources/consensus_evaluation.md +70 -0
- forge/_extensions/skills/consensus/resources/synthesis.md +101 -0
- forge/_extensions/skills/debate/SKILL.md +116 -0
- forge/_extensions/skills/debate/resources/code_debate_evaluation.md +101 -0
- forge/_extensions/skills/debate/resources/debate_evaluation.md +90 -0
- forge/_extensions/skills/panel/SKILL.md +141 -0
- forge/_extensions/skills/panel/resources/synthesis.md +103 -0
- forge/_extensions/skills/qa/SKILL.md +704 -0
- forge/_extensions/skills/qa/resources/checklist/0-enable.md +78 -0
- forge/_extensions/skills/qa/resources/checklist/1-preflight.md +24 -0
- forge/_extensions/skills/qa/resources/checklist/10-resume.md +143 -0
- forge/_extensions/skills/qa/resources/checklist/11-config.md +150 -0
- forge/_extensions/skills/qa/resources/checklist/12-search.md +58 -0
- forge/_extensions/skills/qa/resources/checklist/13-guard.md +237 -0
- forge/_extensions/skills/qa/resources/checklist/14-workflow.md +305 -0
- forge/_extensions/skills/qa/resources/checklist/15-skills.md +155 -0
- forge/_extensions/skills/qa/resources/checklist/16-handoff.md +224 -0
- forge/_extensions/skills/qa/resources/checklist/17-info.md +50 -0
- forge/_extensions/skills/qa/resources/checklist/18-disable.md +84 -0
- forge/_extensions/skills/qa/resources/checklist/19-uninstall.md +146 -0
- forge/_extensions/skills/qa/resources/checklist/2-extensions.md +188 -0
- forge/_extensions/skills/qa/resources/checklist/20-cleanup.md +36 -0
- forge/_extensions/skills/qa/resources/checklist/3-auth.md +234 -0
- forge/_extensions/skills/qa/resources/checklist/4-proxy.md +481 -0
- forge/_extensions/skills/qa/resources/checklist/5-session.md +541 -0
- forge/_extensions/skills/qa/resources/checklist/6-hooks.md +275 -0
- forge/_extensions/skills/qa/resources/checklist/7-costs.md +309 -0
- forge/_extensions/skills/qa/resources/checklist/8-status-line.md +174 -0
- forge/_extensions/skills/qa/resources/checklist/9-direct-commands.md +146 -0
- forge/_extensions/skills/qa/resources/checklist.md +103 -0
- forge/_extensions/skills/qa/resources/report-template.md +62 -0
- forge/_extensions/skills/qa/scripts/start-container.sh +529 -0
- forge/_extensions/skills/qa/scripts/walkthrough-state.py +1137 -0
- forge/_extensions/skills/review/SKILL.md +125 -0
- forge/_extensions/skills/review/references/claude-4.6.md +474 -0
- forge/_extensions/skills/review/references/claude-4.7.md +710 -0
- forge/_extensions/skills/review/references/gemini-3.1.md +546 -0
- forge/_extensions/skills/review/references/gpt-5.5.md +490 -0
- forge/_extensions/skills/review/references/skills-writing-guide.md +1588 -0
- forge/_extensions/skills/review/resources/code-anthropic.md +160 -0
- forge/_extensions/skills/review/resources/code-gemini.md +184 -0
- forge/_extensions/skills/review/resources/code-openai.md +203 -0
- forge/_extensions/skills/review/resources/code.md +160 -0
- forge/_extensions/skills/review-docs/SKILL.md +121 -0
- forge/_extensions/skills/review-docs/resources/docs-anthropic.md +170 -0
- forge/_extensions/skills/review-docs/resources/docs-gemini.md +204 -0
- forge/_extensions/skills/review-docs/resources/docs-openai.md +231 -0
- forge/_extensions/skills/review-docs/resources/docs.md +170 -0
- forge/_extensions/skills/smoke-test/SKILL.md +27 -0
- forge/_extensions/skills/smoke-test/scripts/smoke-test.sh +118 -0
- forge/_extensions/skills/understand/SKILL.md +148 -0
- forge/_extensions/skills/understand/resources/code-anthropic.md +163 -0
- forge/_extensions/skills/understand/resources/code-gemini.md +194 -0
- forge/_extensions/skills/understand/resources/code-openai.md +181 -0
- forge/_extensions/skills/understand/resources/code.md +163 -0
- forge/_extensions/skills/understand/resources/docs-anthropic.md +177 -0
- forge/_extensions/skills/understand/resources/docs-gemini.md +202 -0
- forge/_extensions/skills/understand/resources/docs-openai.md +191 -0
- forge/_extensions/skills/understand/resources/docs.md +177 -0
- forge/_extensions/skills/walkthrough/SKILL.md +599 -0
- forge/_extensions/skills/walkthrough/resources/checklist.md +765 -0
- forge/_extensions/skills/walkthrough/scripts/run-in-repo.sh +118 -0
- forge/_extensions/skills/walkthrough/scripts/setup-test-repo.sh +198 -0
- forge/_extensions/skills/walkthrough/scripts/walkthrough-state.py +1137 -0
- forge/backend/__init__.py +174 -0
- forge/backend/adapters/__init__.py +38 -0
- forge/backend/adapters/litellm.py +158 -0
- forge/backend/creation.py +89 -0
- forge/backend/registry.py +178 -0
- forge/cli/__init__.py +16 -0
- forge/cli/auth.py +483 -0
- forge/cli/backend.py +298 -0
- forge/cli/claude.py +411 -0
- forge/cli/config_cmd.py +303 -0
- forge/cli/extensions.py +1001 -0
- forge/cli/gc.py +165 -0
- forge/cli/guard.py +1018 -0
- forge/cli/guards.py +106 -0
- forge/cli/handoff.py +110 -0
- forge/cli/hooks/__init__.py +36 -0
- forge/cli/hooks/_group.py +20 -0
- forge/cli/hooks/_helpers.py +149 -0
- forge/cli/hooks/commands.py +1677 -0
- forge/cli/hooks/direct_commands.py +1304 -0
- forge/cli/hooks/install.py +232 -0
- forge/cli/hooks/policy.py +151 -0
- forge/cli/hooks/read_hygiene.py +74 -0
- forge/cli/hooks/verification.py +370 -0
- forge/cli/logs.py +406 -0
- forge/cli/main.py +292 -0
- forge/cli/proxy.py +1821 -0
- forge/cli/proxy_costs.py +313 -0
- forge/cli/search.py +416 -0
- forge/cli/session.py +892 -0
- forge/cli/session_addendum.py +81 -0
- forge/cli/session_fork.py +750 -0
- forge/cli/session_handoff.py +141 -0
- forge/cli/session_lifecycle.py +2053 -0
- forge/cli/session_manage.py +1336 -0
- forge/cli/session_memory.py +201 -0
- forge/cli/status_line.py +1398 -0
- forge/cli/workflow.py +1964 -0
- forge/config/__init__.py +110 -0
- forge/config/dataclass_utils.py +88 -0
- forge/config/defaults/__init__.py +0 -0
- forge/config/defaults/backends/__init__.py +0 -0
- forge/config/defaults/backends/litellm.yaml +196 -0
- forge/config/defaults/templates/__init__.py +0 -0
- forge/config/defaults/templates/litellm-anthropic-local.yaml +33 -0
- forge/config/defaults/templates/litellm-anthropic.yaml +24 -0
- forge/config/defaults/templates/litellm-gemini-flash-local.yaml +37 -0
- forge/config/defaults/templates/litellm-gemini-local.yaml +32 -0
- forge/config/defaults/templates/litellm-gemini-test.yaml +34 -0
- forge/config/defaults/templates/litellm-gemini.yaml +21 -0
- forge/config/defaults/templates/litellm-openai-codex-local.yaml +36 -0
- forge/config/defaults/templates/litellm-openai-local.yaml +38 -0
- forge/config/defaults/templates/litellm-openai.yaml +28 -0
- forge/config/defaults/templates/openrouter-anthropic.yaml +23 -0
- forge/config/defaults/templates/openrouter-deepseek.yaml +26 -0
- forge/config/defaults/templates/openrouter-gemini-flash.yaml +26 -0
- forge/config/defaults/templates/openrouter-gemini.yaml +23 -0
- forge/config/defaults/templates/openrouter-glm.yaml +23 -0
- forge/config/defaults/templates/openrouter-kimi.yaml +30 -0
- forge/config/defaults/templates/openrouter-minimax.yaml +26 -0
- forge/config/defaults/templates/openrouter-openai-codex.yaml +23 -0
- forge/config/defaults/templates/openrouter-openai.yaml +28 -0
- forge/config/defaults/templates/openrouter-qwen.yaml +25 -0
- forge/config/loader.py +675 -0
- forge/config/schema.py +448 -0
- forge/core/__init__.py +5 -0
- forge/core/auth/__init__.py +67 -0
- forge/core/auth/capabilities.py +219 -0
- forge/core/auth/credentials_file.py +244 -0
- forge/core/auth/protocols.py +18 -0
- forge/core/auth/secrets.py +243 -0
- forge/core/auth/template_secrets.py +112 -0
- forge/core/data/__init__.py +5 -0
- forge/core/data/model_catalog.yaml +1522 -0
- forge/core/data/pricing.yaml +140 -0
- forge/core/data/system_prompt_addendums/__init__.py +0 -0
- forge/core/data/system_prompt_addendums/gemini.md +330 -0
- forge/core/data/system_prompt_addendums/openai.md +328 -0
- forge/core/llm/__init__.py +231 -0
- forge/core/llm/clients/__init__.py +14 -0
- forge/core/llm/clients/base.py +115 -0
- forge/core/llm/clients/litellm.py +619 -0
- forge/core/llm/clients/openai_compat.py +244 -0
- forge/core/llm/clients/openrouter.py +234 -0
- forge/core/llm/credentials.py +439 -0
- forge/core/llm/detection.py +86 -0
- forge/core/llm/errors.py +44 -0
- forge/core/llm/protocols.py +80 -0
- forge/core/llm/types.py +176 -0
- forge/core/logging.py +146 -0
- forge/core/models/__init__.py +91 -0
- forge/core/models/catalog.py +467 -0
- forge/core/models/pricing.py +165 -0
- forge/core/models/types.py +167 -0
- forge/core/naming.py +212 -0
- forge/core/ops/__init__.py +73 -0
- forge/core/ops/context.py +141 -0
- forge/core/ops/gc.py +802 -0
- forge/core/ops/proxy.py +146 -0
- forge/core/ops/resolution.py +135 -0
- forge/core/ops/session.py +344 -0
- forge/core/ops/session_context.py +548 -0
- forge/core/paths.py +38 -0
- forge/core/process.py +54 -0
- forge/core/reactive/__init__.py +38 -0
- forge/core/reactive/cost_tracking.py +300 -0
- forge/core/reactive/env.py +180 -0
- forge/core/reactive/proxy.py +78 -0
- forge/core/reactive/routing.py +622 -0
- forge/core/reactive/session_runner.py +185 -0
- forge/core/reactive/structured_output.py +62 -0
- forge/core/reactive/tagger.py +94 -0
- forge/core/reactive/throttle.py +132 -0
- forge/core/state/__init__.py +59 -0
- forge/core/state/exceptions.py +59 -0
- forge/core/state/io.py +140 -0
- forge/core/state/lock.py +99 -0
- forge/core/state/timestamps.py +60 -0
- forge/core/transcript.py +78 -0
- forge/core/typing_helpers.py +24 -0
- forge/core/workqueue/__init__.py +67 -0
- forge/core/workqueue/queue.py +552 -0
- forge/core/workqueue/types.py +63 -0
- forge/guard/__init__.py +26 -0
- forge/guard/deterministic/__init__.py +26 -0
- forge/guard/deterministic/base.py +158 -0
- forge/guard/deterministic/coding_standards.py +256 -0
- forge/guard/deterministic/registry.py +148 -0
- forge/guard/deterministic/tdd.py +171 -0
- forge/guard/engine.py +216 -0
- forge/guard/protocols.py +91 -0
- forge/guard/queries.py +96 -0
- forge/guard/semantic/__init__.py +34 -0
- forge/guard/semantic/promotion.py +18 -0
- forge/guard/semantic/supervisor.py +813 -0
- forge/guard/semantic/verdict.py +183 -0
- forge/guard/store.py +124 -0
- forge/guard/team/__init__.py +6 -0
- forge/guard/team/config.py +24 -0
- forge/guard/team/handlers.py +209 -0
- forge/guard/team/prompts.py +41 -0
- forge/guard/types.py +125 -0
- forge/guard/workflow/__init__.py +17 -0
- forge/guard/workflow/branches.py +67 -0
- forge/guard/workflow/config.py +63 -0
- forge/guard/workflow/divergence.py +113 -0
- forge/guard/workflow/policy.py +87 -0
- forge/guard/workflow/stages.py +205 -0
- forge/install/__init__.py +55 -0
- forge/install/cli.py +281 -0
- forge/install/exceptions.py +163 -0
- forge/install/hooks.py +109 -0
- forge/install/installer.py +1037 -0
- forge/install/models.py +321 -0
- forge/install/preset.py +272 -0
- forge/install/settings_merge.py +831 -0
- forge/install/tracking.py +238 -0
- forge/install/version.py +141 -0
- forge/proxy/__init__.py +0 -0
- forge/proxy/base_client.py +181 -0
- forge/proxy/client_adapter.py +476 -0
- forge/proxy/client_factory.py +531 -0
- forge/proxy/converters.py +1206 -0
- forge/proxy/cost_logger.py +132 -0
- forge/proxy/cost_tracker.py +242 -0
- forge/proxy/data_models.py +338 -0
- forge/proxy/error_hints.py +92 -0
- forge/proxy/metrics.py +222 -0
- forge/proxy/model_spec.py +158 -0
- forge/proxy/proxies.py +333 -0
- forge/proxy/proxy_identity.py +134 -0
- forge/proxy/proxy_orchestrator.py +1018 -0
- forge/proxy/proxy_startup.py +54 -0
- forge/proxy/server.py +1561 -0
- forge/proxy/utils.py +537 -0
- forge/review/__init__.py +6 -0
- forge/review/adversarial.py +111 -0
- forge/review/consensus.py +236 -0
- forge/review/engine.py +356 -0
- forge/review/models.py +437 -0
- forge/review/resources/__init__.py +5 -0
- forge/review/resources/codereview-performance.md +85 -0
- forge/review/resources/codereview-quick.md +75 -0
- forge/review/resources/codereview-security.md +92 -0
- forge/review/resources/codereview.md +85 -0
- forge/review/resources/docreview-quick.md +75 -0
- forge/review/resources/docreview.md +86 -0
- forge/review/resources/thinkdeep.md +89 -0
- forge/review/routing.py +368 -0
- forge/review/synthesis.py +73 -0
- forge/runtime_config.py +438 -0
- forge/search/__init__.py +55 -0
- forge/search/bm25_store.py +264 -0
- forge/search/content_store.py +197 -0
- forge/search/engine.py +352 -0
- forge/search/exceptions.py +51 -0
- forge/search/extractor.py +234 -0
- forge/search/index_state.py +295 -0
- forge/search/store.py +215 -0
- forge/search/tokenizer.py +24 -0
- forge/session/__init__.py +130 -0
- forge/session/active.py +339 -0
- forge/session/artifacts.py +202 -0
- forge/session/claude/__init__.py +50 -0
- forge/session/claude/cleanup.py +105 -0
- forge/session/claude/invoke.py +236 -0
- forge/session/claude/paths.py +200 -0
- forge/session/cleanup.py +216 -0
- forge/session/config.py +34 -0
- forge/session/direct_model.py +107 -0
- forge/session/effective.py +169 -0
- forge/session/exceptions.py +255 -0
- forge/session/handoff.py +881 -0
- forge/session/handoff_agent.py +544 -0
- forge/session/hooks/__init__.py +35 -0
- forge/session/hooks/models.py +73 -0
- forge/session/hooks/session_start.py +507 -0
- forge/session/identity.py +84 -0
- forge/session/index.py +553 -0
- forge/session/manager.py +1506 -0
- forge/session/models.py +572 -0
- forge/session/overrides.py +344 -0
- forge/session/plan_resolution.py +286 -0
- forge/session/prev_sessions.py +128 -0
- forge/session/store.py +431 -0
- forge/session/validation.py +47 -0
- forge/session/worktree/__init__.py +65 -0
- forge/session/worktree/cleanup.py +262 -0
- forge/session/worktree/config_copy.py +203 -0
- forge/session/worktree/create.py +332 -0
- forge/sidecar/__init__.py +29 -0
- forge/sidecar/container.py +161 -0
- forge/sidecar/docker.py +86 -0
- forge/sidecar/secrets.py +19 -0
- multi_forge-0.2.0.dist-info/METADATA +242 -0
- multi_forge-0.2.0.dist-info/RECORD +311 -0
- multi_forge-0.2.0.dist-info/WHEEL +4 -0
- multi_forge-0.2.0.dist-info/entry_points.txt +2 -0
- multi_forge-0.2.0.dist-info/licenses/LICENSE +203 -0
- 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
|
+
```
|