forge-prd

forge-prd is a skill for Claude Code, Codex from Today-Hbw/claude-code-dev-workflow. It costs 27 tokens per session (1,916 once invoked), scanned A, original, MIT.

A method for turning rough ideas or source material into a clear product requirements document, or PRD—a written plan developers can build from.

In plain words
What is it for?
Use it to examine notes, screenshots, PDFs, HTML, or Markdown and produce a structured Markdown PRD after clarifying the intended result.
Why use it?
It exposes missing details, unclear wording, boundaries, and failure cases before development begins.

Skill for Claude CodeCodex

Part of the forge-prd plugin — 1 skill, 1 command shipped together

Install

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.

agentmods
npx agentmods add skills/today-hbw/claude-code-dev-workflow/forge-prd
Any agent
npx skills add Today-Hbw/claude-code-dev-workflow --skill forge-prd
Clone the repo
git clone --depth 1 https://github.com/Today-Hbw/claude-code-dev-workflow

Made for: Claude Code, Codex.

Or install forge-prd, the plugin that ships this one along with the rest of its 1 skill, 1 command.

Wrote 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.

agentmods badge for forge-prd

README.md
[![agentmods](https://agentmods.dev/badge/skills/today-hbw/claude-code-dev-workflow/forge-prd.svg)](https://agentmods.dev/skills/today-hbw/claude-code-dev-workflow/forge-prd)
Your own site
<a href="https://agentmods.dev/skills/today-hbw/claude-code-dev-workflow/forge-prd"><img src="https://agentmods.dev/badge/skills/today-hbw/claude-code-dev-workflow/forge-prd.svg" alt="Measured on agentmods" height="20"></a>
Per session 27 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,916 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00027 $0.01916
Opus 5 $0.00014 $0.00958
Sonnet 5 $0.00005 $0.00383
Haiku 4.5 $0.00003 $0.00192

Measured 3d ago against content hash f5cb3a338ff6, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

forge-prd 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 3d 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.

plugins/forge-prd/skills/forge-prd/SKILL.md · 182 lines

How it starts

The opening of the file, as written. The whole thing — 182 lines — stays where its author put it; the contents beside it link to each section on GitHub.

forge-prd · 需求锻造方法论

你的任务

用户提供任何形式的原始素材(粗略想法、截图、PDF、HTML、MD),你通过 4 个阶段的强势拷问,将其锻造为一份清晰、可直接用于研发的 PRD,最终输出为 MD 文件。

4 阶段流程

阶段 1:吸收

读取所有素材文件,建立对需求的完整感知。

MD 文件:直接 Read 全部内容。

HTML 文件:Read 全部内容,忽略标签/样式/脚本噪音,聚焦正文需求内容。

PDF 文件:使用 Read 工具的 pages 参数分页读取,每次最多读 10 页,先读第 1 页判断是否相关。

图片文件(PNG/JPG):

  1. 使用 Read 工具读取图片(支持图片格式)
  2. 主动解读:输出一段描述,说明"我从这张图中理解到的是……",涵盖:
    • 图中出现的字段、按钮、文案
    • 布局结构、信息层级
    • 流程走向、状态变化
    • 标注的含义(如果有)
  3. 用 AskUserQuestion 请用户确认解读是否正确,或提供纠正
  4. 确认后才将图片信息纳入后续拷问

所有素材读完后,在对话中向用户简要汇报:"我读了以下素材……",让用户确认没有遗漏。


阶段 2:理解确认

在开始拷问前,先确认大方向没有理解错。

在对话中输出:

根据你提供的素材,我理解你想要的核心是:
- [复述你对需求的整体理解,2-5 个要点]

这个大方向正确吗?如果有偏差,请纠正。

用 AskUserQuestion 请用户确认。如果用户纠正了,调整理解后再次确认,直到用户确认大方向正确,才进入阶段 3。

这一阶段是安全网:如果连"用户要什么"都理解错了,后面的拷问全白做。不要跳过。


阶段 3:三层拷问

依次沿三个层次推进拷问,每层完成后再进入下一层。

第一层·模糊层

目标:找出素材中所有模糊表述,追问具体化。

扫描素材,识别:

  • "某种方式"、"类似 XX"、"用户想要的"等模糊词
  • 没有明确说明的动作主体、对象、时机
  • 可以用数值量化但只给了定性描述的地方

每个模糊点用 AskUserQuestion 提一个问题:

  • 先给出你的推荐具体化方案,说明理由
  • 让用户确认或修改

示例句式:

素材中提到"支持批量操作",但没有说明具体支持哪些操作。 我理解是 [具体操作列表],理由是 [理由]。 你觉得这样可以吗?还是有其他考虑?

第一层完成后,用 AskUserQuestion 问用户:"模糊层还有要补充的吗?" 用户确认没有,进入第二层。

第二层·边界层

目标:追问边界条件、异常处理、极值情况。

针对每个需求点,追问:

  • 数据为空 / 为 null 时怎么处理?
  • 最大值 / 最小值 / 超限情况?
  • 失败时如何提示?重试?回滚?
  • 并发场景下有无问题?

每个边界点用 AskUserQuestion 提一个问题,先推荐方案再确认。

示例句式:

需求中提到"导入数据",但没有说明单次导入上限。 我建议设为 [具体数值] 条,理由是 [理由]。 你觉得这样可以吗?

第二层完成后,同样向用户确认是否有补充,然后进入第三层。

第三层·假设层(强势质疑)

目标:质疑需求本身的合理性,挑战隐含假设。

这是本插件最有特色的一层。不要温和建议,要像红队一样强势挑战

  • "这个需求真的需要做吗?如果完全不做会怎样?"
  • "你确定要解决这个问题?有没有可能真正的问题在别处?"
  • "有没有根本性的替代方案,能绕开这个需求?"
  • "这个功能上线 3 个月后,用户真的会用吗?有什么依据?"
  • "这个需求的复杂度是不是被低估了?有没有可能引发连锁问题?"

每个挑战用 AskUserQuestion 提出,给出你的质疑理由,让用户回应。用户可以选择:

  • 承认质疑成立,调整需求
  • 给出理由说明为什么仍然需要,插件记录后继续

注意:强势质疑的目的是促进思考,不是刁难用户。如果用户的回答逻辑自洽,接受并记录,不反复纠缠同一点。

第三层完成后,用 AskUserQuestion 做最终确认:"整体还有要补充的吗?" 用户确认没有,进入阶段 4。


阶段 4:输出

将所有阶段收集的内容整合为一份 MD 文件,自动写入磁盘。

文件命名规则
  • 输入是单个文件 → 写到同目录,文件名为 <原文件名>.forged.md
  • 输入是目录 → 写到该目录,文件名为 PRD.forged.md
  • 输入来自对话 → 用 AskUserQuestion 询问用户想写到哪个路径

Read the full file on GitHub · 182 lines

Changes

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.

  1. 3d ago First seen · 182 lines · 27 tokens per session scan A f5cb3a338ff6

Subscribe to this mod's changes

forge-prd is a skill published in the GitHub repository Today-Hbw/claude-code-dev-workflow (22 stars, last pushed 23d ago), licensed MIT. It adds 27 tokens to every session and 1,916 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-30.

Related

Other skills, from other repositories

metrics-instrumentation

Specification for instrumenting an opik-backend workflow with operational OpenTelemetry metrics — per-stage throughput/latency/error counters and native histograms, dimensioned per-customer (workspace). Use when a pipeline (scoring, ingestion, experiments, jobs) needs per-stage visibility. Covers metric emission only…

comet-ml/opik · 93 tokens

swarms

Build agents and multi-agent systems with the Swarms framework — the Agent class, tools, autonomous loops, memory, and the 15+ multi-agent architectures (SequentialWorkflow, ConcurrentWorkflow, GraphWorkflow, HierarchicalSwarm, SwarmRouter, and more). Use whenever writing, reviewing, or debugging code that imports…

kyegomez/swarms · 73 tokens

happiness-skill

当用户问「怎么才能更幸福/为什么得到了还不满足/怎么减少焦虑」时调用。 核心理念: 幸福是缺憾感清空的默认状态, 是可训练的技能; 欲望是与自己的契约(得到前不快乐), 同时只留一个重大欲望; 活在当下。 不适用于: 临床抑郁等需要专业治疗的场景(本书方法不能替代医疗)。 Triggers: 幸福/不快乐/欲望/焦虑/知足/活在当下/happiness/desire/anxiety.

kangarooking/cangjie-skill · 136 tokens

short-drama-storyboard

把剧本和视觉事实转成有镜头职责、空间连续性和可冻结起点的 剧集/ /分镜.md。 每镜使用二级标题 ## SHOT-...,同镜下用 ### 冻结关键帧提示词 写起始帧正文。.

zenstory-ai/drama-skills · 102 tokens

setup-matt-pocock-skills

为本仓库配置工程技能——设置其 issue tracker、分诊标签词汇表和领域文档布局。首次使用其他工程技能前运行一次。.

devcxl/mattpocock-skills-zh · 43 tokens

contextpilot-savings

Use when a user asks how many tokens (or how much context/cost) ContextPilot has saved, or wants a ContextPilot savings status/summary inside Hermes Agent — e.g. "how much did ContextPilot save?", "show ContextPilot token savings", "ContextPilot status", "savings in the last 24h / all time", or "give me the raw…

EfficientContext/ContextPilot · 164 tokens