ignite
MANDATORY Forge entry point. Use when the user explicitly says "forge", "build a harness", "set up Forge", asks Forge to build a new product, or asks Forge to diagnose/fix/analyze an existing project.
Файлы7
Открыть в GitHubSKILL.mdskills/ignite/SKILL.md
GitHub<Purpose>
Forge is a Virtual Software Company. Ignite is the universal entry point.
Two modes:
- BUILD mode: idea → spec → design → development → QA → delivery
- REPAIR mode: existing project → diagnosis → fix → QA → delivery
The CEO evaluates the request and routes to the right mode. After kickoff, Forge should operate like an internal software company: the client gives the request, answers minimum critical questions, and reviews the delivery at the end. Internal teams own the rest. </Purpose>
<Use_When> - User invokes /forge:ignite or says "forge" - BUILD: "build me a ~~", "I want an app that ~~", "create a ~~" - REPAIR: "fix this bug", "analyze this error", "why isn't this working?" - KO: "만들어줘", "고쳐줘", "포지" JA: "作って", "直して", "フォージ" ZH: "做一个", "修复", "锻造" - User wants team-based development or debugging </Use_When> <Do_Not_Use_When> - User is already in a Forge session (use phase-specific skills like forge:continue) - Trivial one-line change that doesn't need team process </Do_Not_Use_When> <Core_Principles> 1. No Evidence, No Code — never write code without evidence 2. No Ambiguity, No Start — if unclear, ask questions instead of implementing 3. No Hole Left Behind — every discovered gap must be tracked 4. Right Architecture, Right Scale — optimal design matched to project scale 5. No Handoff Without Understanding — no handoff without confirmed comprehension Each phase transition requires a Handoff Interview: the receiving team reads artifacts, generates domain-specific questions, CEO triages (internal vs client), questions are resolved, and receiving team confirms understanding before starting work. Load `references/handoff-interview.md` for the full protocol. </Core_Principles> <Execution_Policy> - Each Phase MUST complete before the next begins - The client is NOT the default phase approver; internal readiness gates decide phase progress - Ask the client only when a blocker is truly customer-owned or critical ambiguity would cause the wrong product to be built - State is persisted in .forge/ directory - Cancel with "forge cancel" at any time - Load `references/phase-map.md` for the compact phase sequence. - Load `references/handoff-interview.md` for the handoff interview protocol between phases. - Load `references/constraint-propagation.md` when an artifact changes and downstream impact must be tracked. - Load `references/context-budget.md` when dispatching agents to determine correct context loading. - Load `references/harness-learning.md` at project start (intake) to check lessons from past projects, and at delivery to record new lessons. - Load `references/harness-ab-eval.md` when asked to prove Forge's value against a baseline. </Execution_Policy> <Steps> Phase 0 — INTAKE (CEO): 1. Read the client's request 1b. **Lessons Check**: CEO loads global lessons from ~/.claude/forge-lessons/ (if exists) - Match project type against lesson `applies_when` conditions - Relevant lessons → record in state.json as `lessons_brief` - If no global lessons exist → log "No global lessons found, skipping" and set lessons_brief=[] - Pattern lessons feed into CTO's code-rules, QA's test plan - Estimation lessons calibrate scope assessment 2. **Internal Deliberation** — CEO does not decide alone; holds internal meeting: - CEO asks CTO for technical feasibility assessment + alternative architectures (using context7) - If client intent is ambiguous, asks PM for interpretation - CEO synthesizes after collecting CTO + PM input - Present to client as "Here's how we can do it" (internal deliberation process is not exposed)2b. Express Qualification Check: Before routing to full BUILD or REPAIR pipeline, CEO evaluates if the task qualifies for express mode.
[Express-qualified tasks] (route to forge:express):
- Single feature with bounded scope (1-3 files expected)
- Clear requirements, no ambiguity
- No architecture decisions needed
- Bug fix with known location
- Documentation or config changes
- User explicitly says "quick", "simple", "express"
[Full pipeline tasks] (route to forge:discovery or troubleshooter):
- Multi-system changes
- Architecture decisions needed
- Unclear requirements requiring PM interview
- Security-sensitive changes
- User explicitly requests full process
**CEO Decision**: If express-qualified AND user hasn't requested full pipeline:
→ Initialize .forge/ with mode="express", tier="medium"
→ Route directly to forge:express (skips discovery + design)
**Default**: When unclear, prefer full pipeline. It's better to over-process than under-process.
CEO agent evaluates and ROUTES:
[BUILD mode] — new product request "build me", idea description → Can we build this? If not directly, what alternative achieves the same goal? → GO: initialize .forge/, Phase 1 (Discovery)
[REPAIR mode] — existing project fix/analysis "fix", "bug", "analyze", "what's wrong" → Existing codebase detected? → REPAIR Intake: Generate minimal baseline artifacts
- Read existing codebase structure and create minimal spec.md (scope, constraints, known architecture)
- Extract existing code conventions into code-rules.md
- Scan for existing interfaces/types and populate .forge/contracts/ with stubs → Dispatch Troubleshooter for diagnosis → Diagnosis → Fix → QA → Deliver (skip full Phase 1-3)
If unclear which mode or critical customer intent is missing → ask the client
BUILD: initialize .forge/ directory with state.json (from templates/state.json), hand off to PM
- state.json MUST include: artifact_versions={}, staleness={}, lessons_brief=[]
- These fields are required for constraint propagation and harness learning
REPAIR: initialize .forge/ with mode="repair" (same template fields), hand off to Troubleshooter
Phase 1 — DISCOVERY (PM):
- Invoke forge:discovery skill
- PM interviews the client with understanding verification loops
- After each major topic, PM summarizes understanding back to client
- Client confirms or corrects before moving to next topic
- Generate spec.md from template
- Internal assumptions and validation targets are recorded
- Pre-handoff: PM pre-generates questions CTO/Designer will likely have
- PM anticipates technical/design ambiguities in the spec
- CEO reviews and resolves what can be answered internally
- CEO reviews spec readiness → internal GO to Phase 2
Phase 2 — DESIGN (CTO + Designer):
- Handoff Interview: CTO + Designer read spec.md and generate domain questions
- CTO: technical feasibility questions, missing constraints, integration gaps
- Designer: UX flow gaps, missing states, interaction ambiguities
- CEO triages: internal (PM/CEO answers) vs client-owned (ask client)
- Questions resolved before design work begins
- Invoke forge:design skill
- CTO: architecture + code-rules.md + interface contracts
- Designer: UI/UX spec + component definitions
- Cross-review between CTO and Designer
- Fact checker validates all technical claims via context7
- Pre-handoff: CTO generates implementation questions Lead Dev will need
- CTO + Designer + fact-checker confirm design readiness → Phase 3
Phase 3 — DEVELOPMENT (Lead + Devs + Publisher):
- Handoff Interview: Lead reads architecture, contracts, code-rules, components
- Lead generates implementation questions (ambiguous boundaries, unclear contracts)
- CEO triages: CTO answers technical, Designer answers UX, client if business-owned
- Lead confirms understanding before splitting tasks
- Invoke forge:develop skill
- Lead splits work into tasks, creates git worktrees
- Each developer/publisher works in isolated worktree
- PR-based merge with 3-tier review (auto → lead → CTO)
- Code rules enforced — inconsistent code is REJECTED
- All required lanes merged and internally verified → Phase 4
Phase 4 — QA (QA Engineer):
- Invoke forge:qa skill
- Functional, visual, contract, regression, edge-case testing
- Issues go to bug tracker (.forge/holes/)
- Blockers → Phase 6, No blockers → Phase 5
Phase 5 — SECURITY (Security Reviewer):
- Invoke forge:security skill
- OWASP Top 10, secrets scan, auth/authz review
- Security issues = blockers → Phase 6
Phase 6 — FIX LOOP (Fact Checker + Devs + Troubleshooter):
- Invoke forge:fix skill
- Simple issues: fact-check → dev fix → QA re-verify
- Complex issues: troubleshooter RCA → dev fix → QA re-verify
- Max 3 iterations on the same blocker before CEO escalates to the client with alternatives
- All blockers resolved → Phase 7
Phase 7 — DELIVERY (CEO + Tech Writer):
- Invoke forge:deliver skill
- Tech writer generates docs (README, API docs, deploy guide)
- QA + Security + CEO confirm delivery readiness
- CEO compiles delivery report and presents it to the client for final review</Steps>
.forge/ ├── state.json ← current phase, progress, active agents, artifact_versions, staleness ├── spec.md ← client-approved spec (Phase 1 output) ├── code-rules.md ← CTO-defined code rules (Phase 2 output) ├── design/ ← architecture + UI design (Phase 2 output) ├── contracts/ ← interface contracts (Phase 2 output) ├── evidence/ ← fact-checker verification results ├── holes/ ← discovered issues ├── tasks/ ← work unit definitions ├── worktrees/ ← git worktree directories ├── knowledge/ ← project knowledge base ├── lessons/ ← harness learning: lessons from QA, fixes, and delivery └── delivery-report/← final delivery docs
state.json includes artifact_versions and staleness fields for constraint propagation.
See references/constraint-propagation.md for the full protocol.
</State_Management>
Forge Progress: ┌─────────────────────────────────┐ │ Phase: N/{max} ({phase_name}) │ │ ████████░░░░ XX% │ │ │ │ ✅ Completed │ │ 🔄 In Progress │ │ ⏳ Pending │ │ │ │ Known Issues: N │ │ Needs Client Input: N │ └─────────────────────────────────┘ </Dashboard>
<Rollback> Each Phase completion creates a git tag: forge/v{N}-{phase_name}Client can request rollback: "The earlier design was better" → rollback to forge/v1-design → continue from Phase 2 </Rollback>
<Tool_Usage> - Use Agent tool to dispatch team members (CEO, PM, CTO, etc.) - Use Write for .forge/tasks/ and .forge/state.json tracking - Use Bash for git operations (worktree, branch, tag, merge) - Use Write for .forge/ state files - Use Read for loading specs, contracts, code-rules - Do NOT use tools without evidence (PreToolUse guard may deny code writes when harness prerequisites are missing) - Treat the customer as the client, not the internal project manager </Tool_Usage>