mpbt-hq/starfleetctl

multi agent coordination / command & control toolkit following the Startrek fleet metaphor

O que é starfleetctl?

starfleetctl is a Claude Code agent skill that multi agent coordination / command & control toolkit following the Startrek fleet metaphor.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add mpbt-hq/starfleetctl

Installed? Explore more Produtividade e Colaboração skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

starfleet — fleet coordination

Fleet-wide coordination for concurrent AI-agent sessions ("ships"). Covers inter-ship communication, concurrency/isolation, task capture, and the starfleetctl CLI.

Inter-ship communication (comms)

Ships communicate via starfleetctl comms. Messages arrive automatically via system prompt injection — never call comms inbox manually (the poller already injects unseen messages).

Comms rules

  1. Always answer. When a tell or ask arrives, reply via starfleetctl comms tell <sender>. Silence means the message was lost.
  2. Ack after responding. starfleetctl comms ack <id> to clear from inbox.
  3. Comms questions → answer in two places: via comms tell (so sender gets it) AND on the local console (so the human can see it).
  4. Keep the board current. Set status after starting or finishing work.
  5. Never call comms --help. The full reference is in the starfleetctl skill or this document.

Key comms subcommands

CommandPurpose
comms tell <ship> "<msg>"Send a directive to a ship
comms tell <ship> --stdinSend a large payload via stdin
comms broadcast "<msg>"Send to all ships
comms ask "<question>"Ask a question (async reply expected)
comms ack <id>Acknowledge/remove a message from inbox
comms boardShow fleet status board
comms board --jsonMachine-readable board (for scripts)
comms status <status>Set own status (idle/working/blocked)

Concurrency / isolation

Ships must not work in the same git working tree simultaneously. Use separate clones or worktrees. PR-branch ownership: every clone pushes to the same GitHub PR branch — use starfleetctl github pr claim before mutating a PR.

Key rules

  • Different working trees cannot clobber each other. Parallelize across independent workspaces.
  • The hazard: two actors mutating the same clone at once.
  • PR-branch ownership: Use starfleetctl github pr claim before mutating a PR.

Quick reference

starfleetctl github pr make <commit> [<commit> ...]   # submit PR from incubator
starfleetctl github pr mk-agent-clone <branch> [name] # agent-owned clone
starfleetctl github pr claim <pr#> "what"              # claim PR branch
starfleetctl github pr claim --release <pr#>           # release claim
starfleetctl github backport commit <release> <commit> # one-shot backport
.starfleet-ai/bin/starfleetctl worktree add <repo> [name] # per-task worktree
starfleetctl with-clone-lock <cmd...>                  # serialize mutating work

Task capture

Record a task in the dashboard, optionally commission a ship. This only commands — never execute the task yourself. No direct file access to DASHBOARD.md or dashboard/topics/*.md.

The one-liner

starfleetctl task capture --title "<title>" \
    [--desc "<what needs doing>"] \
    [--slug "<override>"] \
    [--assign [<ship>]] \
    [--no-push]
  • --assign (no name) → routes to the flagship, which delegates or executes it
  • --assign <ship> → that specific ship
  • Without --assign → recorded as open, no ship

Managing existing tasks

starfleetctl task assign <slug> [<ship>] [--no-push]   # re-assign
starfleetctl task unassign <slug> [--no-push]          # clear assignment
starfleetctl task status <slug> <status> [--no-push]   # set status
starfleetctl task rm <slug> [--no-push]                # delete a task topic
starfleetctl task purge [--no-push]                    # delete ALL done tasks

Dashboard

The dashboard is the cross-session "what's in flight" index. All access via CLI — never Read/Edit/Write/Glob/Grep on DASHBOARD.md or dashboard/topics/*.md.

Topic file format (frontmatter)

Topic files in dashboard/topics/<slug>.md use YAML-ish frontmatter:

---
title: "My Task"
category: active       # "active" or "parked"; defaults to "active" when missing
kind: "task"           # optional; marks it as a schedulable task
status: "open"         # active only: open/assigned/done/...
assigned-to: "—"       # ship name or "—"
tags: "starfleet"      # optional, comma-separated
---

Only title is required — category defaults to active, all other fields are optional. This is intentional for hand-written topics: you can drop in a minimal file and it shows up in the active list automatically.

List topics always via dashboard topic list --json — there is no dashboard list subcommand; dashboard list is the wrong/invalid command and returns dashboard: unknown command: list.

CommandPurpose
dashboard topic list --jsonList all topics (JSON, for filtering)
dashboard topic listList all topics (human-readable)
dashboard topic new <slug>Create a topic
dashboard topic write <slug> <file>Write topic content
dashboard topic commit <slug>Commit + push topic
dashboard reindexRefresh DASHBOARD.md index
dashboard commitCommit + push index

Reports

Submit and query structured fleet reports (test results, build summaries, CI status, etc.) via CLI or web UI. Each report has a title, optional subtitle, Markdown body, tags, a dashboard task reference, and file attachments.

Key commands

starfleetctl reports submit "Title" \
    --subtitle "one-liner" \
    --body "Markdown body text" \
    --body-file path/to/log \
    --tags "ci,build" \
    --task-ref xlibre/some-task \
    --attachment path/to/file

starfleetctl reports list                          # newest first
starfleetctl reports list --ship Enterprise        # by ship
starfleetctl reports list --tag ci --json          # filter + JSON
starfleetctl reports show <id>
starfleetctl reports delete <id>

Attachments are uploaded to the filestore (file put/api/store/<name>). See doc/reports.md for full reference and web UI walkthrough.

Starfleetctl CLI

A Go CLI for fleet coordination. Bootstrap: ./starfleet-bootstrap (updates .starfleet-ai/). Full reference: reference.md in this skill's directory.

Subcommand overview

CategoryCommands
Fleetcomms, dashboard, ws-commit, ship-names, with-clone-lock, worktree
Sessionrun, session list/attach/stop
Tasktask capture/assign/unassign/status/rm/purge
Timertimer set/list/cancel
Webweb start/stop/restart/autostart
Reportsreports submit/list/show/delete
Setupgenesis-init, self-install, sop install-starfleet
GitHub (read)github pr view/ci/file-on-branch/wait-green/show-branch-file, github backport applies
GitHub (write)github pr comment/label/set-body/checkout/amend-push/make, github backport commit

Habilidades Relacionadas