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/stefan-stepzero/shipkit/shipkit-product-goalsnpx skills add stefan-stepzero/shipkit --skill shipkit-product-goalsgit clone --depth 1 https://github.com/stefan-stepzero/shipkitWrote 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/stefan-stepzero/shipkit/shipkit-product-goals)<a href="https://agentmods.dev/skills/stefan-stepzero/shipkit/shipkit-product-goals"><img src="https://agentmods.dev/badge/skills/stefan-stepzero/shipkit/shipkit-product-goals.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.1 | $0.00039 | $0.05164 |
| Opus 5 | $0.00019 | $0.02582 |
| Sonnet 5 | $0.00008 | $0.01033 |
| Haiku 4.5 | $0.00004 | $0.00516 |
Grade A, and why
shipkit-product-goals 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 5d 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 — 500 lines — stays where its author put it; the contents beside it link to each section on GitHub.
shipkit-product-goals — Product Success Criteria
Purpose: Derive measurable user-outcome criteria from the product blueprint. Each feature, UX pattern, and differentiator implies criteria for "how do we know this works?" — this skill makes those criteria explicit, measurable, and trackable.
What it does: Reads the product blueprint + discovery context + stage from strategic.json, proposes user-outcome criteria (P-), appends P- IDs to existing stage gates, then writes goals/product.json.
Protocol: This skill follows the canonical elicitation protocol defined in install/shared/references/elicitation-protocol.md (the mechanics — marker, state files, resume). The steps below are this skill's specific application of that protocol.
Calibration: Apply install/shared/references/ground-or-ask-calibration.md (the intelligence — propose vs ask). Ground first: This is a DERIVATION skill — the vast majority of P-* criterion fields are directly derivable from cited upstream artifacts (product-definition.json, product-discovery.json, goals/strategic.json). Propose every criterion you can ground, tagged with its source; flag low-leverage guesses as guessed. The only genuinely high-leverage ungrounded fields are the concrete numeric thresholds (e.g., "> 80% completion rate") when no signal from stage calibration, prior metrics, or product-definition implies a specific value. Ask those — and only those. Keep the question set tiny (often zero). Do not ask what a signal already answers; do not silently invent a high-leverage threshold.
Output: One JSON file:
goals/product.json— User-outcome criteria (PM owns)
Strategic goals (stage, constraints, business metrics: S-) are handled by
/shipkit-stage, owned by the Visionary agent. Engineering goals (technical performance: E-) are handled by/shipkit-engineering-goals, owned by the Architect agent.
Modes
| Mode | Trigger | What It Does |
|---|---|---|
| Define (default) | "Set goals", "success criteria", "product goals" | Derive P-* criteria from product blueprint, write product.json, append P-* to gates |
| Evaluate | --evaluate, "check metrics" |
Read metrics/latest.json, compare product criteria to targets, output gap report |
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 5d ago First seen · 500 lines · 39 tokens per session scan A 16025e68d504
shipkit-product-goals is a skill published in the GitHub repository stefan-stepzero/shipkit (1 stars, last pushed 1mo ago), licensed MIT. It adds 39 tokens to every session and 5,164 once invoked, about $0.0002 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 skills, from other repositories
bootstrap-project
Use when setting up a new project with the full opinionated workflow — session memory, commit hooks, copyright headers, ROADMAP, and CLAUDE.md. Invoke with "bootstrap project", "setup project", "new project setup", or /bootstrap-project.
init-project-memory
Use when the user says "init memory", "set up memory", "scaffold memory", "init project memory", or invokes /init-project-memory — creates the .claude/ session memory system in a new project.
session-end
Use when the user says "end session", "wrap up", "let's stop here", or invokes /session-end.
session-update
Use when the user says "update session", "log progress", "checkpoint session", or invokes /session-update — especially before /clear or handoff.
session-start
Use when the user says "start session", "new session", "begin session", or invokes /session-start.
peer-review
Use when Claude completes a spec or code implementation and needs independent review, or when the user invokes /peer-review. Triggers automatically after spec writing or code completion for production projects. Only bypass when user explicitly opts out.