fleet-tasks
Coordinate and execute peer-to-peer fleet work using NIP-CAS-0006 task-state events, deterministic claims, queue/epic indexes, and Beads projections.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Coordinate and execute peer-to-peer fleet work using NIP-CAS-0006 task-state events, deterministic claims, queue/epic indexes, and Beads projections.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Operating discipline for NIP-29 workrooms shared with other agents and human operators: reply discipline, @mention handoffs, commitment tracking, and where coordination belongs. Aligned to the Metiq NIP-29 harness (allowBots gate, bot-loop pair guard, echo suppression, ambient scan wrapper).
Analyze and document codebase architecture: dependency graphs, module boundaries, API surfaces, tech debt. Use when: (1) user asks 'how is this codebase structured', (2) onboarding to a new project, (3) planning a large feature that spans modules, (4) identifying tech debt or coupling issues. NOT for: specific code changes (use refactor), reviewing a PR (use code-review).
Structured code review for PRs, diffs, or changed files. Use when: (1) reviewing a pull request, (2) checking code quality before merge, (3) auditing changes for correctness/security/performance, (4) user asks to review code or a diff. NOT for: debugging failures (use debug), running tests (use verify), or general code reading.
Manage dependencies: audit outdated packages, resolve conflicts, evaluate alternatives, handle breaking upgrades. Use when: (1) updating dependencies, (2) resolving version conflicts, (3) checking for vulnerabilities in deps, (4) evaluating a new library. NOT for: general code changes, security vulnerabilities in own code (use security-audit).
Generate or update documentation: API docs, README, CHANGELOG, ADRs. Use when: (1) user asks to document code, (2) writing a README for a new project, (3) updating docs after a change, (4) creating architecture decision records. NOT for: inline code comments (just add them), reviewing docs (use code-review).
Advanced git operations: rebase strategies, cherry-pick workflows, bisect automation, worktree management, conflict resolution, branch cleanup. Use when: (1) complex git operations beyond basic add/commit/push, (2) resolving merge conflicts, (3) reorganizing commit history, (4) managing multiple working branches. NOT for: basic git (use git tools directly), GitHub API operations (use github skill).
| name | fleet-tasks |
| description | Coordinate and execute peer-to-peer fleet work using NIP-CAS-0006 task-state events, deterministic claims, queue/epic indexes, and Beads projections. |
| metadata | {"version":"1.0.0","owner":"fleet-operations"} |
Use this workflow whenever you select, claim, execute, block, review, hand off,
or close shared fleet work. The authoritative state is the merged
cascadia.task-state.v2 kind-30900 stream. A local Beads issues.jsonl
file is a projection, not a separate authority.
This convention is peer-to-peer. It does not require Nostrig, a daemon, ContextVM kind 25910, command acknowledgments, or a coordinator.
Configure the exact trusted kind-30900 task-author pubkeys, the separate trusted kind-30000 collection-author pubkeys, the task relays, and a reasonable future clock-skew bound. Never infer trust from an event, an arbitrary list, or chat. A trusted collection publisher is not automatically a trusted task writer.
Keep private keys and signer secrets out of task content, notes, evidence, Beads files, shell history, and NIP-29 messages.
Subscribe to every trusted task author and complete stored-event bootstrap through EOSE before treating the initial view as settled. Keep the subscription open for live events and deduplicate by event ID.
For each task, retain the latest valid head per author, then merge across
authors: greater created_at wins and equal timestamps choose the lowest event
ID. Ignore invalid or untrusted events without invalidating another author.
Kind-30000 queue:<id> and epic:<id> collections are discovery indexes.
Confirm the effective task content names the same queue or epic before acting.
Immediately before claiming, refresh all trusted heads, confirm the effective
task is open and unclaimed, and start from that complete snapshot. Publish an
initial claim with status=in_progress, a non-empty assignee, and
claimed_at equal to the event's integer created_at.
Do not edit because a Beads file, queue entry, room message, or one relay event
says work is available. Competing claims settle by the earliest claim
created_at; equal timestamps choose the lowest event ID. Wait for the
configured settlement interval or observed peer heads, then verify your origin
won before editing. Peer settlement is eventual: an earlier unseen claim may
still appear.
If your claim loses, stop work, reload the winning snapshot, preserve the winner's assignee, claimed timestamp, origin event ID, and origin pubkey, then publish a corrected complete snapshot without your losing claim.
Every update is a complete snapshot, never a patch. Begin from the current effective task and preserve fields you are not changing, including typed dependencies, attachments, claim metadata, and optional workflow extensions.
Checkpoint after meaningful progress and before expensive, destructive, or long-running steps. Record what changed, what was verified, what remains, branch/commit references, and stable evidence references. Reference large logs, patches, and transcripts by content address instead of embedding them.
Recheck the winning claim before risky work. If the effective origin changed, stop and follow the loser procedure.
Do not leave a blocker only in chat. Publish a complete status=blocked
snapshot with a concise reason, blocker description, blocked_at, durable
unblock instructions, and stable evidence. Preserve the winning assignee,
claimed timestamp, and origin metadata.
This version has no coordinator-free release or reassignment epoch. Create a
successor linked by discovered-from when reassignment is required.
Run required quality gates and record exact commands/results or stable evidence. Your own passing test is not acceptance. When review is required, publish the review requirements, reviewer, and requested state while preserving the claim lineage.
Close only after required review and quality gates accept the work. Publish a
complete status=closed snapshot with closed_at, close reason, acceptance
evidence, final commit/artifact references, and unchanged claim metadata.
Before ending unfinished work, publish a complete snapshot whose notes or checkpoint state the current state, verification, next exact step, blockers, risks, branch/commit references, and evidence. Another agent must be able to resume without the prior transcript.
Import historical aliases, promote untyped dependencies to typed blocks
relations, and preserve claim metadata. Export _type:"issue", current
snake_case names, numeric priority 0-4, and typed dependencies.
A projection that loses claim-origin metadata must not publish a successor to a claimed task. Resolve conflicts from trusted Nostr events, then regenerate the projection.
Repository and NIP-34 issue references are attachments, not identity or authority. Tasks without repository attachments are first-class fleet tasks.
Use NIP-29 rooms for questions and concise coordination. Reference the task ID and relevant event ID. Chat never assigns, claims, blocks, accepts, or closes.