Mission Lifecycle Framework

Mission/Slice SOP — Part A

by mvschwarz · Apache-2.0 license · ★ 4,707 on GitHub

Mission/Slice SOP — Part A cover

Use when starting, building, handing off, restoring, or closing a mission or slice under the default lightweight SDLC.

---
name: mission-slice-sop
description: >-
  Use when starting, building, handing off, restoring, or closing a mission or slice under the default lightweight SDLC.
metadata:
  openrig:
    stage: shipped
    sibling_skills:
      - queue-handoff
      - seat-continuity-and-handover
      - claude-compaction-restore
---

# Mission/Slice SOP — Part A

Use this skill to actually **do** mission/slice work: track on the canonical files, record what you proved, hand off through them, and survive compaction on them. **Do the work described here; do not merely explain the protocol.**

**Full convention SSOT:** repo `docs/reference/sdlc-conventions.md`; installed `$OPENRIG_HOME/reference/sdlc-conventions.md`. This skill is the concise Part-A teaching surface and does not replace the full convention.

Overview

Use this skill to actually do mission/slice work: track on the canonical files, record what you proved, hand off through them, and survive compaction on them. Do the work described here; do not merely explain the protocol.

Manual install (npx, ZIP)
Claude Codenpx skills add mvschwarz/openrig --skill mission-slice-sop -g -a claude-code
Claude Code (degit)npx degit mvschwarz/openrig/packages/daemon/assets/plugins/openrig-core/skills/mission-slice-sop#main ~/.claude/skills/mission-slice-sop
Claude.ai / desktopZip the folder and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md8.1 KB
Read SKILL.md here
mvschwarz/main1 file shown
SKILL.md
Show the full text109 lines

Mission/Slice SOP — Part A

Use this skill to actually do mission/slice work: track on the canonical files, record what you proved, hand off through them, and survive compaction on them. Do the work described here; do not merely explain the protocol.

Full convention SSOT: repo docs/reference/sdlc-conventions.md; installed $OPENRIG_HOME/reference/sdlc-conventions.md. This skill is the concise Part-A teaching surface and does not replace the full convention.

Resolve the work first

Run rig whoami --json, then resolve project.yaml -> mission.yaml -> active slice.yaml -> selected component or wave map -> addressed context. The complete lookup and precedence rule is docs/reference/product-journey-sdlc.md#resolve-the-selected-path (installed: $OPENRIG_HOME/reference/product-journey-sdlc.md#resolve-the-selected-path). Read the selected addresses and source needed for this task; skills available in your profile are capabilities, not a mandatory reading list. No composition means light Part A. Role names and idle seats add no gates. Explicit rigor and authored wave boundaries retain their named checks.

The light inner loop is ground yourself → build → test with your own eyes → iterate → record and return the whole outcome. The builder may hold this check on a tiny change. Independent review runs only when selected, and once at an authored wave boundary rather than once per slice.

Part B is defined in the conventions SSOT and runs only when explicitly assigned to named work. If you believe it is needed, state the reason to the owner and continue on the selected path until that choice changes.

Proportionality — this SOP serves shipping; it is not the work itself

The working product is the deliverable. This bookkeeping exists so the work survives handoff, compaction, and review — nothing more. Match it to stakes. The rig scope audit backstop is advisory and fail-open: it never blocks a build and is not a gate you clear before proceeding. If you're spending more time on the convention files or the audit than on the running product, stop and go build. Running the full apparatus on a small change is the letter-worship failure, not diligence.

The three role contracts

  • Planning agent: records what the slice is for and what "done" looks like, in the slice's own words; produces mockups for UI deliverables so the builder has something to look at (a UI slice with no mockup is an incomplete plan; non-UI slices have none — not a gate).
  • Build agent: builds it, and looks at the mockups. Verifies by running the thing.
  • QA agent (owns the compare): compares planned vs delivered per deliverable, records the verdict and the note. On mismatch: fix-and-re-review, or kick back with the reason — never escalate a raw mismatch to the human.

These three are a division of labour, not a chain of gates. One agent may hold all three on a small slice.

The current file contract

