From 77a066edd2bfe4e0202238b723f96183618d5d35 Mon Sep 17 00:00:00 2001 From: Paul O'Reilly Date: Thu, 1 Oct 2026 19:49:46 +1300 Subject: [PATCH] Add skill-supervise memory doc and index entry --- MEMORY.md | 1 + memory/skill-supervise.md | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 memory/skill-supervise.md diff --git a/MEMORY.md b/MEMORY.md index 953cf5a..1217917 100644 --- a/MEMORY.md +++ b/MEMORY.md @@ -41,6 +41,7 @@ - [/review-loop](memory/skill-review-loop.md) — Supervised delivery loop: discover → plan → spec → Sonnet tests → MiniMax worktree code → integrate → deploy → verify live, MiniMax-reviewed at every stage - [review-loop-run](memory/script-review-loop-run.md) — Launch/track detached MiniMax reviews of review-loop artefacts (verify/plan/spec/tests/code) from per-kind prompt templates; `counts` exits 4 on CRITICAL/HIGH - [/ci-triage-minimax](memory/skill-ci-triage-minimax.md) — MiniMax triage of failed Gitea Actions runs via gac; failing step + cause file; after `gac tail` exits 1 +- [/supervise](memory/skill-supervise.md) — Supervisor mode: 15-min tick dispatches/reaps MiniMax mm-worktree-task units, 30-min progress report; state in gitignored .supervisor/, notes itself in project CLAUDE.md ## References diff --git a/memory/skill-supervise.md b/memory/skill-supervise.md new file mode 100644 index 0000000..86b04fa --- /dev/null +++ b/memory/skill-supervise.md @@ -0,0 +1,24 @@ +# /supervise Skill + +**Purpose:** Run a session as a supervisor over MiniMax subagents. A 15-min cron tick reaps finished `mm-worktree-task` units, files new bugs, and dispatches a unit per in-focus work item; a 30-min cron report gives bugs worked/resolved and feature progress. Replaces two hand-pasted loop prompts. + +**Location:** `custom-claude-skills/skills/supervise/SKILL.md`. + +## Usage + +`/supervise [focus text]` (bare = pick focus from the planner via AskUserQuestion), then `/supervise focus|push on|off|status|stop`. `tick` and `report` are what the crons fire. + +Requires: planner-backed project (`cp-cli planner`), `mm-worktree-task`, MiniMax profile. + +## How it works + +- Cron prompts are just `/supervise tick` / `/supervise report`; all logic and memory live in the skill and `.supervisor/state.md` (focus, ledger, in-flight units, cron ids). +- On start it creates `.supervisor/`, adds it to `.gitignore`, and appends a marked `` section to the project CLAUDE.md (left uncommitted) so other sessions know a supervisor owns those worktrees. +- Report counts come from the ledger, with "resolved" verified against the planner. +- Merged work stays local unless `push: on` (pushes may trigger deploys). + +## Gotchas + +- Crons are session-only and auto-expire after 7 days; after a restart `/supervise` resumes from state and recreates them. +- One unit per item (no cap on items) — a bare "dispatch if none underway" duplicates units; the in-flight table prevents it. Items with overlapping files are queued, not parallelised. +- Always re-run the suite after a unit's last commit; units' own green claims are not trusted.