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 skills add spacedock-dev/spacedock --skill fo-status-viewergit clone --depth 1 https://github.com/spacedock-dev/spacedockWrote 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/skills/spacedock-dev/spacedock/fo-status-viewer)<a href="https://agentmods.dev/skills/spacedock-dev/spacedock/fo-status-viewer"><img src="https://agentmods.dev/badge/skills/spacedock-dev/spacedock/fo-status-viewer/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/spacedock-dev/spacedock/fo-status-viewer"><img src="https://agentmods.dev/badge/skills/spacedock-dev/spacedock/fo-status-viewer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.1 | $0.00087 | $0.01101 |
| Opus 5.5 | $0.00035 | $0.00440 |
| Sonnet 5.5 | $0.00017 | $0.00220 |
| Haiku 4.5 | $0.00009 | $0.00110 |
Grade A, and why
fo-status-viewer 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 1mo 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 — 59 lines — stays where its author put it; the contents beside it link to each section on GitHub.
First Officer Status Viewer
Status Viewer
The ${SPACEDOCK_BIN:-spacedock} status launcher owns path resolution and mutation guards; skill instructions stay declarative and never reference a plugin-private script path.
Invoke it as:
${SPACEDOCK_BIN:-spacedock} status --workflow-dir {workflow_dir} [--page N|--limit N|--next-id|--next|--archived|--where ...|--boot|--validate|--resolve REF]
--boot— startup roll-up (mods, ID style, next-ID candidate, orphans, PR state, dispatchables). Incompatible with--next,--next-id,--archived,--where.--validate— run before trusting manually edited workflow state.--resolve REF— deterministic lookup by slug, exact stored ID, or sd-b32 address prefix;--rootrejects unqualified cross-workflow ambiguity rather than guessing.--next-id— preview the next-id candidate forsequentialandsd-b32(n/a forslug). Forsd-b32, pass--id-seed "{slug-or-title}"and optionally--id-actor "{actor-or-agent}"so creation context enters the candidate. To file a new entity, do NOT pair--next-idwith a hand-written file — usespacedock newunder the eagerly loaded«write.classify»contract, which mints the id and atomically writes the stamped entity in one call.--next-idis candidate-preview only.--where <field>=<value>— THE entity query. One clause per flag; repeat the flag to AND clauses (--where sprint=X --where 'sprint-readiness!=defer'). Two clauses in one string is an error, not an AND.field!=means non-empty,field=means empty. Unknown field names are a loud error listing the known fields. Known fields are this workflow's frontmatter keys plus the canonical set:id slug status title score source worktree pr started completed verdict mod-block archived issue. Neverfind/grepthe state dir — query it.--next— dispatchable entities.
The --set flag updates entity frontmatter fields:
--set {slug} field=valuesets a field--set {slug} field=clears a field--set {slug} startedorcompletedauto-fills a UTC ISO 8601 timestamp (skipped if already set)- a field with a schema
conventionallist (today:verdict,[PASSED REJECTED]) is closed on write — any other token is refused byte-clean;--forcebypasses. Clearing always passes. To supersede an entity, clearverdictand--archiveit.
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.
- 1mo ago First seen · 59 lines · 87 tokens per session scan A 56623662c5ed
fo-status-viewer is a skill published in the GitHub repository spacedock-dev/spacedock (81 stars, last pushed today), licensed Apache-2.0. It adds 87 tokens to every session and 1,101 once invoked, about $0.0003 per session on Opus 5.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-30.
Other skills, from other repositories
merge-review
Reviews pending fleet worktree merges before they're accepted. Reads the merge-check queue, detects file-level conflicts between branches, proposes a safe merge order, and surfaces reconciliation plans for overlapping changes.
workspace
Multi-repo campaign coordinator. Same lifecycle as fleet -- scope claims, discovery relay, wave-based execution -- but the unit of work is a repo, not a file. Coordinates campaigns across repositories with shared context.
decision-map
Turn a loose idea into a git-tracked, session-resumable map of typed investigation tickets, then drive them to resolution one at a time. The planning-loop engine for work that is still being figured out — too fuzzy for a campaign, too big for a single intake item. Resolved tickets graduate into .planning/intake/ for…
unharness
Safely leave Citadel using the active adoption receipt. Produces a no-write, reviewable plan, preserves a portable archive, removes only exact owned material, and reports modified or externally registered surfaces as retained or unknown. Legacy installs must be imported before exact leave is claimed.
duneboard-init-project
Bootstrap DuneBoard in a local repository. Use when adding a DuneBoard board to a project, initializing tasks/, installing agent guidance, registering the project in the local DuneBoard UI selector, or making a project self-describing for future agents.
duneboard-organize-local-project
Organize an existing local project into DuneBoard tasks and specs. Use when the user asks to clean up local todo notes, scattered Markdown specs, issue notes, backlog files, roadmap docs, or agent-written plans into a simple DuneBoard board without unnecessary process.