PDLC
A Claude Code plugin that gives Claude a complete Product Development Life Cycle workflow.
31 standardized stages exposed as slash commands. Every artifact lands on disk, every stage updates a state machine, tests must exist before code. Soft conventions become hard contracts.
✨ Why PDLC
📝 Artifacts on disk
Every stage produces real files under docs/. No more "PRDs that only live in the chat transcript." You can git diff exactly what the AI did.
📊 State machine per feature
docs/.pdlc-state/<feature-id>.json records every stage transition. /pdlc-status always knows where each feature stands.
🚦 Tests before code
A hard TDD red-light gate. Implementation is blocked until failing tests exist. No more retroactive "let me also write some tests."
🔍 Self-check at every handoff
Each stage runs a self-audit before transitioning. Drift is caught at the stage boundary, not weeks later in review.
🛠️ One-shot auto-repair
Auto-fix loops run at most once. Stubborn failures are surfaced to humans rather than spiraling in "fix → check → fix" forever.
🧭 Explicit next_step
Every stage declares its successor. Multi-stage flows are command-driven, not memorized by you or the AI.
🎯 What it does for you
Ship a feature end-to-end
/pdlc-feature add phone-number verification to login — PDLC walks through PRD → Design → TDD → Implement → Review → Ship, persisting every artifact along the way.
Fix a bug with audit trail
/pdlc-fix the pagination crash on empty lists — locate, reproduce, fix, test, document. The defect file in docs/04_testing/defects/ outlives the chat session.
See where every feature stands
/pdlc-status reads every state machine file and shows you at a glance which features are in PRD, which are in TDD red light, which are ready to ship.
Adopt a legacy project
/pdlc-adopt surveys an existing codebase, fills in missing standards and design docs, and bootstraps the PDLC layout — without rewriting your code.
Run a retrospective with trends
/pdlc-retro compares the current iteration against past data captured in state machines — surfacing trends like "review pass rate dropped" or "TDD red-light skipped this sprint."
📦 The 31 commands, three layers
Layer 1 · Entry points (3)
/pdlc-feature · /pdlc-fix · /pdlc-status
One-sentence prompts drive the whole chain.
Layer 2 · Stages (11)
prd · design · tdd · implement · review · e2e · refactor · ship · deploy · retro · task
Fine-grained control over individual stages.
Layer 3 · Tools (17)
UI / DB / architecture / security / perf / code-gen / scaffolding / i18n / migration / changelog / bootstrap / adopt / onboard / etc.
Specialized stages you can invoke explicitly.
Distribution
Shipped as a standard Claude Code plugin. ~/.claude/plugins/pdlc/ after install.
MIT license · open source on GitHub.
⬇️ Install
One-liner (global)
Installs to ~/.claude/plugins/pdlc/. No clone needed.
curl -fsSL https://raw.githubusercontent.com/kanfu-panda/pdlc-skills/main/install.sh \
| bash -s -- --global
Project-scoped
Installs into a specific project's .claude/plugins/pdlc/.
curl -fsSL https://raw.githubusercontent.com/kanfu-panda/pdlc-skills/main/install.sh \
| bash -s -- --project /path/to/my-project
Equivalent native commands
If you’d rather use Claude Code’s plugin CLI directly:
claude plugin marketplace add kanfu-panda/pdlc-skills
claude plugin install pdlc@pdlc-skills
Verify the install
claude plugin list | grep pdlc
# expected: pdlc@pdlc-skills Version: 1.0.0 Status: ✔ enabled
After restarting your Claude Code session, type / and start typing pdlc- — autocomplete will show all 31 sub-commands.
🧪 Quick start (3 steps)
# 1. Install
curl -fsSL https://raw.githubusercontent.com/kanfu-panda/pdlc-skills/main/install.sh \
| bash -s -- --global
# 2. Ship a feature (in Claude Code)
/pdlc-feature add a captcha to login
# 3. Fix a bug
/pdlc-fix the pagination crash on empty lists
Check progress any time with /pdlc-status.
🛡️ The Iron Law
Every Layer 1 / Layer 2 stage that produces artifacts enforces five invariants. Read-only stages (such as /pdlc-status) are exempt.
- Persist to disk — every artifact is a real file, not just chat output
- Update the state machine — every completed stage writes
docs/.pdlc-state/<feature-id>.json - Tests first — code cannot be implemented until a failing test exists (TDD red light)
- Self-check — every stage runs a self-audit before handing off
- One-shot repair — auto-fix loops run at most once; stubborn failures get flagged for humans
📁 Target-project contract
When a stage runs, it reads and writes these paths in your project:
docs/00_standards/coding/ # coding standards (read-only)
docs/01_requirements/prd/ # PRDs
docs/02_design/{api,database,architecture,ui-ux}/ # technical design
docs/03_development/ # developer manuals
docs/04_testing/{unit-tests,e2e-tests,defects,...} # tests & defects
docs/05_deployment/ # deployment docs
docs/06_tasks/ # in-stage task tracking
docs/07_reviews/{doc,code,design,retro}/ # review records
docs/.pdlc-state/<feature-id>.json # per-feature state machine
📄 License
MIT. Use it, fork it, ship it. Source code, issue tracker, and full documentation: github.com/kanfu-panda/pdlc-skills.
❓ FAQ
Q: Does it work without Claude Code? No — PDLC is a Claude Code plugin that uses Claude Code’s plugin / slash-command infrastructure. Currently Claude Code is the only target.
Q: Will it modify my code without asking?
Stages that produce artifacts do write files (under docs/ and your code base when implementing). Each stage runs a self-check and surfaces a handoff before continuing to the next. Your normal Claude Code permission prompts still apply.
Q: How do I customize templates?
Clone the repo, edit references/templates/*.md or skills/pdlc-*/SKILL.md, then run bash install.sh --global from the clone to install your customized version. See CONTRIBUTING.md.
Q: Found a bug or want to discuss? Use GitHub Discussions for design/usage questions, Issues for confirmed bugs. For private security concerns, see the project’s SECURITY.md.