product-spec-builder

product-spec-builder is a skill for Claude Code, Codex from zxpmail/ReqForge. It costs 0 tokens per session (3,271 once invoked), scanned A, original, MIT.

A skill for collecting detailed product requirements and writing them into a Product-Spec.md file. It also updates that file and records changes when an existing product specification evolves.

In plain words
What is it for?
Defining a new application or tool, adding features, changing requirements, adjusting the interface, and maintaining the related product specification.
Why use it?
It helps turn an idea or feature request into clear requirements before development begins. It can also expose conflicts between new requests and the current specification.

Skill for Claude CodeCodex

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/zxpmail/reqforge/product-spec-builder
Any agent
npx skills add zxpmail/ReqForge --skill product-spec-builder
Clone the repo
git clone --depth 1 https://github.com/zxpmail/ReqForge

Made for: Claude Code, Codex.

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 product-spec-builder

README.md
[![agentmods](https://agentmods.dev/badge/skills/zxpmail/reqforge/product-spec-builder.svg)](https://agentmods.dev/skills/zxpmail/reqforge/product-spec-builder)
Your own site
<a href="https://agentmods.dev/skills/zxpmail/reqforge/product-spec-builder"><img src="https://agentmods.dev/badge/skills/zxpmail/reqforge/product-spec-builder.svg" alt="Measured on agentmods" height="20"></a>
Per session 0 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,271 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.00000 $0.03271
Opus 5 $0.00000 $0.01636
Sonnet 5 $0.00000 $0.00654
Haiku 4.5 $0.00000 $0.00327

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

Security

Grade A, and why

product-spec-builder 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.

adapters/claude-code/.claude/skills/product-spec-builder/SKILL.md · 213 lines

How it starts

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


name: product-spec-builder description: Used when the user says they want to build a product, application, or tool, or when they want to add features, change requirements, or adjust UI. Collects requirements through in-depth conversation, generates or updates Product-Spec.md. version: 1.1.0 updated: 2026-05-30 requires: []

[Task] 0-to-1 Mode: Collect product requirements from the user through in-depth conversation, using direct even pointed questioning to force the user to think clearly, ultimately generating a structurally complete, detail-rich Product Spec document suitable for direct AI development, and output it as a .md file for the user.

**Iteration Mode**: When the user proposes new features, requirement changes, or iterative ideas during development, use questioning to help the user clarify the change, detect conflicts with the existing Spec, directly update the Product Spec file, and automatically record the changelog.

[Not For] - Creating development plans -> use /dev-planner instead - Writing code -> use /dev-builder instead - Designing visual style -> use /design-brief-builder instead - Fixing bugs -> use /bug-fixer instead

[Dependency Check] Executed automatically as the first step when the Skill starts. All checks must pass before entering the main workflow.

This skill has no external dependencies, only pre-requisite file checks:
- 0-to-1 Mode: No pre-requisite files required
- Iteration Mode: Product-Spec.md must exist

[First Principles] Spec 前必读 references/first-principles.md

[Shared Discipline] Karpathy 四原则 → ../_shared/karpathy-discipline.md

[HARD-GATE] Until Product-Spec.md is saved and the user explicitly confirms it (0-to-1) or confirms the iteration delta (Iteration Mode):

- **MUST NOT** invoke `/dev-planner` or `/dev-builder`
- **MUST NOT** create or edit application source under `src/`, `app/`, `lib/`, `packages/`
- **MUST NOT** treat "rough agreement in chat" as confirmation — user must confirm the written Spec (or changelog delta)

Session-start iron laws reinforce this via `templates/forge-bootstrap.md` (injected by `check-evolution` hook).

Rationalizations → `references/hard-gate-rationalization.md`

[File Structure] product-spec-builder/ ├── SKILL.md # 入口(本文件) ├── references/ │ ├── first-principles.md │ ├── output-style.md │ ├── skills-capabilities.md │ ├── judgment-spectrum.md │ ├── startup-check.md # 模式路由 │ ├── workflow-quick-mode.md # Quick 路径(短 prompt) │ ├── workflow-0-to-1.md │ ├── workflow-iteration.md │ ├── light-grill-mode.md │ ├── distillation-mode.md # 需求蒸馏(反讨好·需求阶段) │ ├── requirements-dimensions.md │ ├── conversation-strategy.md │ ├── hard-gate-rationalization.md │ ├── multi-stakeholder-review.md # 四视角扫描 + 输出格式 │ ├── critique-gate.md # 反讨好偏见批判 gate(三个结构信号) │ └── pm-frameworks-*.md │ └── multi-stakeholder-review.md # 四视角扫描 + 输出格式 └── templates/ ├── product-spec-template.md └── changelog-template.md ../_shared/

[Gotchas] Skipping WebSearch: "I know this domain well" → WebSearch anyway. Competitors, frameworks, and best practices change fast. Accepting vague requirements: "users will like it", "good UX", "modern design" → keep pressing until specifics. Over-scoping: Every "nice to have" is scope creep unless explicitly cut. After collecting requirements, proactively trim: "What can we cut from v1?" Missing conflict detection: In iteration mode, cross-reference existing Spec before finalizing changes. Duplicating change-manager: Do not create changes/<name>/ here — scoped features use /change-manager only. Chat agreement is not HARD-GATE lift: Require explicit confirm of the saved file. See references/hard-gate-rationalization.md. Quick Mode loading wrong refs: Quick path → read workflow-quick-mode.md only; do not load full 0-to-1 interview chain. Cross-phase redundancy: Questions asked in Exploration may be re-asked verbatim in Clarifying or Refinement. Track what's been covered: after each phase, note covered topics; before next phase, scan that list. Do not ask what was already asked. Single-pass validation is insufficient: Step 6 Final Validation must run at least 3 full scan→fix cycles, not just "until clean". One pass misses 30-50% of issues. Use an explicit counter and re-read the full Spec each cycle — incremental diffs accumulate blind spots. No cross-phase dedup before generation: Exploration, Clarifying, and Refinement phases each produce interview notes with overlapping content. Before Document Generation, do a structured dedup pass across all phases' notes — merge duplicate requirements, flag contradictions across phases, consolidate scattered decisions. Redundancy baked into the Spec is much harder to remove after generation. Multi-Stakeholder Review ≠ Critique Gate ≠ Step 7: MS Review asks "should we build this?" Critique Gate asks "what are we getting wrong?" Step 7 asks "is the Spec sound?" Three different gates — do not merge them. Product size → gate level: Small products (CLI, ≤4 features, no auth/DB) get recommended light gate level via forge-size-detect. Full gates for larger products. User may override in .forge/gate-config.json. Critique Gate evidence rule: Every finding in the Critique Gate Summary must cite Evidence as §section or "spec quote". Findings without evidence do not count toward the density quota — unfalsifiable criticisms are the easiest to fake. Critique Gate verdict thresholds: 0 findings + proceed → re-scan mandatory (highest sycophancy risk). <3 evidence-backed findings → re-scan once. ≥3 evidence-backed findings → proceed/clarify/blocked per stop rules. Full procedure in references/critique-gate.md.

Read the full file on GitHub · 213 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. 4d ago First seen · 213 lines · 0 tokens per session scan A 6b2ffc6aae30

Subscribe to this mod's changes

product-spec-builder is a skill published in the GitHub repository zxpmail/ReqForge (18 stars, last pushed 14d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 3,271 tokens. 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.