These files are the operating surface of the work — you track on them, record on them, hand off through them, and survive compaction on them. Keep them current because that is what lets the work survive. But they serve the product; they are not the product. If you're polishing files while the actual thing isn't shipping, you've inverted it: go build, then update them.

  • Slice: SPEC.md, PROGRESS.md, PROOF.md, and proof/.
  • Mission: SPEC.md and NOTES.md.

Per-file rules — WHO / WHEN / HOW

SPEC.md
  • WHO: the planning owner authors it; builders and reviewers read it as the scope and intent source.
  • WHEN: at creation and whenever scope changes.
  • HOW: a slice carries intent: in frontmatter and opens with ## Intent, ## Mini-requirements, and ## Proof contract. A mission carries its intent and mission-level specification in the same authored node file. Keep depth proportional to the work.
PROGRESS.md
  • WHO: the orchestrator owns the current state; every agent logs its own outcomes.
  • WHEN: on material delivery-state changes and at acceptance.
  • HOW: keep current delivery state in ## Current state; append material outcomes with links to proof under ## Outcomes. Retain historical entries and existing checkboxes without treating them as current acceptance authority. For a selected proof policy, use rig proof show <slice> for current readiness; keep frontmatter stage/verified honest.
PROOF.md + proof/
  • WHO: the impl/QA pair that worked the slice.
  • WHEN: before you call a slice done.
  • HOW: say what you verified and how you verified it — by effect: you ran it and looked at the result. Put supporting media under proof/. State plainly what is proven and what is not; an honest "this half is untested" is worth more than a checkmark. If a drop verb is in play for this slice, prefer it over hand-placing files so the artifact carries its own provenance.
NOTES.md
  • WHO: any agent updates §1 (top-of-mind); each seat owns and appends to its own §A–§X.
  • WHEN: on material mission-context changes; a compacting agent files its state here BEFORE compaction and reads it on restore.
  • HOW: accruing tribal knowledge — §1 ≤ 5–15 lines (gates, open decisions, surprises); per-seat continuation entries (latest = truth; other seats read-only). Pointer-first; don't duplicate.

The lifecycle (4 legs)

SCAFFOLD (rig scope creates the files from templates) → POPULATE (agents fill them as work happens) → PROJECT (the Living Notes UI reads them into INTENT → PLAN → DELIVERED) → VERIFY (rig scope audit, advisory). "Loose freeform write + deterministic verify."

Hot-potato (handoffs)

End every turn by passing the ball — a rig queue handoff to the next agent. The handoff verb is transactional: it closes the source as handed-off and mints the successor owned by --to, so the baton cannot be dropped. A handoff terminates only at the orchestrator seat, which holds the context to judge whether a park is legitimate.

A plain rig queue create row is informational — a durable message. It is not a baton and does not carry this obligation. Use handoff when you are passing real work; use create when you are informing.

Never go idle holding a baton.

Verify (deterministic backstop)

Run rig scope audit at slice-close. Every convention check is advisory / fail-open — it records and advises, never blocks a write. Fix what's real, skip what isn't, keep moving. A clean audit score is not required to proceed.

Reading terminal captures — KNOWN GOTCHA: ghost-text autocomplete is NOT real

When you rig capture a pane, greyed / ghost autocomplete suggestions are NOT real content — they are autocomplete previews, not typed, staged, or committed input. This has been faking agents out a lot: reading a ghost suggestion in a peer's input box as "staged text they're about to send," then reasoning on a string that was never there.

Rule: ignore ghost/autosuggest text entirely. Only committed/rendered pane output is real. When it matters, verify at source (git, the queue, the actual event) — never off a capture's ghost line.

Moment-of-truth checklist

  • Starting a slice? → do you know what it's for and what done looks like? mockups attached (UI slices)? Are you on the light path? (You are, unless the mission owner assigned the overlay.)
  • Finishing a slice? → does PROOF.md say what you actually verified, by effect, including what is NOT covered? PROGRESS.md updated? mission NOTES.md refreshed? handed off via rig queue handoff?
  • Compacting? → file your state in mission NOTES.md; on restore, read it plus the active slice's SPEC.md, PROGRESS.md, and PROOF.md.
  • Starting on a mission? → read mission SPEC.md, NOTES.md, and the conventions SSOT.
