| name | flywheel |
| description | Hand-run a report-only triage tick over a repo or task. Use for /flywheel, "run a flywheel tick", "triage <repo>", or a report-only survey. It reads state, surveys, and writes findings + proposals to local files — it NEVER acts (no push/deploy/merge/outbound) and there is no autonomous mode. Human-invoked only. |
flywheel — report-only triage tick (human-invoked)
You invoke /flywheel to run ONE tick that surveys a target (a repo, a backlog, CI/PRs) and writes
prioritized findings + proposals to local files. It only reports — it never pushes, deploys,
merges, sends, or takes any outbound/irreversible action, and there is no autonomous or acting mode
(that was evaluated and removed as too risky — see the README's "Why report-only"). Run it as often as you like, by hand.
The tick (one report-only pass)
Read the target's .omc/loop/{loop-constraints.md, STATE.md} first, then:
0. Early-exit — nothing new/actionable since last run? update STATE "Last run" and stop (cheap; do NOT fan out).
- Survey (READ-ONLY) — read the target's signal:
git status/log, open issues/PRs, CI state, TODOs, whatever the mission scopes.
- Triage — sort into High (needs a human decision/action), Watch (monitor), Noise (dismissed). One line each, each with a concrete "suggested action" for the human.
- Report — write the triage to
STATE.md; write any actionable item as a proposal to
.omc/loop/review-queue.jsonl ({mission, finding, suggested_action, evidence, ts, status:"pending"}). Text only — never execute it.
- (Optional) Verify — spawn a fresh verifier/reviewer agent to check the report is evidence-backed (no invented items); default-REJECT unsupported claims.
- Sync — prune resolved/stale items from
STATE.md; append a line to .omc/loop/run-log.jsonl.
Invariants (report-only safety — hold every tick)
- READ + LOCAL-WRITE only. The tick writes ONLY under the target's
.omc/loop/. It runs NO
build/deploy/push/merge/outbound command and spawns NO agent with outbound tool access.
- Everything actionable is a PROPOSAL for a human — never an action.
Run it
mkdir -p <target-repo>/.omc/loop and copy this skill's templates/{STATE.md,registry.yaml,loop-constraints.md} there.
- Invoke
/flywheel <mission> (default mission: daily-triage). It surveys → writes findings to STATE.md + proposals to review-queue.jsonl.
- Re-run whenever you want an updated triage. A no-op run early-exits cheap.
Non-goals (REMOVED — do not build)
No autonomous clock, no self-paced/recurring auto-run, no "maker" that edits code, no make-then-propose,
no outbound execution, no containment spike, no guard hook. /flywheel is report-only and human-invoked,
full stop. Rationale + history: see the README ("Why report-only").