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 skills/heliohq/ship/write-docsnpx skills add heliohq/ship --skill write-docsgit clone --depth 1 https://github.com/heliohq/shipWhat 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.00095 | $0.02081 |
| Opus 5 | $0.00048 | $0.01040 |
| Sonnet 5 | $0.00019 | $0.00416 |
| Haiku 4.5 | $0.00010 | $0.00208 |
Grade A, and why
write-docs 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 2d 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 — 222 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Documentation Standard
All structured docs live under docs/. Each subdirectory is a category (e.g., docs/design/, docs/guides/, docs/troubleshooting/). Follow this standard when creating new docs or modifying existing ones.
For design docs and ADRs, the thinking is a separate job: /ship:arch-design
walks the design lenses (numbers, failure modes, trade-offs, red-team) and
hands the decision back here. This skill governs how the result is recorded —
design category conventions below, Boundaries required. If a design doc is
requested and no analysis exists yet, run /ship:arch-design first.
Red Flag
Never:
- Lead with analysis instead of the decision
- Include implementation details that belong in code
- Mix languages within one document
- Silently delete history — mark superseded sections, don't erase them
- Create a doc without adding it to the docs index
- Mark a doc as
currentwithout verifying claims against code - Skip the Boundaries section in design docs — it's the core anti-drift mechanism
- Ship a design doc with zero numbers and zero rejected alternatives — that's a description, not a design
- Use a duplicate number within a category
Frontmatter (Required)
Every managed doc MUST start with YAML frontmatter:
---
title: "Human-readable title"
description: "One sentence, under 120 chars — enough for an AI to decide whether to read the doc."
category: "design"
number: "002"
status: current | partially-outdated | superseded | draft | not-implemented
services: [scripts, hooks] # only when specific dirs/components are affected
superseded_by: "034" # only when status is superseded
related: ["design/001", "guides/003"] # category-qualified when cross-category
last_modified: "2026-04-13"
---
Required Fields
- title: Match the
# headingbelow the frontmatter. Use quotes if it contains special chars. - description: One concise sentence for the docs index — write it for an AI that needs to decide "should I read this doc?" without opening it. Max 120 chars.
- category: Matches the subdirectory name (e.g.,
"design","guides","troubleshooting"). Must be one of the subdirectories underdocs/. - number: Unique within its category. Zero-padded 3 digits (e.g.,
"002","029"). Used for file naming (029-topic.md) and cross-referencing. - status: One of the 5 allowed values. See Status Lifecycle below.
- last_modified: ISO date (
YYYY-MM-DD) when the doc was last updated. Must be updated on every edit.
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.
- 2d ago First seen · 222 lines · 95 tokens per session scan A 5c6f961a68e7
write-docs is a skill published in the GitHub repository heliohq/ship (92 stars, last pushed 2mo ago), licensed MIT. It adds 95 tokens to every session and 2,081 once invoked, about $0.0005 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-30.
Other skills, from other repositories
joedevflow
Development workflow. Use when building a feature, creating an MVP, refactoring code, fixing a bug, or any task that involves writing or changing implementation code.
casely
Intelligent QA assistant that automates writing test cases from project documentation. Use when the user wants to generate test cases from requirements, runs /init, /parse, /style, /plan, /generate, /export, or works with PDF/DOCX/XLSX requirement documents and TestRail-ready Excel export.
auth-web-cloudbase
CloudBase Web Authentication Quick Guide for frontend integration after auth-tool has already been checked. Provides concise and practical Web authentication solutions with multiple login methods and complete user management.
browse-and-evaluate
Use when exploring the ai-agent-skills catalog to find, compare, and evaluate skills before installing. Always use --fields to limit output size and --dry-run before committing to an install.
loop-engineering
Shared loop-engineering reference for COG skills - the agent loop, deterministic verifiers, termination conditions, in-loop context management, and named patterns. Invoke when designing or debugging a skill that iterates (search-verify-retry, scan-until-dry, fetch-retry-gate).
telnyx-messaging-hosted-curl
Set up hosted SMS numbers, toll-free verification, and RCS messaging. Use when migrating numbers or enabling rich messaging features. This skill provides REST API (curl) examples.