ai-prd-workflow
nurettincoban · nurettincoban/ai-prd-workflow
This workflow enables AI coding agents to manage development from an idea or codebase to reviewed, tested code using an RFC-driven process and markdown files.
RFC-driven development for AI coding agents: idea or existing codebase → verified PRD → features → rules → sequenced RFCs → reviewed code. Agent Skills for Claude Code, Codex, Copilot, Cursor, Gemini CLI, OpenCode, Devin.
Preview
What you can do with it
- Guide an agent to generate a verified Product Requirements Document (PRD) from a high-level idea.
- Have an agent implement features one at a time, ensuring decisions are documented and consistent across sessions.
- Use agents to review and test generated code based on sequenced Requests For Comments (RFCs).
Safety check
Usable, but read the notes first.
- ●Installer downloads a remote script and pipes it to the shell.
install.sh
Automated scan of the repo files. Always review code you run.
From the README
📋 AI PRD Workflow
RFC-driven development for AI coding agents
Idea or existing code → verified PRD → features → rules → sequenced RFCs → reviewed, tested code
Quick start · How it works · Why · Evidence · Install options
English · 简体中文 · Türkçe · 日本語 · 한국어 · Español
RFC-driven since March 2025 — before Claude Code or Cursor had a plan mode, and before Kiro or Spec Kit existed.
AI coding agents write code well. They are worse at deciding what to build, remembering yesterday's decisions, and noticing when two documents disagree. This workflow handles that part. It takes an idea — or a codebase that already exists — to a reviewed PRD, prioritized features, project rules, and small RFCs in dependency order. Then it implements and reviews them one at a time.
Every step writes a markdown file that the next step reads, so decisions outlive the chat session. A script checks that the files still agree with each other. No CLI to learn, no framework to adopt, no lock-in.
A real /workflow-status run on the repo's own v2.0 example, condensed. Full report · what it was checked against
Quick start
Claude Code — install the plugin:
/plugin marketplace add nurettincoban/ai-prd-workflow
/plugin install prd-workflow@ai-prd-workflow
Codex, GitHub Copilot, Cursor, Gemini CLI, OpenCode or Devin — install the skills into your project:
curl -fsSL https://raw.githubusercontent.com/nurettincoban/ai-prd-workflow/main/install.sh | bash -s -- /path/to/your/project
Any chat assistant (ChatGPT, Claude.ai, …) — copy a prompt from the command table and paste it in.
[!IMPORTANT] Restart your AI tool after installing. A running session does not see new skills, so the first command fails with
Unknown skill— which looks like a broken install but is only a stale session.
Then run the commands in order:
/create-prd # interview → PRD.md (existing code? use /document-existing instead)
/verify-prd # gaps and contradictions → improved PRD.md + PRD-REVIEW.md
/extract-features # → FEATURES.md
/generate-rules # → RULES.md
/generate-rfcs # → RFCs/ + RFCS.md, in dependency order
/test-strategy # → TEST-STRATEGY.md, before any test is written
/implement-rfc 001 # plan → your approval → code → proof that it works
/review-rfc 001 # review in a fresh context → reviews/REVIEW-RFC-001.md
Run /workflow-status whenever you are unsure what comes next, and /manage-changes when requirements change. In Codex, type $create-prd instead of /create-prd. With the Claude Code plugin, commands carry the plugin's name: /prd-workflow:create-prd.
Try it on the example first. The repo's v2.0 example looks complete, and it is not:
git clone https://github.com/nurettincoban/ai-prd-workflow.git
cd ai-prd-workflow
./install.sh examples/url-shortener/before
Open examples/url-shortener/before in your AI tool, run /workflow-status, and compare its report with the problems we found by hand.
How it works
flowchart TB
subgraph define ["1 · Define what to build"]
direction LR
idea([💡 New idea]) --> create["/create-prd"] --> verify["/verify-prd"]
code([🗂️ Existing code]) --> document["/document-existing"] --> verify
end
subgraph plan ["2 · Plan how to build it"]
direction LR
features["/extract-features"] --> rules["/generate-rules"] --> rfcs["/generate-rfcs"] --> tests["/test-strategy"]
end
subgraph build ["3 · Build it, one RFC at a time"]
direction LR
implement["/implement-rfc"] --> review["/review-rfc"]
review -.->|next RFC| implement
end
subgraph anytime ["Anytime"]
direction LR
changes["/manage-changes"] ~~~ status["/workflow-status"]
end
define --> plan --> build
build ~~~ anytime
| Command | What it does | Writes | Prompt |
|---|---|---|---|
/create-prd | Interviews you about the idea, a few questions at a time | PRD.md | view |
/document-existing | Reads an existing codebase, then asks what the code cannot tell it | PRD.md, FEATURES.md, RULES.md | view |
/verify-prd | Finds gaps, contradictions, and claims that cannot be built as written | PRD.md, PRD-REVIEW.md | view |
/extract-features | Turns requirements into features with permanent IDs and MoSCoW priorities | FEATURES.md | view |
/generate-rules | Sets the standards the agent must follow, with dependency versions checked against the registry | RULES.md | view |
/generate-rfcs | Splits the work into small RFCs in dependency order, then checks each one for gaps with a fresh reader | RFCs/, RFCS.md | view |
/test-strategy | Plans the tests for each RFC before they are written | TEST-STRATEGY.md | view |
/implement-rfc <id> | Plans, waits for your approval, writes the code, then runs the build and tests to prove each criterion | code, RFC status | view |
/review-rfc <id> | Reviews the code against the RFC, the rules, and the test plan, in a fresh context | reviews/ | view |
/manage-changes | Checks a change against past decisions and rules, then updates every affected file together | changes/ | view |
/workflow-status | Reports what is done, what has drifted, and what to do next | — | view |
A few rules hold it together:
- **Plan, ap