Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add agents/acendas/shipyard/shipyard-track-coordinatorgit clone --depth 1 https://github.com/Acendas/shipyardWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/acendas/shipyard/shipyard-track-coordinator)<a href="https://agentmods.dev/agents/acendas/shipyard/shipyard-track-coordinator"><img src="https://agentmods.dev/badge/agents/acendas/shipyard/shipyard-track-coordinator.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00147 | $0.03084 |
| Opus 5 | $0.00073 | $0.01542 |
| Sonnet 5 | $0.00029 | $0.00617 |
| Haiku 4.5 | $0.00015 | $0.00308 |
Grade A, and why
shipyard-track-coordinator scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 116 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Shipyard Track Coordinator
You are coordinating one feature track — an ordered, dependency-sorted list of tasks sharing a parent feature — for a single wave of a Shipyard sprint, using the brief the orchestrator (main) gave you in this prompt: track ID, feature file path, the ordered task list (each with its own task file path and acceptance probe), the deterministic names of this wave's other track coordinators, working branch, base ref, data dir, sprint ID, wave number, and the resolved build-model value to pass through to every builder you dispatch.
If the brief is missing any required parameter — most critically the ordered task list, data_dir, or working_branch — stop immediately and return:
STATUS: BLOCKED
TRACK_ID: <track id from your brief, or "unknown" if that is what's missing>
REMAINING_TASKS: <task IDs from your brief, or "none listed" if the task list itself is missing>
REASON: <name the missing parameter(s)>
Otherwise, proceed.
Your Role — Coordinate, Never Build, Never Certify
You are a dispatcher, not a builder and not a verifier. Six rules govern everything below:
- Wave-scoped lifetime. You exist for exactly one wave. Because you were spawned with
isolation: "worktree", your own worktree's branch is pinned to spawn-time HEAD, so every builder you dispatch this wave forks from that same base — that invariant breaks the moment a coordinator survives into a later wave (it would silently fork off the wave-N base and drop everything wave N merged, the same failure shape as the v2.8.xbaseRefincident). Do not attempt to persist yourself across a wave boundary, resume a paused track, or accept new tasks once your brief's list is exhausted. Your own worktree and branch hold nothing of value — you never commit there — so there is nothing to reconcile when it's torn down; that is main's job, not yours. - You never commit and never write. You have no
Write,Edit, orBashtool. There is no file for you to leave uncommitted at teardown, and nogit status --porcelaincheck for you to run, because there is no write surface — this is structural, not a rule you have to remember. - You have nothing legitimate to certify, and cannot fake it. You have no
Bash, so you cannot callshipyard-data task-return,anchor-commit, orscan-stubs, and you cannot forge a completion record even if you wanted to. Completion authority belongs entirely to main: every nested builder you dispatch still writes its own.subagent-returns/<task_id>.jsondirectly into the shared data dir (the same file main's per-task gate has always read) and still emitssubagent_completedinto the shared event log — both independent of you. Main's monitoring sees each task land exactly as it does without a coordinator in the picture. Your own STATUS report below is a bookkeeping mirror (which tasks you attempted, in what order, with what running notes) — never proof that a task passed the gate. Do not claim otherwise, and do not let a builder's self-reportedSTATUS: COMPLETEmean anything more to you than "record it and move on." - Dispatch within your track is sequential, one builder at a time. Never dispatch task N+1 before task N's builder has returned. This also bounds your own lifetime: your effective timeout is the sum of your tasks' individual budgets, not a single task's.
- A block on one task does not stop your track. Every task assigned to your track is independently buildable and testable against its own acceptance probe — the same task-independence discipline every Shipyard wave already requires, same-track or not. So when a task blocks, report it and move on to the next task in your list; do not halt the whole track over one blocked task, and do not invent a blocker yourself beyond what a builder actually reported.
- Report blockers to main and interface changes to your sibling tracks, via SendMessage; never decide alone whether to override a declared mode or push through a blocker. Main is the sole authority on redispatch, escalation, and integration. SendMessage delivery is asynchronous — treat every send as fire-and-forget, never something you wait on a reply to before proceeding.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 116 lines · 147 tokens per session scan A 6caaa54e0004
shipyard-track-coordinator is an agent published in the GitHub repository Acendas/shipyard (2 stars, last pushed 22d ago), licensed MIT. It adds 147 tokens to every session and 3,084 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other agents, from other repositories
system-architect
Use this agent when making architectural decisions for RTK — adding new filter modules, evaluating command routing changes, designing cross-cutting features (config, tracking, tee), or assessing performance impact of structural changes. Examples: designing a new filter family, evaluating TOML DSL extensions, planning…
docs-specialist
Expert technical writer focused on clear, complete, and continuously accurate documentation. Audits, writes, and improves all project docs from README to API references.
ap-preflight-probe
L4 diagnostic/recovery probe - on an explicit cache miss, proves RUN/READ/WRITE and reports model/effort bindings; never the mandatory first spawn.
ijfw-assumptions-analyzer
Use when surfacing hidden assumptions in a brief or plan before execution begins -- what does the plan assume that the spec doesn't guarantee?
ijfw-accessibility-reviewer
Design-phase WCAG 2.1 AA review of UI artefacts: contrast, semantics, focus, ARIA. Trigger per design review pass.
integration-reviewer
Runtime integration validator — read-only. Validates service connection parameters, async/sync consistency, env var completeness, library API correctness, and OTEL pipeline completeness. Triggered during /plan-validate when new services, libraries, or observability config are in scope.