Session state tracking and resume protocol for the multi-step agent workflow. USE FOR: resume session, persist progress, checkpoint recovery, session-state.json schema. DO NOT USE FOR: Azure infrastructure, code generation, architecture design, troubleshooting.
96
95%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Persist agent progress to 00-session-state.json and resume from the last
checkpoint after any interruption — mid-step, cross-step, or direct invocation.
| Concept | Key Detail |
|---|---|
| State file | agent-output/{project}/00-session-state.json |
| Human companion | agent-output/{project}/00-handoff.md |
| Resume detection | Read JSON → check steps.{N}.status → branch accordingly |
| Status values | pending / in_progress / complete / skipped |
| Context budget | Hard limit on files loaded at startup per step (1-3 files) |
| Sub-step tracking | Numbered checkpoint written to sub_step after each phase |
| Write rule | Always overwrite full JSON atomically; always update updated |
00-session-state.json exists?
NO → Fresh start (create from template)
YES → steps.{N}.status?
pending → set "in_progress", proceed
in_progress → read sub_step, skip to checkpoint
complete → inform user, offer re-run
skipped → proceed to next stepstatus: "in_progress", set startedsub_step, append artifacts, update updatedstatus: "complete", set completed, clear sub_stepdecisions objectopen_findings{
"schema_version": "3.0",
"project": "my-project",
"current_step": 2,
"updated": "2026-03-02T10:15:00Z",
"steps": {
"2": {
"status": "in_progress",
"sub_step": "phase_2_waf",
"artifacts": ["agent-output/my-project/02-architecture-assessment.md"]
}
}
}All agents MUST enforce schema version at read time:
schema_version field. If "1.0", "2.0", or missing → migrate to "3.0" immediately:
"schema_version": "3.0""lock" object if present (no longer used)"stale_threshold_ms" if present (no longer used)claim objects from all steps if present (no longer used).tmp, rename to target, keep .bak)"schema_version": "3.0". Never create v1.0 or v2.0 files.schema_version is not "3.0", do NOT proceed with step work.
Migrate first, then proceed.JSON.parse: check file size > 0 bytes00-session-state.json.bak — restore if foundpending, log recovery event.tmp first, rename to target, keep .bak of previous version| Reference | File | Content |
|---|---|---|
| Recovery Protocol | references/recovery-protocol.md | Resume detection, direct invocation, state write protocol, Orchestrator integration, portability |
| State File Schema | references/state-file-schema.md | Full JSON template (v3.0), field definitions, all step definitions |
| Context Budgets | references/context-budgets.md | Per-step file budget table, all sub-step checkpoint tables (Steps 1-7) |
VS Code Copilot executes agents serially — only one agent runs at a time
within a single chat session. The v3.0 schema removed the lock/claim
protocol (previously in v2.0) since concurrent agent execution does not
occur. If two chat sessions target the same project, the last writer wins.
The atomic write protocol (.tmp → rename → .bak) prevents corruption
but does not prevent overwrites.
c9b0b16
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.