1---
2name: mission-slice-sop
3description: >-
4 Use when starting, building, handing off, restoring, or closing a mission or slice under the default lightweight SDLC.
5metadata:
6 openrig:
7 stage: shipped
8 sibling_skills:
9 - queue-handoff
10 - seat-continuity-and-handover
11 - claude-compaction-restore
12---
13 
14# Mission/Slice SOP — Part A
15 
16Use this skill to actually **do** mission/slice work: track on the canonical files, record what you proved, hand off through them, and survive compaction on them. **Do the work described here; do not merely explain the protocol.**
17 
18**Full convention SSOT:** repo `docs/reference/sdlc-conventions.md`; installed `$OPENRIG_HOME/reference/sdlc-conventions.md`. This skill is the concise Part-A teaching surface and does not replace the full convention.
19 
20## Resolve the work first
21 
22Run `rig whoami --json`, then resolve `project.yaml -> mission.yaml -> active
23slice.yaml -> selected component or wave map -> addressed context`. The complete
24lookup and precedence rule is `docs/reference/product-journey-sdlc.md#resolve-the-selected-path`
25(installed: `$OPENRIG_HOME/reference/product-journey-sdlc.md#resolve-the-selected-path`).
26Read the selected addresses and source needed for this task; skills available in
27your profile are capabilities, not a mandatory reading list. No composition means
28light Part A. Role names and idle seats add no gates. Explicit rigor and authored
29wave boundaries retain their named checks.
30 
31The light inner loop is ground yourself → build → test with your own eyes →
32iterate → record and return the whole outcome. The builder may hold this check
33on a tiny change. Independent review runs only when selected, and once at an
34authored wave boundary rather than once per slice.
35 
36Part B is defined in the conventions SSOT and runs only when explicitly assigned
37to named work. If you believe it is needed, state the reason to the owner and
38continue on the selected path until that choice changes.
39 
40## Proportionality — this SOP serves shipping; it is not the work itself
41 
42The working product is the deliverable. This bookkeeping exists so the work survives handoff, compaction, and review — nothing more. **Match it to stakes.** The `rig scope audit` backstop is **advisory and fail-open**: it never blocks a build and is not a gate you clear before proceeding. If you're spending more time on the convention files or the audit than on the running product, stop and go build. Running the full apparatus on a small change is the letter-worship failure, not diligence.
43 
44## The three role contracts
45 
46- **Planning agent:** records what the slice is for and what "done" looks like, in the slice's own words; produces mockups for UI deliverables so the builder has something to look at (a UI slice with no mockup is an incomplete plan; non-UI slices have none — not a gate).
47- **Build agent:** builds it, and **looks at the mockups**. Verifies by running the thing.
48- **QA agent (owns the compare):** compares planned vs delivered per deliverable, records the verdict and the note. On mismatch: fix-and-re-review, or kick back with the reason — never escalate a raw mismatch to the human.
49 
50These three are a division of labour, not a chain of gates. One agent may hold all three on a small slice.
51 
52## The current file contract
53 
54> These files are the **operating surface of the work** — you track on them, record on them, hand off through them, and survive compaction on them. Keep them current because that is what lets the work survive. But they **serve** the product; they are not the product. If you're polishing files while the actual thing isn't shipping, you've inverted it: go build, then update them.
55 
56- **Slice:** `SPEC.md`, `PROGRESS.md`, `PROOF.md`, and `proof/`.
57- **Mission:** `SPEC.md` and `NOTES.md`.
58 
59## Per-file rules — WHO / WHEN / HOW
60 
61### SPEC.md
62- **WHO:** the planning owner authors it; builders and reviewers read it as the scope and intent source.
63- **WHEN:** at creation and whenever scope changes.
64- **HOW:** a slice carries `intent:` in frontmatter and opens with `## Intent`, `## Mini-requirements`, and `## Proof contract`. A mission carries its intent and mission-level specification in the same authored node file. Keep depth proportional to the work.
65 
66### PROGRESS.md
67- **WHO:** the orchestrator owns the current state; every agent logs its own outcomes.
68- **WHEN:** on material delivery-state changes and at acceptance.
69- **HOW:** keep current delivery state in `## Current state`; append material outcomes with links to proof under `## Outcomes`. Retain historical entries and existing checkboxes without treating them as current acceptance authority. For a selected proof policy, use `rig proof show <slice>` for current readiness; keep frontmatter `stage`/`verified` honest.
70 
71### PROOF.md + proof/
72- **WHO:** the impl/QA pair that worked the slice.
73- **WHEN:** before you call a slice done.
74- **HOW:** say what you verified and how you verified it — **by effect**: you ran it and looked at the result. Put supporting media under `proof/`. State plainly what is proven and what is **not**; an honest "this half is untested" is worth more than a checkmark. If a drop verb is in play for this slice, prefer it over hand-placing files so the artifact carries its own provenance.
75 
76### NOTES.md
77- **WHO:** any agent updates `§1` (top-of-mind); each seat owns and appends to its own `§A–§X`.
78- **WHEN:** on material mission-context changes; a compacting agent **files its state here BEFORE compaction and reads it on restore.**
79- **HOW:** accruing tribal knowledge — `§1` ≤ 5–15 lines (gates, open decisions, surprises); per-seat continuation entries (latest = truth; other seats read-only). Pointer-first; don't duplicate.
80 
81## The lifecycle (4 legs)
82 
83**SCAFFOLD** (`rig scope` creates the files from templates) → **POPULATE** (agents fill them as work happens) → **PROJECT** (the Living Notes UI reads them into INTENT → PLAN → DELIVERED) → **VERIFY** (`rig scope audit`, advisory). "Loose freeform write + deterministic verify."
84 
85## Hot-potato (handoffs)
86 
87End every turn by passing the ball — a `rig queue handoff` to the next agent. The handoff verb is **transactional**: it closes the source as handed-off and mints the successor owned by `--to`, so the baton cannot be dropped. A handoff terminates only at the orchestrator seat, which holds the context to judge whether a park is legitimate.
88 
89**A plain `rig queue create` row is informational** — a durable message. It is not a baton and does not carry this obligation. Use `handoff` when you are passing real work; use `create` when you are informing.
90 
91Never go idle holding a baton.
92 
93## Verify (deterministic backstop)
94 
95Run `rig scope audit` at slice-close. Every convention check is **advisory / fail-open** — it records and advises, never blocks a write. Fix what's real, skip what isn't, keep moving. **A clean audit score is not required to proceed.**
96 
97## Reading terminal captures — KNOWN GOTCHA: ghost-text autocomplete is NOT real
98 
99When you `rig capture` a pane, **greyed / ghost autocomplete suggestions are NOT real content** — they are autocomplete *previews*, not typed, staged, or committed input. **This has been faking agents out a lot**: reading a ghost suggestion in a peer's input box as "staged text they're about to send," then reasoning on a string that was never there.
100 
101**Rule:** ignore ghost/autosuggest text entirely. Only *committed/rendered* pane output is real. When it matters, verify at source (git, the queue, the actual event) — never off a capture's ghost line.
102 
103## Moment-of-truth checklist
104 
105- **Starting a slice?** → do you know what it's for and what done looks like? mockups attached (UI slices)? **Are you on the light path?** (You are, unless the mission owner assigned the overlay.)
106- **Finishing a slice?** → does `PROOF.md` say what you actually verified, by effect, including what is NOT covered? `PROGRESS.md` updated? mission `NOTES.md` refreshed? handed off via `rig queue handoff`?
107- **Compacting?** → file your state in mission `NOTES.md`; on restore, read it plus the active slice's `SPEC.md`, `PROGRESS.md`, and `PROOF.md`.
108- **Starting on a mission?** → read mission `SPEC.md`, `NOTES.md`, and the conventions SSOT.
109 
View all files on GitHub →

