Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add Acendas/shipyard/plugin install 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/skills/acendas/shipyard/extracting-acceptance-criteria)<a href="https://agentmods.dev/skills/acendas/shipyard/extracting-acceptance-criteria"><img src="https://agentmods.dev/badge/skills/acendas/shipyard/extracting-acceptance-criteria/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/acendas/shipyard/extracting-acceptance-criteria"><img src="https://agentmods.dev/badge/skills/acendas/shipyard/extracting-acceptance-criteria.svg" alt="Reviewed on agentmods" width="80" 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.00016 | $0.02522 |
| Opus 5 | $0.00008 | $0.01261 |
| Sonnet 5 | $0.00003 | $0.00504 |
| Haiku 4.5 | $0.00002 | $0.00252 |
Grade A, and why
extracting-acceptance-criteria 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 10d 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 — 174 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Extracting Acceptance Criteria
A feature description is usually a paragraph: "users should be able to create accounts with email + password, get a verification email, and log in once verified." That description has three or four implicit acceptance criteria woven together. This skill pulls them out into a list a builder can implement against and a reviewer can check.
The output is the input to authoring-acceptance-probe (which probes each AC) and dispatching-spec-review (which verifies each AC was met).
When to Invoke
| Caller | Trigger |
|---|---|
/ship-discuss |
Right after the user's feature pitch crystallizes — convert prose into ACs before edge-case discovery |
/ship-spec |
When auditing or rewriting a feature spec; pull ACs out of buried prose |
/ship-sprint |
When breaking a feature into tasks, each task gets a slice of the feature's ACs |
/ship-bug |
Convert a bug report into a regression AC ("the system shall not ") |
If the spec already has a clean numbered AC list with one observable per item, don't invoke this skill — there's nothing to extract. Read and follow discovering-edge-cases instead to find missing ACs.
Inputs
feature_text— the prose description, user request, or existing spec section.parent_context— optional pointer to the parent feature/epic for inheritance (a sub-feature inherits the parent's domain ACs unless overridden).domain_hints—["payments", "auth", "external-api", ...], used to pre-load domain-specific AC patterns (idempotency, audit, etc.).
What an Acceptance Criterion Is
An AC is a single, observable, testable statement about what the system does (or doesn't do) under specific conditions. The shape:
Given <context>, when <action>, then <observable outcome>.
Literal Given/When/Then phrasing is optional. The shape enforces three properties: a starting condition, a triggering action, and an observable outcome that a probe can check.
Examples (good):
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.
- 10d ago First seen · 174 lines · 16 tokens per session scan A 8adf82022736
extracting-acceptance-criteria is a skill published in the GitHub repository Acendas/shipyard (2 stars, last pushed 28d ago), licensed MIT. It adds 16 tokens to every session and 2,522 once invoked, about $0.0001 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
ai-ml-development
AI and machine learning development with PyTorch, TensorFlow, and LLM integration. Use when building ML models, training pipelines, fine-tuning LLMs, or implementing AI features.
android-development
Android development with Kotlin, Jetpack Compose, and modern Android architecture. Use when building Android apps, implementing Material Design, or following Android best practices.
audio-production
Professional audio production for music, podcasts, and sound design. Use when working with audio recording, mixing, mastering, or sound design for any medium.
authentication-patterns
OAuth 2.0, JWT, SSO, MFA, NextAuth/Clerk/Supabase Auth implementation patterns.
brand-identity
Brand strategy and identity design for businesses and products. Use when creating brand guidelines, developing visual identity systems, or defining brand positioning.
career-path-planner
Career goal mapping with skill gap analysis, actionable development plans, and milestone tracking. Use when planning career transitions, identifying skill gaps, setting professional development goals, or evaluating career options.