skills/task/SKILL.md
Task-lifecycle operations on orchestrator runs — handoff, pickup, resume context, progress, orchestrator status, complete task, merge task, task cleanup, archive task, clean artifacts. Dispatches subcommands: `handoff` serializes conversation context to .prove/handoff.md; `pickup` resumes from it; `progress` reports read-only status across active runs; `complete <slug>` merges a task branch to main and cleans up; `cleanup <slug>` archives artifacts without merging. Use when hitting context limits, transitioning sessions, checking run status, or closing out tasks.
npx skillsauth add mjmorales/claude-prove taskInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Dispatch on the first token of $ARGUMENTS. Remaining tokens are the slug/note
for that subcommand.
| Subcommand | Purpose | Extra args |
|------------|---------|------------|
| handoff | Write .prove/handoff.md from current context | optional note |
| pickup | Resume work from .prove/handoff.md | none |
| progress | Read-only status across active orchestrator runs | none |
| complete | Merge orchestrator/<slug> to main + archive + cleanup | <slug> (optional) |
| cleanup | Archive artifacts + remove working files (no merge) | <slug> (optional) |
| (none) | Print this routing table and exit | — |
If $ARGUMENTS is empty or the first token is not one of the five subcommands,
print the routing table above and stop — do not guess a subcommand from free-form
text.
All paths below are relative to the project root. Orchestrator run artifacts
live at .prove/runs/<branch>/<slug>/; state.json is the single source of
truth, rendered on demand by scripts/prove-run show.
handoff — Serialize Session ContextCreate .prove/handoff.md so a fresh session picks up where this one left off.
claude-prove handoff gather --project-root "$PROJECT_ROOT" --plugin-dir "$PLUGIN_DIR"
Capture the full output — this becomes the body of the handoff file. If an extra
note was passed after handoff, treat it as additional context for Phase 2.
Generate a 3-5 sentence pickup note — the only LLM-generated part. Answer:
Conditional additions:
state.json + plan.json under .prove/runs/<branch>/<slug>/):
reference the specific step id from scripts/prove-run show state.prove/decisions/ has entries: mention the most recent decisionBe concrete: "Fix the failing test in auth/middleware.test.ts caused by the new token format" over "Continue working on auth."
If agents/ exists, read .md files and parse frontmatter description. Match
against the pickup note's work domain:
claude --agent agents/<name>.md --prompt-file .prove/handoff.md/prove:create --type agent firstclaude --prompt-file .prove/handoff.mdWrite .prove/handoff.md:
# Handoff Context
<!-- Auto-generated by /prove:task handoff. Safe to delete after use. -->
## Pickup Note
<from Phase 2>
<gathered context from Phase 1 — State, Files Modified, Prove Artifacts, Discovery>
## Files to Read First
<3-7 files, priority-ordered with one-line rationale.
Priority: task plan > modified files > decision records > config>
## Instructions
1. Read the files listed in "Files to Read First" before starting
2. <specific resume point from the pickup note>
3. Run validation before committing: <validator commands from .claude/.prove.json>
4. When done, delete: `rm .prove/handoff.md`
Output to the user: confirm file written, show the recommended command, explain agent match if applicable.
pickup — Resume From HandoffRead .prove/handoff.md. If missing, tell the user to run /prove:task handoff
first, then stop.
scripts/prove-run show state / show plan
/ show prd for the active run, plus decision recordsTell the user: what you picked up, what you will work on, which branch you are on.
Delete the handoff file:
rm .prove/handoff.md
Follow the "Instructions" section from the handoff file. Start immediately — do not ask the user to repeat the task.
<agent> agent. Consider:
claude --agent agents/<name>.md --prompt-file .prove/handoff.md"progress — Orchestrator Status (Read-Only)Read-only status check across active orchestrator runs. Never modify files.
List active runs:
scripts/prove-run ls
If empty: "No active orchestrator run. Start one with /prove:orchestrator
or /prove:orchestrator --full."
For each run, render the full state view (joined with the plan for titles):
cd <worktree for slug> # or rely on PROVE_RUN_SLUG / marker
scripts/prove-run show state
state.json is the source of truth. Markdown is rendered JIT — never persisted.
If multiple runs, precede with a summary table:
| Branch/Slug | Status | Current Step | Tasks done/total | |-------------|--------|--------------|------------------|
For completed runs, follow the rendered state with:
started_at → ended_at from state.json)state.json is the single source of truth; scripts/prove-run show renders
views on demandscripts/prove-run summary for
one-line and show for fullcomplete — Merge Task Branch + CleanupMerge a completed task branch to main and clean up artifacts.
Resolve the task slug:
orchestrator/<slug>)git branch --list 'orchestrator/*' — if multiple,
AskUserQuestion to pickVerify the branch exists: git branch --list 'orchestrator/<task-slug>'
git log --oneline main --grep="merge: "Show current state:
git log main..orchestrator/<task-slug> --onelinePROJECT_ROOT="." bash "$PLUGIN_DIR/scripts/cleanup.sh" --dry-run <task-slug>Confirm via AskUserQuestion (header: "Complete: <task-slug>"):
If user chose "Merge & Clean" or "Merge Only":
Halt if working tree is dirty (git status --porcelain)
Merge:
git checkout main
git pull --ff-only
git merge --no-ff orchestrator/<task-slug> -m "merge: <task-name>"
On merge conflicts, halt immediately. Never force-merge or auto-resolve.
Record merge commit SHA.
If user chose "Merge & Clean" or "Clean Only":
PROJECT_ROOT="." bash "$PLUGIN_DIR/scripts/cleanup.sh" --auto <task-slug>SUMMARY.md (see "SUMMARY.md Generation" below)git branch -d orchestrator/<task-slug> — if -d
fails (not merged), warn but do not force-deletecommit skill
(e.g., chore(cleanup): complete and archive <task-slug>)cleanup — Archive + Remove (No Merge)Manual counterpart to the orchestrator's Phase 4 cleanup. Use when the merge happened elsewhere (manual merge, "Skip" at the orchestrator merge gate, or abandoning a run).
If the extra arg is provided, pass it as task-slug; otherwise use --all:
bash "$PLUGIN_DIR/scripts/cleanup.sh" --dry-run [task-slug]
bash "$PLUGIN_DIR/scripts/cleanup.sh" --dry-run --all
Present the dry-run output. AskUserQuestion, header "Cleanup", options:
"Proceed" / "Cancel".
Run without --dry-run:
bash "$PLUGIN_DIR/scripts/cleanup.sh" [task-slug]
bash "$PLUGIN_DIR/scripts/cleanup.sh" --all
Report what was archived, removed, and skipped.
See "SUMMARY.md Generation" below.
Delegate to the commit skill.
Example: chore(cleanup): archive and remove api-refactor artifacts.
complete and cleanup)The cleanup.sh script is ACB-aware — it archives prd.json, plan.json,
state.json, and reports into .prove/archive/<YYYY-MM-DD>_<task-slug>/
before removing the working copies.
Read the archived JSON artifacts (not the md — the JSON is structured and
canonical) and write SUMMARY.md in the same archive directory:
# Task Summary: <prd.json.title>
**Completed**: <YYYY-MM-DD>
**Branch**: orchestrator/<task-slug>
**Final Status**: <state.json.run_status>
## What Was Done
<from archived prd.json: context, goals>
## Tasks Completed
<from archived state.json: list tasks with review verdicts>
## Files Changed
<from archived files-changed.txt, if present>
Never regenerate SUMMARY.md from live artifacts — always from the archive.
tools
Clean and compact prove's durable memory layers — team Lore, the Codex (scrum decisions), annotations, and contributor artifacts — keeping the tribal knowledge that grows team accuracy and folding away the rot. Triggers on "janitor", "clean the lore", "compact the lore", "compact the codex", "memory cleanup", "clean up team memory", "prune stale decisions", "tidy tribal knowledge", "lore cleanup". You are the driver: the CLI emits inventories and executes writes; the `memory-janitor` agent judges each entry; a per-team batch gate approves; nothing is ever deleted — consolidation, promotion, and supersession only.
testing
Anchor session context into prove primitives before compaction and rehydrate from them after. Built-in compaction summarizes by recency and drops the claude-prove state an agent needs to reorient; this skill externalizes volatile context into durable anchors (scrum tasks, decisions, run-state, a compact-anchors pointer file) pre-compact, then runs a deterministic reorientation sequence post-compact. Use before a manual /compact, when context is about to auto-compact, or immediately after a compaction. Triggers on "smart compact", "prepare for compaction", "anchor before compact", "context is getting long", "rehydrate", "reorient after compact".
tools
Apply model-driven CONTENT reshaping to stored run artifacts that sit behind the current schema, on explicit operator invocation only. Triggers on "migrate runs", "migrate run artifacts", "run content migration", "reshape run artifacts", "bring runs to current schema". You are the driver: the `run-state migrate-runs` CLI mechanically detects which artifacts are behind and emits a plan naming each one plus its migration-instruction file; you read the instructions and reshape the prose/findings, gated by the operator. The deterministic `schema migrate` handles structural column moves; this skill covers only the content reshaping beyond them. Never run as a background or resident loop — only when the operator asks.
tools
Synthesize the 7-section risk-forward Review Brief from a run's reasoning log. Triggers on "reasoning brief", "review brief", "synthesize the brief", "generate the brief", "brief the run", "brief for review", "story brief". You are the driver: the `acb brief` CLI renders a mechanical preservation-safe backbone and proves preservation; you synthesize the narrative prose (summary + changes), single-pass or multipass over episode chunks, then gate it through Stage-1 (mechanical, blocking) and Stage-2 (prose judge, advisory).