Details

License
Apache-2.0
Stars on the repo
★ 4,707
Checked
Source
mvschwarz/openrig ↗
Creator
mvschwarz · 13 listings
View creator

Similar skills

See all →
SkillWorktree Handoff Manageropenclaw/agent-skills · by openclawHand local work to a shared OpenClaw Gateway: start a worktree session there as yourself in one request, seeded with a handoff, and get the session URL back.★ 1.1k GitHub starsAgentNEXUS Handoff Templatesmsitarzewski/agency-agents · by msitarzewski> Standardized templates for every type of agent-to-agent handoff in the NEXUS pipeline. Consistent handoffs prevent context loss — the #1…★ 154k GitHub starsAgentNEXUS Executive Briefmsitarzewski/agency-agents · by msitarzewskiThe Agency comprises specialized AI agents across every division — engineering, design, marketing, security, GIS, product, testing, and…★ 154k GitHub starsAgentIncident Response Guidemsitarzewski/agency-agents · by msitarzewski> Mode: NEXUS-Micro | Duration: Minutes to hours | Agents: 3-8★ 154k GitHub starsSkillAPI Documentation Generatordavila7/claude-code-templates · by davila7Create API handoff documentation for frontend developers. Use when backend work is complete and needs to be documented for frontend integration, or user says 'create handoff', 'document API', 'frontend handoff', or 'API documentation'.★ 32.3k GitHub starsSkillSession Handoff Generatordavila7/claude-code-templates · by davila7Creates comprehensive handoff documents for seamless AI agent session transfers. Triggered when: (1) user requests handoff/memory/context save, (2) context window approaches capacity, (3) major task milestone completed, (4) work session ending, (5) user says 'save state', 'create handoff', 'I need to pause', 'context is getting full', (6) resuming work with 'load handoff', 'resume from', 'continue where we left off'. Proactively suggests handoffs after substantial work (multiple file edits, complex debugging, architecture decisions). Solves long-running agent context exhaustion by enabling fresh agents to continue with zero ambiguity.★ 32.3k GitHub stars

