vibing-with-ntm — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited vibing-with-ntm (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<!-- TOC: One Rule | Outcome | Grounding | Tick Loop | Liveness Truth Stack | Intervention Discipline | Decision Tree | Command Surfaces | Cadence | Review-Only Mode | Metrics | Checklist | When To Use | References | Related Skills -->
If you are tending a swarm right now: jump to the Orchestrator Decision Tree below. For recovery recipes see RECOVERY.md. Everything else is context.
The One Rule: Observe real state before every nudge. A swarm is not stuck, done, or blocked until pane truth, robot state, work graph, and artifact/git evidence agree.
This skill is the operator layer above the tools — the decisions, ticks, nudges, and recoveries an orchestrator performs. It deliberately does NOT re-document the ntm command surface: the binary self-describes via ntm --help and ntm robot-docs (and the /ntm skill catalogs it). Always re-query those for syntax, flags, and schemas; come back here for when to act and when to stop.
A tending session is complete (for now) when all of the following hold:
If you send the same nudge twice without movement, the failure has escalated past nudging — go to RECOVERY.md, don't keep nudging.
Ground every decision in observable artifacts, never in agent self-report:
ntm --robot-tail. What the agent says is a hypothesis; what the pane shows is data.br ready --json, br show <id> --json. The tracker is canonical; a disagreeing agent is wrong.git log --since=, git status on project worktrees — ground truth for "is real work being produced."--robot-snapshot outputs N seconds apart. The diff is what changed; everything else is narrative.If a grounding source and a self-report disagree, the artifact wins.
1. BASELINE -> ntm --robot-snapshot; capture cursor + sources/degraded_sources
2. ATTEND -> ntm --robot-attention / --robot-wait; read only actionable deltas
3. CLASSIFY -> match one OC card or AP red flag; no card means observe more
4. SCORE -> choose the smallest reversible intervention with highest action score
5. ACT -> one targeted send/assign/lock/restart/review instruction; never blanket-nudge
6. VERIFY -> tail/event/git/br/mail/pipeline state changed; otherwise escalate one rung
7. STOP CHECK -> convergence triple-check or queue-dry; stop instead of manufacturing work
8. LOG -> record blocker, degraded source, or handoff when the loop changes policyIf you cannot name the phase you are in and the evidence behind it, do not nudge — re-observe.
Cold start: run one bounded tick (--robot-snapshot → tail suspect panes → match exactly one decision-tree branch → act on one pane or lever → verify). Do not read every reference first; wait on the attention feed instead of inventing work.
Before acting on any "pane is stuck / rate-limited / done / idle" judgment, verify in this order — each layer catches lies from the one above:
--robot-tail. (OC-026)--robot-tail can sample stale buffer content for several ticks. (AP-41)If any two layers disagree, resync before acting. See OBSERVABILITY.md → "Liveness Signals That Can Lie" for the full catalog.
Two gates before any state-changing action:
Score = (Evidence × Impact × Reversibility) / BlastRadius, each 1–5. Only act on Score ≥ 2.0; below that, wait on the attention feed or gather better evidence.The full scoring matrix with worked examples, the proof-card template, the swarm-pathology trigger table, the three pattern tiers (low-risk tending → directed recovery → session policy changes), the red-flag-phrase classifier, recovery shortcuts, and the troubleshooting table all live in DECISION-AIDS.md.
Run one tick. Pick the FIRST branch whose condition fires.
Is CURSOR expired (or missing)?
→ ntm --robot-snapshot (resync, get new cursor); continue next tick.
Is ANY pane rate_limited? (check via --robot-health-oauth, NOT pane buffer text)
→ OC-001/OC-002 in OPERATOR-CARDS.md: ping-probe first; rotate or switch account
only if the limit is confirmed provider-side.
Is ANY pane stuck (identical tail ≥3 ticks, zero output growth)?
→ Climb the stuck-pane ladder (OC-003):
wake-ping → C-u + send → smart-restart → hard-kill → restart-pane → add+kill.
Is there prose-without-commits? (pane is_working=true but git log 1h=0)
→ Dispatch OC-004 Ship-or-Surface prompt (PROMPTS.md).
Is context >85% on any pane?
→ Dispatch handoff-then-restart (OC-009).
Is there a file-reservation conflict or coordinator-reported collision?
→ Force-release too-broad patterns (OC-008); mediate via bead status-flip (OC-015).
Does convergence triple-check hold?
( git log 1h=0 AND br ready=0 AND in-flight unchanged ≥2 ticks AND convergence language in every pane )
→ STOP. Do not nudge. Exit the loop; report final state.
Otherwise — one specific-terse nudge per genuinely-idle pane (OC-010). Then wait.Every card (OC-###) and anti-pattern (AP-###) is documented with recipe, prompt module, and validator in OPERATOR-CARDS.md and ANTI-PATTERNS.md.
--robot-snapshot, --robot-attention, --robot-send, --robot-smart-restart, …); interactive TUIs (ntm dashboard, palette, view) are for humans. The authoritative catalog is ntm robot-docs / ntm --help — re-query it; see ROBOT-MODE.md for lanes, transports, and deprecations.--worktrees when repo policy allows. Repo-local AGENTS.md always wins.Tick every 4 minutes during nucleation, 10–17 minutes in steady state, 30 minutes when panes are deep in real work. Stop tending when the convergence triple-check holds across repeated observations. If the queue is dry, do not manufacture tasks — report state, blockers, degraded sources, and residual risk. If coordination surfaces degrade, continue with explicit bead ownership and backfill mail later.
When the swarm audits rather than implements, flip panes to review-only: no Agent Mail registration, no bead claims, read recent diffs, tag findings by severity, rotate reviewers through study → fresh-eyes → cross-review → continuation passes, kill+relaunch between rounds. Full spec (phase cycle, mixed-swarm ratios, kill-relaunch rhythm, quality rubric, mode-switch prompts) is in REVIEW-MODE.md; Gemini-specific tuning is the code-review-gemini-swarm-with-ntm skill.
At closeout, summarize the swarm in concrete deltas:
| Metric | Meaning |
|---|---|
| Commits landed | real work, not pane chatter |
| Beads closed / opened | backlog burn vs review inflation |
| In-flight unchanged ticks | convergence/stall signal |
| Pane interventions | nudges, restarts, rotations, force-releases |
| Degraded sources | mail/CASS/beads/RCH/tool health that shaped decisions |
| Queue state | ready, blocked-only, queue-dry, or active |
| Residual risk | unverified tests, stale locks, partial runs, open blockers |
br ready / ntm work queue-dry state is known.Use when: you are the orchestrator of an NTM session with ≥2 panes — unsticking panes, rotating accounts, dispatching marching orders, switching implement↔review modes, judging convergence, or diagnosing cross-session contention.
Skip when: you just need the ntm command catalog (/ntm), single-agent one-pane work, new-machine provisioning (provision-new-machine), Beads DB repair (fixing-beads-problems), or Gemini review tuning (code-review-gemini-swarm-with-ntm). MCP Agent Mail primitives are /agent-mail; bead mechanics are /beads-br; BV triage is /beads-bv; account management is /caam.
Degrees of freedom: this is a medium-freedom methodology skill — prefer the specific OC/AP card when evidence fires its trigger; fall back to the decision tree otherwise. Following steps without the evidence their triggers require is worse than skipping the card.
| Topic | Reference |
|---|---|
| Robot-mode surfaces, lanes, transports, deprecations (always re-query the binary) | ROBOT-MODE.md |
| Error taxonomy + autonomous recovery decision tree | RECOVERY.md |
| Freshness, source health, attention state machine, three-observation rule | OBSERVABILITY.md |
| 46 operationalized field-expertise cards (trigger + recipe + prompt + validator) | OPERATOR-CARDS.md |
| 61 named anti-patterns from real swarm sessions, each with a fix | ANTI-PATTERNS.md |
| Score matrix, proof card, pathology triggers, pattern tiers, red-flag phrases, troubleshooting | DECISION-AIDS.md |
| /loop, CronCreate, shell cron, schedule; convergence-gated tick scripts | CRON-AND-AUTOMATION.md |
| Review-Only Mode full spec | REVIEW-MODE.md |
| Marching orders, review prompts, ship-or-surface, close-backlog, autonomous unstick | PROMPTS.md |
| Spawn mixes, cadence, close/review ratio, convergence termination, domain assignment | PLAYBOOK.md |
| Operator helper scripts (tick snapshot, convergence check, pane liveness, contention sweep) | scripts/ and scripts/README.md |
| Marching-orders template | assets/marching-orders-template.md |
| Trigger-phrase self-test | SELF-TEST.md |
| Concern | Skill |
|---|---|
| NTM command catalog and work intelligence | ntm |
| Agent Mail primitives | agent-mail |
| Bead state and dependencies | br, bv |
| Account rotation and quota | caam |
| Multi-model or review swarms | multi-model-triangulation, code-review-gemini-swarm-with-ntm |
This skill stays focused on swarm tending decisions: observe, classify, act once, verify, and stop when the evidence says stop.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.