continue
Continue an existing Forge project after a pause, restart, or interruption. Triggers: "forge continue", "pick up where we left off", "resume".
SKILL.mdskills/continue/SKILL.md
GitHub<Purpose>
Reads .forge/ state and resumes from the most actionable point. The goal is zero re-explanation —
the user should be able to type "forge continue" and immediately be back in context.
</Purpose>
<Use_When>
- User returns after a session break
- SessionStart detects existing .forge/state.json
- User says "forge continue", "resume", "pick up where we left off"
- KO: "이어서 해줘", "계속해줘", "포지 계속" JA: "続けて", "フォージ続行" ZH: "继续", "锻造继续"
</Use_When>
<Steps>
1. Detect state
Read .forge/state.json. If missing → "No active Forge project. Use forge to start one."
2. Load context (minimal per phase)
| Phase | Files to load |
|---|---|
| 0–1 | state.json only |
| 2 | + spec.md |
| 3 | + spec.md, code-rules.md, design/, contracts/, runtime.json |
| 4–6 | + spec.md, holes/, runtime.json |
| 7 | + spec.md, holes/, delivery-report/ |
If .forge/runtime.json exists, always load it — it has lane ownership, blockers, and handoff notes.
3. Show continuation summary
Keep it short. The user needs three things:
Forge: {{project_name}}
Phase {{N}}/{{8 for build, 7 for repair}} — {{phase_name}}
{{one-line summary of where things stand}}
Next: {{what to do now}}
{{if blockers: list them}}
Examples:
Forge: my-saas-app
Phase 3/8 — develop
3 lanes active, 1 blocked (auth waiting on DB schema)
Next: Continue auth-api lane after resolving DB contract
Forge: my-saas-app
Phase 6/8 — fix
2 blockers remaining (login redirect loop, rate limit bypass)
Next: Diagnose login redirect — attempt 1/3
Do NOT dump every runtime field. Surface only what's actionable.
4. Determine continuation target
Evaluate in this exact order. Take the FIRST match — do not skip ahead.
| Priority | Condition | Action |
|---|---|---|
| 1 | Customer blocker exists | Surface the question. Don't pretend work can continue without user input. |
| 2 | Internal blocker exists | Route to the owning team's phase skill with the blocker context. |
| 3 | Saved analysis is stale, or repair flow has no analysis yet | Route to forge:analyze first. Refresh analysis before phase work continues. |
| 4 | Lane has handoff notes and is in_progress |
Load that lane's task file, worktree, and latest handoff note. Continue in-lane. |
| 5 | Runtime has a designated next lane (next_lane) |
Load that lane's context. This is the lead dev's recommendation for where to pick up. |
| 6 | None of the above | Fall back to the current phase skill. |
The goal: the user types forge continue and lands on the single most useful thing to work on, with full context loaded and zero re-explanation needed.
4a. AgentRecommendation routing
On resume, recommendedAgentsFor() provides layer-classified agent recommendations.
Dispatch agents according to their layer classification (layer0, layer2_subagent, etc.).
Apply staleness-aware dispatch (from state-restore.mjs):
- Fresh (<1hr): full context available — dispatch per layer recommendation immediately
- Warm (1-24hr): abbreviated context — confirm direction with user before dispatching agents
- Stale (>24hr): minimal context — suggest
forge cancelor require explicitforge continueconfirmation before proceeding
5. Phase → skill mapping
Standard mode (build, N/8):
- 0 → forge:intake
- 1 → forge:discovery
- 2 → forge:design
- 3 → forge:develop
- 4 → forge:qa
- 5 → forge:security
- 6 → forge:fix
- 7 → forge:deliver
Repair mode (N/7):
- 0 → forge:intake
- 1 → forge:troubleshoot # focus on reproduction (guidance hint, not a sub-mode parameter)
- 2 → forge:troubleshoot # focus on isolation and root cause (guidance hint, not a sub-mode parameter)
- 3 → forge:fix
- 4 → forge:qa (regress)
- 5 → forge:security (verify)
- 6 → forge:deliver
Express mode:
- plan → forge:discovery (compressed)
- build → forge:develop (inline QA)
- ship → forge:deliver (compressed)
6. Hand off
Invoke the target skill with loaded context. The skill takes over from here.
</Steps> <Tool_Usage> - Read: .forge/state.json, .forge/runtime.json, phase-specific files per table above - Skill: invoke mapped phase skill </Tool_Usage>