More from mvschwarz

SkillSession Compaction Restoremvschwarz/openrig · by mvschwarzUse when a Claude Code session is about to compact, has just compacted, reached its context limit, resumed after /compact, or must rebuild its working picture of a long-running seat from its own restore map, its JSONL transcript and the files it touched.★ 4.7k GitHub starsSkillTask Delegation Advisormvschwarz/openrig · by mvschwarzUse when you have a task and must decide WHO does it — yourself, a spawned subagent, or another agent in the topology that already holds the context. The rule: how much would a blank slate have to read in to do this correctly? A lot → route to a context-holding agent; a little → subagent; unsure → a real agent or yourself. NOT the mechanics of fanning out (that's dispatching-parallel-agents / subagent-driven-development) — this is the who/whether decision, and the failure mode that makes teams abandon subagents.★ 4.7k GitHub starsSkillOpenRig Development Guidemvschwarz/openrig · by mvschwarzUse when changing OpenRig's own source in a clone of the openrig repository: finding which package or file owns a behaviour, choosing which tests to run, testing a change without disturbing the OpenRig daemon your own session runs on, judging whether a diff touches a high-risk area, or preparing a pull request. Not for operating rigs (openrig-skills) or designing rig topologies.★ 4.7k GitHub starsSkillSystem Architecture Primermvschwarz/openrig · by mvschwarzUse when the system around you does not make sense yet: you just booted into a seat and do not know how the pieces fit; someone said rig, pod, seat, fleet, topology, or slice and you are not certain what they mean here; you are unsure what kind of rig you are in or what it is for; you do not know how skills reach you or where context comes from; or you are about to act on a guess about how OpenRig works. Gives the runtime mental model fast, so you stop guessing.★ 4.7k GitHub starsSkillHuman Communication Handlermvschwarz/openrig · by mvschwarzUse when project policy calls for a human decision or update, a human delivery is pending or failed, or a reply must resume the right work.★ 4.7k GitHub starsSkillOpenRig Skills Indexmvschwarz/openrig · by mvschwarzUse when you're operating OpenRig and need the right skill or context for fleet recovery, seat handover, new-seat orientation, a watchdog wake, cross-host reach to an agent on another machine, rig packaging, an OpenRig upgrade, systematic debugging, queue triage, or implementation planning; also use when you don't know what applies or nothing is projected on cold boot.★ 4.7k GitHub stars