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 dhslegen/digital-delivery-team --skill acceptance-criteriagit clone --depth 1 https://github.com/dhslegen/digital-delivery-teamWrote 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/dhslegen/digital-delivery-team/acceptance-criteria)<a href="https://agentmods.dev/skills/dhslegen/digital-delivery-team/acceptance-criteria"><img src="https://agentmods.dev/badge/skills/dhslegen/digital-delivery-team/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/dhslegen/digital-delivery-team/acceptance-criteria"><img src="https://agentmods.dev/badge/skills/dhslegen/digital-delivery-team/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.00040 | $0.00863 |
| Opus 5 | $0.00020 | $0.00432 |
| Sonnet 5 | $0.00008 | $0.00173 |
| Haiku 4.5 | $0.00004 | $0.00086 |
Grade A, and why
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 11d 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.
What it actually says
Acceptance Criteria
Triggers
- product-agent 启动 / /prd 命令
- test-agent 启动 / /test 命令
Core Principles
- 每个用户故事至少 1 条 happy-path + 1 条 edge-case
- 可自动化测试 是硬约束——如果测试工程师无法在不问产品的情况下把它变成代码,它就不合格
- Non-Goals 和验收标准等重要——明确边界防止实现漂移
Format
Given <前置状态 / 上下文>
When <用户动作 或 系统事件>
Then <可观测结果,含可量化断言>
示例(登录场景)
# Happy-path
Given 用户已注册(email: [email protected],password: 已设置)
When 用户提交正确的 email + password
Then HTTP 200,body.token 存在(JWT 格式),有效期 1 小时
# Edge-case:密码错误
Given 用户已注册
When 用户提交正确 email + 错误 password,连续 5 次
Then 第 5 次返回 HTTP 429,body.error.code = "too_many_attempts",锁定 15 分钟
# Edge-case:账号不存在
Given 系统中无此 email 的用户
When 用户提交该 email
Then HTTP 404,body.error.code = "user_not_found"
Do
- 使用可观测的结果(HTTP 状态码 + 响应字段断言、页面上出现的精确文本)
- 数值要具体(响应时间 < 500ms,而不是"响应快")
- 错误路径要给出确切错误码或错误文案(而不是"报错")
- 边界值全覆盖:0 / 1 / 最大值 / 负数 / 空字符串 / null / 超长输入
Don't
- 写"系统应该正确处理 X"("正确"无客观判定)
- 写"用户体验要好"(不可测)
- 写"根据需要返回相关数据"(糊弄词,定义不清)
- 写"性能要足够快"(没有数值的性能要求无效)
可测试性判定表
| 验收标准特征 | 可测 | 不可测 → 怎么修 |
|---|---|---|
| 含具体 HTTP 状态码 | ✅ | 补充状态码 |
| 含 body 字段断言 | ✅ | 指定 body.field == "value" |
| 含时间数值(< Xms) | ✅ | 写出具体毫秒数 |
| "成功" / "失败" | ❌ | 改为 HTTP 2xx / 4xx + body |
| "响应快" / "体验好" | ❌ | 改为 p95 < 500ms |
| "根据需要" | ❌ | 明确条件与结果 |
Self-Test(交给 test-agent 前自问)
- 我能只看这条验收标准写出 test 代码吗?
- "通过 / 不通过" 的判定是客观的吗?
- 边界值(0 / 1 / 最大值 / 负数 / 空 / null)都覆盖了吗?
- 每个用户故事至少有 1 条 happy-path + 1 条 edge-case 吗?
- 非目标(Non-Goals)≥ 3 条吗?
Templates & References
templates/prd.template.md(内含验收标准填写示例)skills/api-contract-first/SKILL.md(错误码与验收标准对应关系)
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.
- 11d ago First seen · 78 lines · 40 tokens per session scan A 3c32c00096f8
acceptance-criteria is a skill published in the GitHub repository dhslegen/digital-delivery-team (1 stars, last pushed 3mo ago), licensed MIT. It adds 40 tokens to every session and 863 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
completion-verification
Verifies that work is actually complete before it is claimed to be — running the checks, reading the output, and confirming the original request was satisfied rather than approximated. Use this before saying something is done, fixed, or passing; before committing or opening a pull request; and whenever a claim of…
design-system-reference
Style guides and implementation rules for frontend design. Works with design-discovery agent which handles context gathering and VS-based style recommendations. Contains detailed style guides, anti-patterns, and implementation checklists.
team-memory-protocol
A shared-memory process for teams of coding agents working on the same build. It stores project knowledge, shared context, and task progress in separate files or repositories.
specify-incremental
Decompose a single-feature specification into a linear, phase-by-phase implementation plan. Use this for medium-complexity work — single feature, one or two components — where transparent human-in-the-loop phase review is preferred over factory automation.
knowledge-wiki
A tool that turns useful lessons from coding sessions into general articles for a team wiki. A wiki is a collection of linked reference pages, and this one can be kept locally or shared through a Git repository.
symfony:tdd-with-phpunit
Apply RED-GREEN-REFACTOR with PHPUnit 10/11 for Symfony; KernelTestCase/WebTestCase, attributes (#[Test]/#[DataProvider]), Foundry.