fleet-comms · v2.0.0 · 2026-09-30 · sha256 2dde2496122dc792
fleet-comms v2.0.0A
Immutable. This exact content never changes and is served at /api/v1/blob/2dde2496122dc792.
--- name: "fleet-comms" description: "Show the CocoFleet dispatch and heartbeat event feed. Usage: $fleet comms [fleet-id]." version: "2.0.0" author: "CocoPlus" tags: - cocoplus - cocofleet --- Your objective is to display the read-only CocoFleet communications feed. Before proceeding, verify that `.cocoplus/` exists. If not: output "CocoPlus not initialized in this directory. Run `$pod init` to begin." Then stop. Parse argument: `$fleet comms [fleet-id]` If no fleet-id is supplied, select the most recently modified fleet directory under `.cocoplus/fleet/` that contains `comms.log`. If none exists, output "No CocoFleet comms log found." Then stop. Read `.cocoplus/fleet/[fleet-id]/comms.log`. Output: ```text # Fleet Comms: [fleet-id] | Time | Role | Instance | Event | Summary | |------|------|----------|-------|---------| [last 50 events, oldest to newest] ``` Support optional filters when present in the user request: - `--role planner|producer|critic` - `--event dispatch|heartbeat|completion|blocker|signoff` - `--tail N` ## Safety Rules - Do not write to `state.json` or `comms.log`. - Do not approve, resume, pause, or stop a fleet from this skill. - Treat malformed lines as skipped input and report the skipped count. ## Exit Criteria - [ ] The selected fleet id is shown. - [ ] The feed is read from `.cocoplus/fleet/[fleet-id]/comms.log`. - [ ] Role, event, and tail filters are applied when requested. - [ ] No project state is mutated. ## Anti-Rationalization | Shortcut / Temptation | Why It Fails | |-----------------------|--------------| | Treat the skill as complete because the file exists | Skill contracts must describe observable behavior and verification, not just command names. | | Skip artifact and safety checks for a small command | Small commands still mutate state or guide execution; preserve the same gates. |