requirement-dev

An automated workflow for turning a software requirement into a plan, code changes, and tests. It tracks each requirement and its smaller features through stages such as planning, development, completion, or blockage.

In plain words
What is it for?
Starting or resuming requirements, planning features, developing them in dependency order, running tests with retries, and reporting completed or blocked work.
Why use it?
It reduces the manual work of deciding what to do next and keeps development progress tied to the original requirement.

Command

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 commands/xyzbit/claude-plugins/requirement-dev
Clone the repo
git clone --depth 1 https://github.com/xyzbit/claude-plugins
Per session 21 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 965 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.00021 $0.00965
Opus 5 $0.00010 $0.00483
Sonnet 5 $0.00004 $0.00193
Haiku 4.5 $0.00002 $0.00097

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

Security

Grade A, and why

requirement-dev 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 2d 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.

dev-enegine/commands/requirement-dev.md · 94 lines

How it starts

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

Requirement Dev

需求开发主编排命令。根据需求状态自动选择 Plan → Code → Test 流程,支持人工控制等级。

执行流程

第一步:加载配置

cat .dev-enegine/.lra-config.json

读取默认配置。如果用户通过 --level 传入了控制等级,则覆盖配置中的 control_level

配置项说明:

  • control_level:人工控制等级(high/medium/low)
  • max_test_retry:单个 feature 最大重试次数
  • parallel_features:是否并行开发无依赖的 features, 注意 false 一定不要并发启动 subagent

第二步:判断需求状态

cat .dev-enegine/requirements/manifest.json

读取需求索引,判断当前需求是否已存在:

  • 将用户输入的需求描述与 manifest 中已有需求做语义匹配
  • 如果匹配到已有需求,检查其 status 字段
  • 如果未匹配到,视为新需求

第三步:状态分流

读取 manifest 中当前需求的 status,按下表执行对应操作:

状态 说明 操作
不存在 未匹配到已有需求 创建需求目录,向 manifest.json 添加条目 { "dir": "<目录名>", "name": "<需求简称>", "status": "planning" },进入规划
planning 规划未完成 调用 Planner Agent,用户确认后状态改为 developing,进入开发循环
developing 规划已完成 直接进入开发循环
completed 全部完成 展示完成摘要,询问是否继续新需求
blocked 存在阻塞 feature 展示阻塞原因,询问用户:恢复 / 跳过 / 终止

第四步:开发循环

获取下一个|批待开发 feature

读取需求目录下的 feature_list.json,按 DAG 拓扑排序执行, 获取下一个|批待开发 feature。

获取规则如下:

规则:
1. passes == false 且 blocked != true
2. depends_on 中所有 feature 的 passes == true
3. 如果 parallel_features == false,一次只取一个
4. 如果 parallel_features == true,取所有满足条件的(当前版本暂不实现并行调用,只标记可并行的 features)
调用 Coder Agent 开发

调用 Coder Agent,传入 feature 对象、需求目录路径及上一轮失败摘要(如有)。

根据结果处理

结果 操作
PASS,control_level != high 直接继续下一个 feature
PASS,control_level == high 向用户展示 feature 详情,确认后标记 passes = true,继续
FAIL,失败次数 < max_test_retry 携带失败摘要重试 Coder Agent
FAIL,失败次数 >= max_test_retry 标记 blocked = true,跳过,若后续所有 feature 均依赖此项则整体置为 blocked

结束条件:所有 feature passes == true → manifest 置 completed;存在 blocked → manifest 置 blocked。未结束则回到获取下一个|批待开发 feature 继续开发

第五步:收尾

  1. 记录
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Requirement completed: <需求名>" >> .dev-enegine/claude-progress.txt
  1. 报告 向用户报告最终结果:
  • 完成的 feature 数量
  • 阻塞的 feature 数量(如有)
  • Git 提交记录摘要

注意事项

Read the full file on GitHub · 94 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. 2d ago First seen · 94 lines · 21 tokens per session scan A 97583b5912f8

Subscribe to this mod's changes

requirement-dev is a command published in the GitHub repository xyzbit/claude-plugins (27 stars, last pushed 4mo ago), licensed Apache-2.0. It adds 21 tokens to every session and 965 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.