pdlc — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited pdlc (Plugin) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
English · [中文](./README.zh-CN.md)
Author: kanfu-panda Repo: github.com/kanfu-panda/pdlc-skills License: MIT
PDLC is a Claude Code plugin that gives Claude a complete Product Development Life Cycle workflow — 33 standardized stages exposed as slash commands /pdlc-feature, /pdlc-prd, /pdlc-tdd, /pdlc-implement, /pdlc-review, /pdlc-ship, etc.
Each stage enforces hard contracts (artifacts persisted to docs/, per-feature state machine, tests-before-code, mandatory self-check, single-shot auto-repair) so AI-driven engineering produces real, auditable files instead of chat-only output.
Currently Claude Code only. The plugin lives at ~/.claude/plugins/pdlc/ after install.
Without this plugin, an AI assistant working on a feature typically:
PDLC turns those soft conventions into hard contracts:
| Hard contract | What it gives you |
|---|---|
Every artifact lands on disk under docs/ | You can git diff what the AI did |
| Every stage updates a per-feature state machine | /pdlc-status always knows where you are |
| Tests must exist (and fail) before implementation | Real TDD red-light gate, not a suggestion |
| Each stage runs a self-check before handing off | Catch drift at stage boundary, not in review |
| Auto-repair runs at most once | No infinite "fix → check → fix" loops |
Each stage declares its next_step | Multi-stage flows are command-driven, not memorized |
A typical end-to-end flow looks like this:
$ # In Claude Code:
$ /pdlc-feature add phone-number verification to user login
→ Allocating feature ID F20260502-01 (user-auth-phone)
→ Stage 1: writing PRD
✓ docs/01_requirements/prd/F20260502-01-user-auth-phone-prd.md
✓ self-check 8/8 passed
→ Stage 2: technical design
✓ docs/02_design/api/F20260502-01-user-auth-phone-api.md
✓ docs/02_design/database/F20260502-01-user-auth-phone-db.md
→ Stage 3: TDD red light
✓ 14 tests written, all failing as expected
→ Stage 4: implementation
✓ 14/14 tests now passing
→ Stage 5: code review + auto-repair
✓ 3 lint issues auto-fixed
✓ docs/07_reviews/code/F20260502-01-user-auth-phone-review.md
→ Stage 6: handoff
📦 docs/.pdlc-state/F20260502-01.json updated
👉 Next: /pdlc-shipEvery artifact above is a real file you can git diff. Run /pdlc-status any time to see where each feature stands. (Output above is illustrative — actual Claude Code output is markdown, not ASCII.)
One-liner — no clone needed. Pulls the latest published release from GitHub.
# Global (~/.claude/plugins/pdlc/)
curl -fsSL https://raw.githubusercontent.com/kanfu-panda/pdlc-skills/main/install.sh \
| bash -s -- --global
# Project-scoped (<project>/.claude/plugins/pdlc/)
curl -fsSL https://raw.githubusercontent.com/kanfu-panda/pdlc-skills/main/install.sh \
| bash -s -- --project /path/to/my-projectThat's it. The installer downloads the matching release tarball, extracts it, and copies only the plugin files to your .claude/plugins/pdlc/ directory.
curl -fsSL https://raw.githubusercontent.com/kanfu-panda/pdlc-skills/main/install.sh \
| bash -s -- --upgrade --globalcurl -fsSL https://raw.githubusercontent.com/kanfu-panda/pdlc-skills/main/install.sh \
| bash -s -- --uninstall --globalcurl -fsSL https://raw.githubusercontent.com/kanfu-panda/pdlc-skills/main/install.sh \
| bash -s -- --versionIf you'd rather call Claude Code's plugin CLI directly:
claude plugin marketplace add kanfu-panda/pdlc-skills
claude plugin install pdlc@pdlc-skillsgit clone https://github.com/kanfu-panda/pdlc-skills.git
cd pdlc-skills
# edit references/templates/*.md or skills/pdlc-*/SKILL.md
bash install.sh --global # installs from your local cloneclaude plugin list | grep pdlc
# expected: pdlc@pdlc-skills Version: 1.1.0 Status: ✔ enabledIn Claude Code (after restarting the session), type / and start typing pdlc- — you should see all 33 sub-commands (/pdlc-feature, /pdlc-prd, /pdlc-tdd, ...) in autocomplete.
One-sentence prompts drive the whole chain.
| Slash command | Purpose |
|---|---|
/pdlc-feature | End-to-end new feature (PRD → Design → TDD → Implement → Review → Ship) |
/pdlc-fix | End-to-end bug fix (locate → reproduce → fix → test → document) |
/pdlc-status | Show the project's PDLC state at a glance |
Use when you want fine-grained control over one stage.
| Slash command | Purpose |
|---|---|
/pdlc-prd | Author a PRD |
/pdlc-design | Technical design |
/pdlc-tdd | Write failing tests first |
/pdlc-implement | Implement code against the design |
/pdlc-review | Code + doc review |
/pdlc-e2e | End-to-end tests |
/pdlc-refactor | Refactor code |
/pdlc-ship | Release workflow (tests → VERSION → CHANGELOG → tag → CI) |
/pdlc-deploy | Deployment doc |
/pdlc-retro | Iteration retrospective with trend comparison |
/pdlc-task | In-stage task tracking |
Specialized stages you can invoke explicitly.
/pdlc-ui-design · /pdlc-ui-design-pro · /pdlc-db-design · /pdlc-arch/pdlc-lint · /pdlc-perf · /pdlc-security/pdlc-code-gen · /pdlc-add-service · /pdlc-add-app · /pdlc-api-mock · /pdlc-db-migrate · /pdlc-i18n · /pdlc-changelog/pdlc-standard · /pdlc-relate/pdlc-bootstrap · /pdlc-adopt · /pdlc-onboard curl -fsSL https://raw.githubusercontent.com/kanfu-panda/pdlc-skills/main/install.sh | bash -s -- --global/pdlc-feature add a captcha to login/pdlc-fix the pagination crash on empty listsCheck progress anytime: /pdlc-status.
When a stage runs, it reads and writes these paths in your project:
docs/ARCHITECTURE.md # surface · whole-system overview (pdlc-arch, in-place)
docs/GLOSSARY.md # surface · project vocabulary
docs/00_standards/ # surface · team conventions (pdlc-standard; read by prd / implement / tdd / code-gen / onboard)
docs/01_requirements/prd/ # PRDs
docs/02_design/{api,database,architecture,ui-ux}/ # technical design
docs/03_development/ # developer manuals (onboard writes here)
docs/04_testing/{unit-tests,e2e-tests,defects,security,perf}/ # 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 # state machine + relations (one per feature, e.g. F20260419-01.json)
docs/.pdlc-state/_relations.json # auto · reverse index of feature relations (pdlc-relate)
docs/.pdlc-state/_graph.md # auto · mermaid relation graphreferences/templates/ ships 11 standard document templates that Claude fills in per feature:
prd-template.md — Product Requirements Documentapi-design-template.md — API designarch-design-template.md — Architecture design (per-feature, ledger)architecture-overview-template.md — Whole-system architecture overview (surface)db-design-template.md — Database schema designdb-migrate-template.md — DB migration scripttest-plan-template.md — Test plandeploy-doc-template.md — Deployment manualchangelog-template.md — Changelog entryglossary-template.md — Project glossary (surface)adopt-report-template.md — Legacy-project adoption reportEvery Layer 1 / Layer 2 stage that produces artifacts enforces five invariants. Read-only stages (such as /pdlc-status) are exempt.
docs/.pdlc-state/<feature-id>.jsonFor usage questions, design discussions, or "is this a bug or am I holding it wrong" — please use GitHub Discussions rather than opening an Issue.
For confirmed bugs and feature requests, open an Issue with the bundled templates.
For private security concerns, see SECURITY.md.
Run the tests locally:
bash tests/frontmatter-check.sh # validate every sub-skill's frontmatter
bash tests/install-smoke.sh # end-to-end install + layout checksSee CONTRIBUTING.md for PR workflow and coding conventions.
User manual: docs/usage-guide.md · Release notes: CHANGELOG.md.
PDLC is built and maintained in spare time. If it saves you hours (or sanity), consider supporting its development.
Donation channels:
Tiers (Afdian — choose monthly or one-time at the same amount):
| Tier | Afdian | PayPal equivalent | What you get |
|---|---|---|---|
| ☕ Tip | ¥10 one-time | $1+ one-time | Thank-you. Not listed. |
| 🌱 Backer | ¥30/month | $5+ one-time | Your name on SPONSORS.md |
| 🌳 Sponsor | ¥66/month | $20+ one-time | Name + avatar + link on SPONSORS.md |
| 🏢 Enterprise | ¥888/month | $100+/month | Logo + link at the top of README.md |
If you donate via PayPal, please drop your GitHub handle in a SPONSORS issue so we can add you to the list. The list is updated monthly — see SPONSORS.md.
MIT — use it, fork it, ship it.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.