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.
git 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/commands/dhslegen/digital-delivery-team/build-web)<a href="https://agentmods.dev/commands/dhslegen/digital-delivery-team/build-web"><img src="https://agentmods.dev/badge/commands/dhslegen/digital-delivery-team/build-web.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.00035 | $0.02808 |
| Opus 5 | $0.00017 | $0.01404 |
| Sonnet 5 | $0.00007 | $0.00562 |
| Haiku 4.5 | $0.00003 | $0.00281 |
Grade B, and why
build-web scanned grade B with 1 finding 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 6d 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.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
[ -f "$DDT_PLUGIN_ROOT/bin/aggregate.mjs" ] || DDT_PLUGIN_ROOT=$(cat "${HOME}/.claude/delivery-metrics/.ddt-plugin-root" 2>/dev/null) How it starts
The opening of the file, as written. The whole thing — 263 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/build-web
按 docs/api-contract.yaml 与 docs/prd.md UX 语义实现前端 UI。M6.4 起改用 main thread + 6-phase 范式,每组件流式可见,每文件 validation,每 step checkpoint commit。
输入:$ARGUMENTS
Phase 1 — 前置校验
test -f docs/api-contract.yaml || { echo "❌ 请先运行 /design"; exit 1; }
test -f docs/prd.md || { echo "❌ 请先运行 /prd"; exit 1; }
[ -f "$DDT_PLUGIN_ROOT/bin/aggregate.mjs" ] || DDT_PLUGIN_ROOT=$(cat "${HOME}/.claude/delivery-metrics/.ddt-plugin-root" 2>/dev/null)
[ -f "$DDT_PLUGIN_ROOT/bin/aggregate.mjs" ] || DDT_PLUGIN_ROOT="${HOME}/.claude/plugins/marketplaces/digital-delivery-team"
[ -f "$DDT_PLUGIN_ROOT/bin/aggregate.mjs" ] || { echo "❌ DDT plugin root 未解析"; exit 1; }
export DDT_PLUGIN_ROOT
if printf '%s' "$ARGUMENTS" | grep -q -- '--dry-run'; then
node "$DDT_PLUGIN_ROOT/bin/print-dry-run.mjs" --phase build-web --inputs "docs/api-contract.yaml,docs/design-brief.md,.ddt/design/<channel>/raw/" --outputs "web/" --next "/verify"
exit 0
fi
node "$DDT_PLUGIN_ROOT/bin/emit-phase.mjs" --phase build-web --action start
"$DDT_PLUGIN_ROOT/bin/check-blockers.sh" || exit 2
if command -v npx >/dev/null 2>&1; then
npx --yes @redocly/cli lint docs/api-contract.yaml || exit 4
fi
# PR-E:frontend.type !== 'spa' 时直接 noop 退出,不创建 web/ 工程
# server-side(Thymeleaf/JSP/...)→ 模板由 /build-api 在 backend 项目里处理
# none / api-only / cli → 无前端工程
FRONT_TYPE=$(node "$DDT_PLUGIN_ROOT/bin/get-frontend-type.mjs" 2>/dev/null)
if [ "$FRONT_TYPE" = "server-side" ] || [ "$FRONT_TYPE" = "none" ]; then
echo "ℹ️ frontend.type=$FRONT_TYPE,/build-web 跳过:服务端渲染由 /build-api 在 backend 项目内处理(src/main/resources/templates 等);纯 API/CLI 无前端工程。"
node "$DDT_PLUGIN_ROOT/bin/emit-phase.mjs" --phase build-web --action end
exit 0
fi
# v0.8.1 D7:frontend.type=spa 时强校验 docs/design-brief.md 存在,避免跳过
# /design-brief → /design-execute 直接 build-web 让 brief 缺失但 web/ 已实现,
# verify 时再发现已迟。--skip-brief 是显式逃生口(少见 — 例如改回归既有项目)。
if [ "$FRONT_TYPE" = "spa" ] && [ ! -f docs/design-brief.md ]; then
if printf '%s' "$ARGUMENTS" | grep -q -- '--skip-brief'; then
echo "⚠️ --skip-brief 已声明,跳过 design-brief 前置校验(不推荐 — UI 一致性可能下降)"
else
echo "❌ frontend.type=spa 但缺 docs/design-brief.md"
echo " 建议路径:/design-brief(编译 SSoT)→ /design-execute --channel claude-design"
echo " 如确认无需 AI 设计源,加 --skip-brief 显式声明并重跑 /build-web --skip-brief"
exit 1
fi
fi
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.
- 6d ago First seen · 263 lines · 35 tokens per session scan B 8c2ec4c5a6fe
build-web is a command published in the GitHub repository dhslegen/digital-delivery-team (1 stars, last pushed 3mo ago), licensed MIT. It adds 35 tokens to every session and 2,808 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
implement
A command for building software features from a PRD, or product requirements document. It separates design from coding and tracks work in a checklist file.
review-pr
A command for reviewing a GitHub pull request, which is a proposed code change waiting to be merged. It examines the changes and can leave review comments or approve the pull request when the findings pass.
web-design
Design and build a complete website or webapp from a project brief — end-to-end workflow from design to working React/Vite code.
ccc-multi-frontend
Frontend-focused multi-model workflow: Research → Plan → Execute → Review, Gemini-led.
refi-quote
Description: Mortgage refinance quote, analysis, and application submission Usage: /refi-quote.
example-command
An example slash command that demonstrates command frontmatter options (legacy format).