agentleFS
EtanHeyEtanHey/golems/skills/golem-powers/fleet-wrap/SKILL.md

fleet-wrap

Skill0 starsChanged 15 days agoApache-2.0View on GitHub

Quiet sprint close: stop monitors, send final dashboard/message. Triggers: fleet wrap, stand down.

The file

We split this skill into the rules it gives an agent

6 rules. About 0 are common, 3 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If the planned overnight mechanism breaks, choose one of two paths only: delegate real approved work to a live owner, or stand down silent.

    line 12
  2. Distinctive:

    All workers are done/idle AND their claims are verified — no queued approved work remains.

    line 16
  3. Very specific:

    Live guards: run bash "$GOLEMS_DIR"/scripts/hooks/install-hooks.sh --host <mbp|m1> --status ($GOLEMS_DIR = the golems clone) (read-only) …

    line 41
  4. Very specific:

    Never run --apply/--update during a wrap: that is the hooks owner's (golemsLead).

    line 44
  5. Very specific:

    KILL ALL POLLING: Follow /collab-monitor to stop every owned watch.

    line 45
  6. Distinctive:

    SILENT: No further messages, no re-armed loops, no "still quiet" heartbeats — until Etan speaks or new approved work arrives.

    line 55

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

/fleet-wrap — the quiet-down protocol

Fleet law: canon #7 owns guard/DONE/harvest-close. This skill keeps the operational wrap procedure: stop monitors, publish one final artifact/message, then stand down.

When the fleet wraps: ZERO polling crons, ONE final dashboard + ONE message, then SILENT.

If the planned overnight mechanism breaks, choose one of two paths only: delegate real approved work to a live owner, or stand down silent. A polling loop with zero workers is the inverted fleet-wrap failure.

When this fires

  • All workers are done/idle AND their claims are verified — no queued approved work remains.
  • The overnight/sprint queue is exhausted.
  • Etan said "wrap the fleet", "stand down", "we're done", or approved the final state.

Disambiguation vs /session-handoff: "wrap up" aimed at YOUR session (context high, session ending, successor needed) routes to /session-handoff — that skill owns single-session continuation. THIS skill fires on FLEET-wide close: all workers done, nothing queued, the channel goes quiet. When both apply, run /session-handoff FIRST — then this protocol governs the outgoing agent's exit.

Retire protocol (outgoing agent — pairs with /session-handoff)

Succession is routine (gen-12 evening: orc → gen-13 path, vl LEAD v1→v2, bl LEAD outgoing→successor — three successions one day). Before you compact or go silent:

  1. Hand off completely — live-watch transfer list written (see /session-handoff); successor brief posted; grill answered (monitors still running during transfer).
  2. Stop monitors — kill every cron/monitor you own so compaction doesn't fire on stale loops (71a8e3f5 [5418]).
  3. Final dashboard (if fleet-wide wrap via this skill).
  4. Kill your own pane — do not linger as a zombie orc writing duplicate handoffs.

Order: handoff → stop monitors → final dashboard (if fleet-wide wrap) → close pane.

The protocol (in order)

  1. VERIFY done. Per worker: state check + independent claim verification (/never-fabricate R8). A fleet is not wrapped because it looks quiet.
    • Live guards: run bash "$GOLEMS_DIR"/scripts/hooks/install-hooks.sh --host <mbp|m1> --status ($GOLEMS_DIR = the golems clone) (read-only) and parse every line: missing/unregistered exit 0 with the gate off, so the exit code alone is not the check. Wrap-blocking: hooks-live=absent; drift not 0 (incl. ?); a hook line other than ok/external(registered) (including retired-registered: … and dangling golems link: …); golems-fail-open not ok; any E1 … PRESENT; a nonzero exit or no hooks-live= header at all (the installer died before reporting). Quote each blocking line on the dashboard and in the one message. Never run --apply/--update during a wrap: that is the hooks owner's (golemsLead).
  2. KILL ALL POLLING. Follow /collab-monitor to stop every owned watch; TaskStop native Monitor task IDs and stop packaged fallback producers; report the stopped IDs in the wrap-up (orc REF9). Zero exceptions — a "harmless" 5-minute status cron is exactly how the WhatsApp-all-night failure happened.
  3. ONE final dashboard (/html-dashboard, cloned template — never from scratch): sprint state, merged PRs, open loops, blockers, money/tokens spent.
  4. ONE final message (WhatsApp / the agreed channel): dashboard link + a 2-3 line summary. ONE message. Not one per event.
  5. brain_store the wrap — sprint summary, stopped cron/monitor IDs, open loops. Tags: milestone, <project>.
  6. SILENT. No further messages, no re-armed loops, no "still quiet" heartbeats — until Etan speaks or new approved work arrives.

What silence does NOT mean

  • Blockers found during wrap go ON the dashboard and IN the one message — not as a follow-up stream.
  • A real incident (data loss in progress, security) justifies ONE alert. Everything else waits for the next session.
  • Silence ≠ abandonment. Open loops are written down (dashboard + collab + brain_store) so the next session picks them up — the channel goes quiet, the state does not evaporate.

Anti-patterns

Don'tEvidence
Relaying/listing the user's own messages back to them overnightThe dawn quote above — the incident this skill exists for
Planned overnight mechanism broke, so orc kept polling with zero workersInverted fleet-wrap: delegate real work or stand down silent
Leaving the fleet-monitor cron running after wrap"Why didn't you stop?" — polling crons outlive their sprint
"One more status update" after the final messageOne message means one
Keeping idle worker panes alive "just in case"Wasted-money panes, gen-7 f3231646:[2655]
Wrapping without verifying worker claimsA "wrapped" fleet with an unverified worker is an unwrapped fleet

Integration

SkillRelationship
/fleet-wrap-gateThe MECHANICAL check for step 2: at this terminal state, asserts cron-count==0 (no health-watch//loop/sleep-poll cron left armed). Run bun skills/golem-powers/fleet-wrap-gate/scripts/fleet-wrap-gate-cli.mjs <transcript|-> before going silent; exit 3 = a cron is still armed
install-hooks.sh --statusThe live-guard check in step 1: parse the lines (hook state, drift, fail-open, E1), never trust the exit code alone
/orcComposition-map row "Fleet wraps / sprint close" routes here; REF9 (stop monitoring when done) is step 2
/session-handoffSuccessor spawn happens BEFORE wrap; the outgoing agent then wraps silently
/weaveThe weave fires at convergence — a weave run ends with its own fleet-wrap
/html-dashboardThe one final artifact (step 3)
/never-fabricateR8 claim verification gates step 1

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.