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 mileson/openprd --skill openprd-routergit clone --depth 1 https://github.com/mileson/openprdWrote 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/mileson/openprd/openprd-router)<a href="https://agentmods.dev/skills/mileson/openprd/openprd-router"><img src="https://agentmods.dev/badge/skills/mileson/openprd/openprd-router.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 7 findings, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Agent Snooping · line 54 Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
- medium Agent Snooping · line 55 Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
- medium Agent Snooping · line 56 Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
- medium Agent Snooping · line 69 Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
- medium Agent Snooping · line 56 Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
- medium Agent Snooping · line 57 Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
- medium Agent Snooping · line 58 Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
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.00037 | $0.02233 |
| Opus 5 | $0.00018 | $0.01117 |
| Sonnet 5 | $0.00007 | $0.00447 |
| Haiku 4.5 | $0.00004 | $0.00223 |
Grade A, and why
openprd-router 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 4d 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 — 70 lines — stays where its author put it; the contents beside it link to each section on GitHub.
OpenPrd Router
作用
这份 skill 是 OpenPrd 的入口路由,不是长文规则仓库。
- 先决定该读哪个 skill
- 再决定该看哪个命令入口
- 最后才进入具体实现、评审或验证
入口顺序
- 先看
.openprd/harness/runtime-environment.json的runtimeDetection.executionMode。如果识别到 Codex automation、Claude Code headless、cron、scheduled 或 unattended task,进入 automation-safe mode:默认不要要求openprd dev-check/quality/doctor;按该自动化自己的 runbook、日志、测试和通知合同收口。只有 prompt 明确说明这是 OpenPrd 维护任务或显式启用 OpenPrd 时,才恢复下列检查。 - 如果用户当前明确在说“帮我梳理下”“先想清楚”“进入脑暴模式”,先读取
$openprd-requirement-intake;需要时直接进入openprd brainstorm . --open - 其他互动情况直接使用当前会话与用户消息;OpenPrd 不接管 Agent 上下文,只通过生成的提示词注入审查界面判断原则和质量合同
- 如果当前是空白工作区的前端/页面冷启动,而且用户已经给了明确的页面主题、模块范围或“直接实现”的意图,先用 3 到 5 行 mini-plan 收口,再进入
design-starter -> Patch Mode - 需要具体命令时,优先读取
.openprd/harness/command-catalog.md - 需要共用约束时,读取
$openprd-shared - 需要主工作流时,读取
$openprd-harness - 任务涉及界面、页面、视觉、样式、信息架构、内容型页面或前端体验时,额外读取
$openprd-frontend-design - 如果当前是轻量前端原型任务,而且工作区几乎没有现成页面文件,读完前端设计 skill 后由 Agent 在后台维护
.openprd/design/active/*,不要在docs/basic/占位文档里来回打转 - 如果用户已经给了效果图、设计稿、参考截图或其他明确参考图,仍然走前端设计 skill,但要把参考图当主约束;只有现有 starter / theme / layout 足够接近时才复用,不要让样式库把页面带到另一种风格
- 如果这类空白前端任务在带 message 的前提下仍短暂返回
clarify-user,但用户原话已经明确要求直接实现单页/首页/原型,就把它当成后台摘要提醒;用 3 到 5 行 mini-plan 记录可逆默认方案后继续design-starter -> Patch Mode,不要创建用户确认停顿
Agent 自主审查界面
- 在任务进入、证据形成、实现验证完成,以及准备执行发布、发送、批量写入等高影响后续动作前,Agent 都要重新判断:聊天文字是否足以让用户核查依据、比较对象并给出有效反馈。
- 只要存在人类审查节点,且命中以下任一强制触发条件,除非用户明确不要 HTML,或已经有能够完成同等核查、比较与反馈的任务专属审查界面,否则 Agent 必须在请求用户审查或执行高影响后续动作前,自行设计、制作并验证任务专属 HTML:
- 8 个及以上可比较对象,需要逐项展示状态、依据、冲突、未知项或决策。
- 用户需要对多个对象逐项批准、拒绝、选择、标注或填写原因,并保留可逆审查状态。
- 音频、视频、波形、时间线、多组截图或可交互原始数据必须放在来源上下文中审查。
- 复杂测试、Eval、回归或发布候选矩阵将直接用于发布、发送、批量写入等高影响决策。
- 交付物需要章节导航、搜索、筛选或长期反复阅读,聊天无法保持结构。
- 命中强制触发条件时,Markdown/CSV 可以继续作为底层证据或导出格式,但不能替代任务专属 HTML。未命中时仍由 Agent 按审查成本做语义判断,不要等待用户主动索要 HTML;简单事实、单一动作、低信息量结果,或只会把聊天内容换皮的页面,不要强行 HTML 化。
- 当本轮交付包含只有用户或负责人才能完成的选择、批准或纠错时,最终交付本身就是人类审查节点;Agent 自己把任务标成“直接分析”、L0/L1/L2 或只读分析,不构成豁免。只有用户或宿主明确禁止新增文件、用户明确不要 HTML,或已有同等任务专属界面时才可豁免,并说明理由。
- 命中强制条件后,如果最终回复没有可点击的任务专属
.html绝对路径和验证说明,不得把该审查节点标记为完成;仅生成 starter、保留无来源占位内容或只证明文件存在,也不算完成。 - OpenPrd 只注入判断原则和质量合同,不生成这种任务专属 HTML,也不替 Agent 选择页面结构、技术方案或视觉表达。命中候选场景时,读取
$openprd-harness的references/agent-authored-html-review.md。 - 现有
review.html、质量报告和学习阅读器仍是固定流程工件;它们不替代 Agent 针对当前证据与用户决策自行制作的审查界面。
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.
- 4d ago First seen · 70 lines · 37 tokens per session scan A f2ace64bd830
openprd-router is a skill published in the GitHub repository mileson/openprd (50 stars, last pushed 9d ago), licensed MIT. It adds 37 tokens to every session and 2,233 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-09-03.
Other skills, from other repositories
openspec-bulk-archive-change
Archive multiple completed changes at once. Use when archiving several parallel changes.
openspec-archive-change
Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.
openspec-explore
Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the user wants to think through something before or during a change.
openspec-onboard
Guided onboarding for OpenSpec - walk through a complete workflow cycle with narration and real codebase work.
openspec-sync-specs
Sync delta specs from a change to main specs. Use when the user wants to update main specs with changes from a delta spec, without archiving the change.
openspec-apply-change
Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.