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 product-on-purpose/pm-skills --skill deliver-acceptance-criteriagit clone --depth 1 https://github.com/product-on-purpose/pm-skillsWrote 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/product-on-purpose/pm-skills/deliver-acceptance-criteria)<a href="https://agentmods.dev/skills/product-on-purpose/pm-skills/deliver-acceptance-criteria"><img src="https://agentmods.dev/badge/skills/product-on-purpose/pm-skills/deliver-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/product-on-purpose/pm-skills/deliver-acceptance-criteria"><img src="https://agentmods.dev/badge/skills/product-on-purpose/pm-skills/deliver-acceptance-criteria.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Socket pass
- Snyk pass
- 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.00096 | $0.00855 |
| Opus 5 | $0.00048 | $0.00428 |
| Sonnet 5 | $0.00019 | $0.00171 |
| Haiku 4.5 | $0.00010 | $0.00085 |
Grade A, and why
deliver-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 13d 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.
Copies of this mod
1 near-identical copy found in the catalogue:
- deliver-acceptance-criteria — 95% identical, 16 lines differ
How it starts
The opening of the file, as written. The whole thing — 81 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Acceptance Criteria
Acceptance criteria define the observable behavior that must be true for a story or feature to be considered done. This skill turns feature context into concise, testable Given/When/Then scenarios that engineers and QA can verify without guessing intent.
When to Use
- After a user story, PRD section, or feature slice is defined
- When a team needs clear pass/fail conditions for implementation
- When writing QA-ready criteria for sprint planning or handoff
- When a story has edge cases, error paths, or non-functional expectations that should be explicit
When NOT to Use
- You need the user stories themselves -> use
deliver-user-stories; this skill deepens a story that already exists - You need systematic failure coverage across a whole feature -> use
deliver-edge-cases; this skill stays story-scoped - There is no story or slice to bind criteria to yet -> use
deliver-prdordeliver-user-storiesfirst - You are defining success metrics for an experiment, not done-ness for a story -> use
measure-experiment-design
Instructions
When asked to create acceptance criteria, follow these steps:
-
Confirm the story or feature scope Identify the exact slice of work. If the scope is unclear, ask for the user story, PRD section, or feature description before drafting criteria.
-
Separate the happy path from exceptions Start with the primary success flow, then add edge cases and error states that are likely or costly if missed.
-
Write each criterion as an observable scenario Use Given/When/Then language only. Keep each criterion independently testable and avoid implementation details.
-
Cover recovery and failure behavior Describe what the user sees or can do when validation fails, a dependency is unavailable, or a save action cannot complete.
-
Include non-functional expectations Add criteria for performance, accessibility, security, reliability, or auditability when they matter to the story.
What ships with it
5 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.
- 13d ago First seen · 81 lines · 96 tokens per session scan A b36f3a14c660
deliver-acceptance-criteria is a skill published in the GitHub repository product-on-purpose/pm-skills (663 stars, last pushed yesterday), licensed Apache-2.0. It adds 96 tokens to every session and 855 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
idea-validator
Use when the user asks to validate a product idea, stress-test an idea, evaluate whether an idea is good, or decide whether to build something. Do NOT use for prioritizing an existing backlog or reviewing a shipped feature — those need RICE scoring or a design review instead.
product-designer
Use when the user asks to review a design, critique a UI or mockup, give design feedback, or check a screen for usability and accessibility issues. Do NOT use for visual brand or aesthetic preference debates, or for reviewing copy before layout is settled.
prompt-engineer
Use when the user asks to improve, optimize, rewrite, debug, or shorten a prompt, or asks why a prompt is producing bad output. Do NOT use for writing a Claude Code SKILL.md — that needs skill structure rules, not prompt techniques.
status-update-writer
Use when the user asks to write a status update, weekly or monthly update, stakeholder update, project update, standup, status report, or QBR. Do NOT use for writing a PRD or a retro doc — those need different structures.
linkedin-post-writer
Use when the user asks to write, draft, or rewrite a LinkedIn post, turn notes or an article into a LinkedIn post, or fix a hook that is not landing. Do NOT use for X/Twitter threads, newsletters, or blog posts — those need different length and hook rules.
spec-from-conversation
Turn an unstructured stakeholder conversation, Slack thread, or meeting transcript into a structured spec (problem, goals, non-goals, success metrics, open questions). Use whenever a PM has raw conversational input and needs a first-draft spec, or when someone says "can you turn this into a doc" after a discussion.…