复制安装命令
用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。
复制前请先查看来源、License 和安全提示。
A Claude Code plugin that verifies AI-generated code against its own design specs.
用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。
复制前请先查看来源、License 和安全提示。
来源文件:README.md
A Claude Code plugin that verifies AI-generated code against its own design specs.
Three commands. Anyone — even someone vibe-coding for the first time — can ship robust, production-quality software. bkit turns Claude Code into a Context Engineering system: 44 skills, 34 specialist agents, 11 quality gates, and a memory that survives across sessions deliver the right context to the AI at the right moment, so you don't have to know prompts, commands, or PDCA to get high-quality results.
Requirement: bkit requires Claude Code v2.1.143 or later (the strict plugin-manifest path recognizes the official
displayNamefield only from v2.1.143). On older Claude Code you will seeValidation errors: Unrecognized key: "displayName"duringclaude plugin install. Runnpm install -g @anthropic-ai/claude-code@latestto upgrade, or seedocs/06-guide/cc-compatibility.guide.md.
| You are… | bkit gives you |
|---|---|
| 🌱 First-time vibe coder — you describe what you want and AI codes for you, but you don't yet know how to tell if the result is correct | A safety net. AI proposes, bkit measures the result against its own design spec, and auto-repairs the gap when it drifts. You can ship without becoming a senior engineer first. |
| 👤 Solo developer / indie builder | A team-in-a-box. /pdca team spawns 4–6 specialist agents in parallel — frontend, backend, QA, security — orchestrated by an AI tech lead. |
| 👥 Team lead planning a release | Sprint Management. /sprint master-plan splits your release into context-budgeted sprints so a single Claude Code session can finish each one without running out of memory, and resumes after any session interruption. |
| 🌐 Non-English speaker | 8-language auto-detection. Type "로그인 기능 만들어줘" or "作成新功能" and bkit picks the right command for you. |
The promise: anyone — including non-developers — can build robust, production-quality software by using bkit. bkit replaces the senior engineer's intuition with a workflow.
| Without bkit | With bkit |
|---|---|
| AI gives you plausible code; you have no way to know if it really matches what you asked for | gap-detector measures match rate between your design spec and the generated code. Below 90 % → bkit auto-repairs (up to 5 cycles). |
| You only spot drift at PR review — by then the cleanup is expensive | 11 Quality Gates halt the workflow before drift compounds (match rate, critical issues, convention, test coverage, security, dataFlow integrity, …) |
| Long projects exceed Claude Code's session window and you lose context | bkit splits the project into context-budgeted Sprints (≤ 75 K tokens each); memory + Task Management lets any session resume where the last one stopped |
| You don't know which command, agent, or skill to use | 8-language auto-trigger + intent-router pick the right skill / agent automatically. You just describe what you want. |
| AI ships code, you ship hope; nobody documents what changed | Docs = Code philosophy: every feature produces a PRD + plan + design + analysis + completion report. The history is the audit trail. |
This is the canonical workflow when you use bkit. You describe a release; bkit handles the rest.
flowchart TB
You(["You: describe the release"])
You --> S1["Step 1<br/>/sprint master-plan my-release<br/>--features auth, billing, reports"]
S1 --> Auto1["bkit auto-action<br/>• sprint-master-planner agent investigates code + web in depth<br/>• Splits features into context-budgeted Sprints (≤ 75K tokens each)<br/>• Writes the master plan with Context Anchor"]
Auto1 --> S2["Step 2<br/>You approve the plan"]
S2 --> Auto2["bkit auto-action<br/>• Every sprint registered in Task Management<br/>• Memory saved — survives session clear"]
Auto2 --> S3["Step 3<br/>/sprint start sprint-1"]
S3 --> Auto3["bkit auto-action — full PDCA per feature:<br/>PRD/Plan → Design → Do → Iterate (target 100%, gated) →<br/>QA (gated) → Report. /pdca pm, /pdca team, /pdca qa as needed."]
Auto3 --> Gate{"All quality<br/>gates pass?"}
Gate -- "no, auto-fix" --> Repair["pdca-iterator self-repair<br/>(max 5 cycles)"]
Repair --> Gate
Gate -- "yes" --> Done(["Release-ready code + docs"])
Ctrl["Step 4<br/>/control level 0..4"] -.->|"set how much<br/>runs unattended"| Auto1
Ctrl -.->|"applies"| Auto3
style You fill:#e3f2fd
style S1 fill:#fff3e0
style S2 fill:#fff8e1
style S3 fill:#fff3e0
style Auto3 fill:#fce4ec
style Repair fill:#ffe0b2
style Done fill:#c8e6c9
style Ctrl fill:#f3e5f5
You type: /sprint master-plan my-release --features auth, billing, reports.
bkit's sprint-master-planner agent investigates carefully — not quickly. Depending on what you're building, it reads your existing code base in depth or researches the web, then writes a master plan. Critically, it splits your features into context-budgeted Sprints: each sprint is sized so a single Claude Code session can finish it without overflowing the context window (the default is ≤ 75 K tokens per sprint, dependency-aware via Kahn topological sort + greedy bin-packing).
You can also call specialist agents directly when you want more depth: /pdca pm runs 4 product-management agents in parallel with 43 frameworks; /pdca team spawns a multi-specialist implementation team; /pdca qa runs a 5-agent QA team.
You read the master plan. When you approve, bkit registers every sprint in its Task Management System with the right dependency order (Kahn-topologically sorted). It also writes to memory.
This means: if your laptop crashes, your session clears, or you start a new Claude Code session next week — bkit picks up exactly where you stopped. The plan and progress are durable.
You type: /sprint start sprint-1.
bkit runs the 8-phase Sprint lifecycle (prd → plan → design → do → iterate → qa → report → archived). Inside the do phase, bkit runs the full PDCA loop once per feature:
| Phase | What runs | Output |
|---|---|---|
| PRD / Plan | pm-lead orchestrates 4 PM agents (discovery, strategy, research, prd) with 43 frameworks | Comprehensive PRD + plan with Context Anchor |
| Design | cto-lead proposes 3 architecture options; you pick one (the only required user input) | Detailed design doc |
| Do | /pdca team spawns 4–6 specialist agents in parallel (developer, qa, frontend, backend, security, architect) | Working code |
| Iterate | Target 100 % match between design and code. gap-detector measures; pdca-iterator self-repairs until quality gate M1 (matchRate ≥ 90 %) passes. Max 5 cycles. | Repaired code + iteration report |
| QA | qa-lead runs 4 QA agents through L1–L5 tests + dataFlow integrity (S1 gate, 7-layer hop check) | QA report |
| Report | report-generator writes the completion report | Final report with KPI + lessons learned |
Every phase is gated by quality thresholds. If anything fails — match rate too low, critical issue found, dataFlow broken — bkit pauses and tells you why. You don't have to remember to verify; verification is automatic.
/control level N is the single autonomy knob. It decides how far the orchestrator runs before stopping. The same dial controls both Sprint and PDCA — no second knob to manage.
| Level | What it means |
|---|---|
| L0 Manual | Ask me at every phase. Best for your first sprint — inspect each output. |
| L2 Semi-Auto (default) | Plan/Design/Do auto; ask me on QA and Report. |
| L4 Full-Auto | Wake me when the sprint is done. Pauses only on a quality gate failure or one of 4 auto-pause triggers. |
L1 (Guided) and L3 (Auto) sit between. bkit also computes a Trust Score (0–100) from your track record and can recommend a level — but you stay in charge.
The 4-step experience above is the canonical flow. Here's the concrete recipe the person who built bkit uses every day — two steps — so you can copy it without needing to understand the full machinery underneath.
The master plan is the single most important artifact in a sprint. Garbage in, garbage out. So don't write it alone, and don't let bkit write it cold either.
/sprint master-plan my-release --features .... By the time you do, your context is already saturated; the master plan reflects what you really meant, not a generic template.This is what Context Engineering looks like in practice: you don't tune the perfect prompt — you saturate the context first, then let bkit synthesise.
Once you approve the master plan, the keyboard goes quiet until the final report lands. The bkit author picks one of two patterns based on release size:
| Release size | What you type | What happens |
|---|---|---|
| Small–medium — a few related features, single context budget | /control level 4, then /sprint start <project> once | bkit runs every sprint and every PDCA phase straight through to archived. You read the final report. |
| Large — many sprints, large total token budget, or cross-sprint dependencies | /control level 4, then /sprint start <sprint-id> per sprint in dependency order | Each sprint runs full-auto. You skim the sprint report before launching the next sprint — a natural checkpoint between context windows. |
Trust Level 4 is not "no safety". The 11 quality gates and 4 auto-pause triggers still fire. bkit halts and asks for you only when a measurable rule fails. The dial removes the unnecessary pauses, not the necessary ones.
The outcome, repeatable: AI plans, designs, codes, self-verifies, self-repairs, tests, and writes the completion report. You provide intent — and the final ship/no-ship decision. Nothing else.
| Command | When to use | What it spawns | Output |
|---|---|---|---|
/sprint | Multi-feature release (quarter, milestone, multiple linked features) | sprint-master-planner, sprint-orchestrator, sprint-qa-flow, sprint-report-writer | Master plan + 8-phase per sprint + cumulative report |
/pdca | A single feature (or runs inside a sprint per feature) | pm-lead, cto-lead, gap-detector, pdca-iterator, qa-lead, report-generator (any of 34 agents) | PRD + plan + design + code + analysis + report |
/control | Anytime — set autonomy | — | Updates Trust Level scope; affects both /sprint and /pdca |
bkit is more than commands. It is a Context Engineering system that solves the root cause of AI-coding failures: the AI doesn't have the right context.
| The AI coding problem | bkit's Context Engineering answer |
|---|---|
| AI hallucinates because it doesn't know your conventions | 44 skills (PDCA, Sprint, PM frameworks, …) auto-injected based on intent |
| AI loses focus as the session grows | Memory + Task Management resumes across sessions; Sprints are context-budgeted |
| AI ships code that drifts from the spec | 11 Quality Gates + gap-detector measurement + pdca-iterator auto-repair |
| You only catch bugs at PR review | Phase-by-phase gating: drift is caught at every transition, not at the end |
| You need to remember the right command | 8-language auto-trigger + intent-router; type "login 만들어줘" or "build login" and bkit picks the path |
| AI sessions are ephemeral; no audit trail | Audit log + Token Ledger + Docs = Code philosophy: every decision is on disk |
bkit-system/philosophy/core-mission.md)| Principle | What it means for you |
|---|---|
| Automation First | You don't need to know PDCA, Sprint, or any command. Type what you want; bkit picks the right workflow. The state machine + workflow engine drive the rest. |
| No Guessing | If bkit isn't sure, it checks the docs. If still unsure, it asks you. It never makes up an answer. gap-detector, design-validator, and 11 quality gates enforce this. |
| Docs = Code | Every feature produces docs (PRD + plan + design + analysis + report). The docs are the contract; bkit verifies that the code matches. scripts/docs-code-sync.js enforces 0 drift in CI. |
# 1. Install (one time)
claude plugin install bkit
# 2. Enable parallel team execution (optional, recommended)
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
# 3. Your very first run — single feature
/pdca pm my-feature # Describes what you want; bkit handles the rest
# 4. When you're ready for a multi-feature release
/sprint master-plan my-release --name "Q2 Launch" --features auth, billing, reports
# (You approve the plan)
/sprint start my-release-s1
Recommended Claude Code runtime: v2.1.220 (bkit explicitly handles v2.1.218's context: fork background-by-default change and v2.1.219's nested-subagent depth-3 default; Claude 5 alias resolution — sonnet → Sonnet 5 needs ≥ v2.1.197). Model floor: v2.1.170+ required by the 6 Fable-pinned agents (below it they fail to spawn; bkit shows a SessionStart advisory with a workaround). Install minimum v2.1.143; runtime minimum v2.1.78.
On Claude Code v2.1.232 and later, fork mode is on by default in interactive
sessions: a subagent's result arrives as a notification on a later turn, and the
Agent tool no longer accepts run_in_background. bkit's skills are unaffected.
Sprint gates that measure through a subagent will report "not measured" rather
than a score, and name the cause — a missing number, never a wrong one. Set
CLAUDE_CODE_FORK_SUBAGENT=0 to get in-turn results back. bkit shows this once at
SessionStart and does not block. Verified against v2.1.232; Breaking changes 0
across v2.1.228–v2.1.232 (171 consecutive compatible releases).
A "quality gate" is a hard stop that won't let the workflow advance until a measurable condition is true. bkit ships 11 of them. The ones that matter most for new users:
| Gate | What it measures | If it fails |
|---|---|---|
| M1 matchRate | How much of your design actually appears in the code, 0–100 % | Below 90 % → pdca-iterator automatically rewrites the code (up to 5 cycles) |
| M3 critical issues | Security or correctness bugs flagged by code-analyzer | Any critical → workflow pauses, you decide |
| S1 dataFlow integrity | 7-layer check: UI → Client → API → Validation → DB → Response → Client → UI | Below 85 % → 7 hops re-verified one by one |
| qa gate | QA pass rate ≥ 95 %, zero critical findings, zero runtime errors — from what qa-lead actually measured | Below 95 % → back to act for fixes, then QA re-runs (v2.1.38: the return path and its retry ceiling both work) |
Full M1–M10 + S1 catalog in README-FULL.md §5.
44 skills · 34 agents · 21 hook events / 24 blocks across 28 handlers · 2 MCP servers (19 tools) · 200 lib modules across 22 subdirs · 63 scripts · 40 templates · 385 test files (5,355 test cases). Clean Architecture 4-Layer · Defense-in-Depth 4-Layer · Invocation Contract L1–L6, where L6 is host integration: a real claude -p --plugin-dir run whose recorded evidence CI checks against the shipped hooks.json.
Agents run on a 4-tier role-based model matrix: fable (long-horizon orchestration — leads), opus (deep reasoning, security & high-frequency PDCA verifiers), sonnet (implementers), haiku (monitors). The repeated Check/iterate verifiers (gap-detector, design-validator, pdca-iterator) run on Opus 4.8 — strong verification at half Fable's cost.
Full architecture deep-dive: README-FULL.md §9.
| Path | What's there |
|---|---|
| README-FULL.md | Full command reference, deep workflow internals, agent teams, architecture, Skill Evals |
| CHANGELOG.md | Release history (single source of truth — latest release: v2.1.38) |
| CUSTOMIZATION-GUIDE.md | Override any bkit component in your .claude/ directory |
| AI-NATIVE-DEVELOPMENT.md | The 6 AI-Native principles and how bkit implements them |
bkit-system/philosophy/ | Core mission, Context Engineering, PDCA methodology, AI-Native principles |
docs/06-guide/sprint-management.guide.md | Sprint Management deep-dive (English) |
docs/06-guide/sprint-migration.guide.md | PDCA ↔ Sprint migration mapping (English) |
bkit's quality is measured by how well it responds to real users running
bkit in production on their own projects. This section recognizes
external dogfooders whose precise bug reports + reproduction scripts
have been absorbed directly into bkit's regression test suite
(test/e2e/external-dogfood/).
dandi-village-ledger
project. 10 GitHub issues over 1.5 days (#92–#107) driving bkit v2.1.17,
v2.1.18 closes + the entire v2.1.19 Quality Maturation Sprint. 5 reproduction
scenarios absorbed as E2E tests at test/e2e/external-dogfood/dandi-*.test.js.
See docs/external-dogfooders/pruge.md
for the full contribution archive. Thank you for trusting bkit with
your production sprint. 🙏Validation errors: : Unrecognized key: "displayName"). Precise error message + cache path + Cursor IDE
environment metadata sharing drove the entire v2.1.20 Marketplace
Recovery Sprint (14 features / 3 sub-sprints / 3 new ENH 321/322/323 /
1 new ADR 0011 Plugin Manifest Schema Compliance Policy). Reproduction
absorbed at test/e2e/external-dogfood/cc-min-version.test.js (5 TC,
Lifecycle Stage 4 Regression Lock achieved). Triggered ADR 0006 §
Empirical Validation Gate recovery (~30-day wire delay closed). See
docs/external-dogfooders/bj.md for the
full contribution archive. Thank you for sharing the precise error
message that scoped the entire sprint correctly. 🙏@Sinclair-Seo
— issue #148. Three Destructive Detector rules were refusing commands that are
read-only or narrowly scoped. The report came with a 12-case reproduction
harness that included negative controls, and the note that makes them
matter: a "0 false positives" reading proves nothing unless genuinely
destructive commands are still caught in the same run — a point they made after
first measuring a bogus green from a one-argument detect() call.
It also named the real cost. A PreToolUse block asks a question, and an unattended run has nobody to answer it, so the agent stalls silently instead of failing — ~15 minutes of dead time, twice in one sprint, caught only because an idle-stall monitor was attached.
Auditing all 16 rules on the strength of that report measured the defect class
at roughly 3× what was filed, and found the same root cause producing false
negatives: chmod 777 / ; ls was detected by nothing at all. The harness is
absorbed at
test/e2e/external-dogfood/sinclair-seo-148-guardrail-precision.test.js
(Lifecycle Stage 4 Regression Lock). Thank you for the negative controls —
they caught a regression we introduced while fixing this. 🙏
Running bkit on a non-trivial production project and willing to file detailed bug reports with reproductions makes you part of bkit's quality system, not just a bug reporter.
Established v2.1.19 (master plan §15.4 DA-1~DA-4, ENH-318 차별화 7/7).
Benefits:
externalDogfoodFeedbackResponseRate component, weight 0.05)How to join: file your first detailed issue at
bkit-claude-code/issues
with bkit version, reproduction steps, expected vs actual behavior,
and file:line references. See
docs/external-dogfooders/_README.md
for the full 5-stage User-Feedback Lifecycle and program structure.
DA-4 acquisition goal: by v2.1.20 (30 days post-v2.1.19 GA), measure dogfooder population. DA-4 status (v2.1.20): N=2 confirmed (@pruge + @bj) — first-follower effect validated. v2.1.21+ continues active outreach (CC marketplace narrative, community engagement) to grow N≥3.
Apache 2.0 — see LICENSE and NOTICE. POPUP STUDIO PTE. LTD. · kay@popupstudio.ai
name: pdca
classification: workflow
classification-reason: PDCA process automation independent of model capability evolution
deprecation-risk: none
effort: medium
description: |
Unified PDCA cycle management — plan, design, do, analyze, iterate, report. PDCA runs per-feature (9-phase: pm→plan→design→do→check→act→qa→report→archive); for multi-feature scope/budget grouping use /sprint (v2.1.13, 8-phase container that may host PDCA cycles inside).
Triggers: pdca, plan, design, analyze, report, status, next, iterate
argument-hint: "[action] [feature]"
user-invocable: true
agents:
analyze: bkit:gap-detector
iterate: bkit:pdca-iterator
report: bkit:report-generator
qa: bkit:qa-lead
team: null
pm: null
default: null
allowed-tools:
- Read
- Write
- Edit
- Glob
- Grep
- Bash
- Task
- TaskCreate
- TaskUpdate
- TaskList
- AskUserQuestion
imports:
- ${PLUGIN_ROOT}/templates/plan.template.md
- ${PLUGIN_ROOT}/templates/design.template.md
- ${PLUGIN_ROOT}/templates/do.template.md
- ${PLUGIN_ROOT}/templates/analysis.template.md
- ${PLUGIN_ROOT}/templates/qa-report.template.md
- ${PLUGIN_ROOT}/templates/qa-test-plan.template.md
- ${PLUGIN_ROOT}/templates/report.template.md
- ${PLUGIN_ROOT}/templates/iteration-report.template.md
next-skill: null
pdca-phase: null
task-template: "[PDCA] {feature}"Unified Skill for managing PDCA cycle. Supports the entire Plan → Design → Do → Check → Act flow.
| Argument | Description | Example |
|---|---|---|
pm [feature] | Run PM Agent Team analysis (pre-Plan) | /pdca pm user-auth |
plan [feature] | Create Plan document | /pdca plan user-auth |
design [feature] | Create Design document | /pdca design user-auth |
do [feature] | Do phase guide (start implementation) | /pdca do user-auth |
analyze [feature] | Run Gap analysis (Check phase) | /pdca analyze user-auth |
iterate [feature] | Auto improvement iteration (Act phase) | /pdca iterate user-auth |
qa [feature] | Run QA phase (L1-L5 tests) | /pdca qa user-auth |
report [feature] | Generate completion report | /pdca report user-auth |
archive [feature] | Archive completed PDCA documents | /pdca archive user-auth |
cleanup [feature] | Cleanup archived features from status | /pdca cleanup |
team [feature] | Start PDCA Team Mode (requires Agent Teams) | /pdca team user-auth |
team status | Show Team status | /pdca team status |
team cleanup | Cleanup Team resources | /pdca team cleanup |
status | Show current PDCA status | /pdca status |
next | Guide to next phase | /pdca next |
Run PM Agent Team for product discovery and strategy analysis before Plan phase.
docs/00-pm/{feature}.prd.md[PM] {feature}.bkit/state/pdca-status.json: phase = "pm"/pdca plan {feature}Output Path: docs/00-pm/{feature}.prd.md
Requirements:
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1templates/plan.template.md to understand the required Plan document structure and sections. Use this template's sections as your document outline. This is MANDATORY — do not generate Plan documents from memory or assumptions.docs/00-pm/{feature}.prd.md exists
/pdca pm {feature} first for better results)docs/01-plan/features/{feature}.plan.md existsplan.template.md[PM] {feature} Task exists and is still in_progress, use TaskList to find it and TaskUpdate it to status: "completed" before creating the Plan Task (see Phase Transition Rule). Then Create Task: [Plan] {feature}.bkit/state/pdca-status.json: phase = "plan"## Executive Summary at document top with 4-perspective table (Problem/Solution/Function UX Effect/Core Value), each 1-2 sentences## Context Anchor table between Executive Summary and Section 1. This anchor propagates to Design/Do documents for cross-session context continuity.Output Path: docs/01-plan/features/{feature}.plan.md
Tip: For features with ambiguous requirements or multiple implementation approaches, use
/plan-plus {feature}instead. Plan Plus adds brainstorming phases (intent discovery, alternatives exploration, YAGNI review) before document generation for higher-quality plans.
templates/design.template.md to understand the required Design document structure. Use this template's sections as your document outline. This is MANDATORY — do not generate Design documents from memory or assumptions.docs/00-pm/{feature}.prd.md exists. If found, read the Executive Summary and Beachhead/GTM sections to inform architecture decisions with market context. This prevents strategic context loss at the Plan→Design handoff.## Context Anchor table to Design document top (between header metadata and ## 1. Overview). If Plan has no Context Anchor (legacy), skip this step gracefully.docs/02-design/features/{feature}.design.md using selected architecturedesign.template.md structure + reference Plan content## 11. Implementation Guide structure to generate Module Map and Recommended Session Plan. Add as ### 11.3 Session Guide within Implementation Guide section. This enables /pdca do {feature} --scope module-N for multi-session incremental implementation./design-anchor capture {feature} 로 디자인 토큰을 잠그세요"docs/02-design/styles/{feature}.design-anchor.md), embed it in the Design document as ## Design Anchor section[Plan] {feature} Task (and any earlier phase Task for this feature still in_progress) and TaskUpdate each to status: "completed" — this resolves the blockedBy chain and prevents stale phase status from leaking into prompt context (see Phase Transition Rule). Then Create Task: [Design] {feature} (blockedBy: Plan task).bkit/state/pdca-status.json: phase = "design"Output Path: docs/02-design/features/{feature}.design.md
docs/00-pm/{feature}.prd.md) — extract WHY context (JTBD, value proposition, market positioning)docs/01-plan/features/{feature}.plan.md) — extract Context Anchor, Success Criteria, Requirements📋 Decision Record Chain
[PRD] Target: {market/user segment} — {rationale}
[Plan] Architecture: {selected option} — {rationale}
[Design] State Mgmt: {selected approach} — {rationale}
--scope <value>, extract module list (comma-separated scope keys). Match against Design's Session Guide Module Map. Filter implementation items to show only matching modules.do.template.md// Design Ref: §{section} — {decision rationale}// Plan SC: {success criteria being addressed}[Design] {feature} Task (and any earlier phase Task for this feature still in_progress) and TaskUpdate each to status: "completed" — this resolves the blockedBy chain and prevents stale phase status from leaking into prompt context (see Phase Transition Rule). Then Create Task: [Do] {feature} (blockedBy: Design task).bkit/state/pdca-status.json: phase = "do"--scope Parameter:
/pdca do feature # Full scope (backward compatible) + session guide
/pdca do feature --scope module-1 # Only module-1
/pdca do feature --scope module-1,module-2 # Multiple modules
Guide Provided:
Verify Do completion status (implementation code exists)
Full Upstream Context Loading (Phase 2+3): Load the COMPLETE upstream document chain for comprehensive evaluation:
docs/00-pm/{feature}.prd.md) — verify strategic alignment (was the right problem solved?)docs/01-plan/features/{feature}.plan.md) — verify Requirements fulfillment + Success Criteriadocs/02-design/features/{feature}.design.md) — verify structural implementation matchContext Anchor Embed: Copy Context Anchor from Design to Analysis document header.
Strategic Alignment Check (Phase 3): Before structural gap analysis, verify:
Plan Success Criteria Reference: Evaluate each Success Criteria from Plan:
Call gap-detector Agent (v2.3.0: Static Analysis + Runtime Verification Plan)
Compare Design document vs implementation code on 3 static axes:
Runtime Verification (v2.3.0): After gap-detector completes, execute runtime tests.
tests/e2e/{feature}.spec.ts (written during Do phase)L1 — API Endpoint Tests (always run if server is available):
curl -s -o /dev/null -w "%{http_code}" http://localhost:3000/L2 — UI Action Tests (run if Playwright is installed):
tests/e2e/{feature}-actions.spec.tsnpx playwright test tests/e2e/{feature}-actions.spec.tspnpm add -D @playwright/testL3 — E2E Scenario Tests (run if Playwright is installed):
tests/e2e/{feature}-e2e.spec.tsnpx playwright test tests/e2e/{feature}-e2e.spec.tsMatch Rate Formula (v2.3.0):
If runtime executed:
Overall = (Structural × 0.15) + (Functional × 0.25)
+ (Contract × 0.25) + (Runtime × 0.35)
If static only (no server):
Overall = (Structural × 0.2) + (Functional × 0.4) + (Contract × 0.4)
Calculate Match Rate and generate Gap list. Report all rates separately.
Decision Record Verification (Phase 3): Check if key decisions from Decision Record Chain were followed in implementation. Flag deviations.
Checkpoint 5 — Review Decision: Present issues by severity (Critical/Important only, confidence ≥80%). Use AskUserQuestion with options:
Complete predecessor Task first: Use TaskList to find the [Do] {feature} Task (and any earlier phase Task for this feature still in_progress) and TaskUpdate each to status: "completed" — this resolves the blockedBy chain and prevents stale phase status from leaking into prompt context (see Phase Transition Rule). Then Create Task: [Check] {feature} (blockedBy: Do task)
Update .bkit/state/pdca-status.json: phase = "check", matchRate
Output Path: docs/03-analysis/{feature}.analysis.md
/qa-phase {feature} skill,
which owns L1-L5 test planning, generation, execution, and reporting.qa-test-planner to refine L1-L5 test specsqa-test-generator to emit runnable test filesQA_PASS → auto-advance to report phaseQA_FAIL → fall back to iterate phaseQA_SKIP → mark qa as skipped, proceed to report[Check] {feature} Task and the latest [Act-N] {feature} Task (and any earlier phase Task for this feature still in_progress) and TaskUpdate each to status: "completed" (see Phase Transition Rule). Then Create Task: [QA] {feature}.bkit/state/pdca-status.json: phase = "qa", qaStatus = <PASS|FAIL|SKIP>Output Path: docs/05-qa/{feature}.qa-report.md
Agent: bkit:qa-lead (mapped via frontmatter agents.qa)
[Check] {feature} Task and any prior [Act-*] {feature} Task for this feature still in_progress and TaskUpdate each to status: "completed" (see Phase Transition Rule). Then Create Task: [Act-N] {feature} (N = iteration count)Iteration Rules:
templates/report.template.md to understand the required Report document structure. Use this template's sections as your document outline. This is MANDATORY — do not generate Report documents from memory or assumptions.## Executive Summary with ### 1.3 Value Delivered reflecting actual results (4 perspectives with metrics)[QA] {feature} Task (or the [Check] {feature} / latest [Act-N] {feature} Task if QA was skipped) and any earlier phase Task for this feature still in_progress, and TaskUpdate each to status: "completed" (see Phase Transition Rule). Then Create Task: [Report] {feature}.bkit/state/pdca-status.json: phase = "completed"Output Path: docs/04-report/{feature}.report.md
Start PDCA Team Mode using Claude Code Agent Teams (requires CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1).
isTeamModeAvailable() from lib/team/coordinator.jsCLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 to enable."detectLevel() - Starter projects cannot use Team ModegenerateTeamStrategy(level):
assignNextTeammateWork()formatTeamStatus() from lib/team/coordinator.jsOutput Example:
📊 PDCA Team Status
─────────────────────────────
Agent Teams: Available ✅
Display Mode: in-process
Teammates: 4 / 4 (Enterprise)
─────────────────────────────
Feature: user-auth
architect: [Design] in progress
developer: [Do] waiting
qa: idle
reviewer: idle
team_session_ended in PDCA history via addPdcaHistory()Required Environment: CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
Level Requirements:
| Level | Available | Teammates | CTO Lead |
|---|---|---|---|
| Starter | No | - | - |
| Dynamic | Yes | 3 | cto-lead (fable) |
| Enterprise | Yes | 6 | cto-lead (fable) |
[Report] {feature} Task and any other [Phase] {feature} Task for this feature still in_progress, and TaskUpdate each to status: "completed" — the feature is terminal, so no phase Task should remain open (see Phase Transition Rule).docs/archive/YYYY-MM/{feature}/ folderdocs/archive/YYYY-MM/_INDEX.md)--summary option)Arguments:
| Argument | Description | Example |
|---|---|---|
archive {feature} | Archive with complete cleanup (default) | /pdca archive user-auth |
archive {feature} --summary | Archive with summary preservation (FR-04) | /pdca archive user-auth --summary |
Output Path: docs/archive/YYYY-MM/{feature}/
Documents to Archive:
docs/01-plan/features/{feature}.plan.mddocs/02-design/features/{feature}.design.mddocs/03-analysis/{feature}.analysis.mddocs/04-report/features/{feature}.report.mdFR-04: Summary Preservation Option (v1.4.8):
When using --summary (or --preserve-summary, -s), the feature data in .bkit/state/pdca-status.json
is converted to a lightweight summary instead of being deleted:
// Summary format (70% size reduction)
{
"my-feature": {
"phase": "archived",
"matchRate": 100,
"iterationCount": 2,
"startedAt": "2026-01-15T10:00:00Z",
"archivedAt": "2026-01-20T15:30:00Z",
"archivedTo": "docs/archive/2026-01/my-feature/"
}
}
Use --summary when you need:
Important Notes:
--summary to preserve metrics for future referenceClean up archived features from .bkit/state/pdca-status.json to reduce file size.
.bkit/state/pdca-status.jsoncleanupArchivedFeatures()Arguments:
| Argument | Description | Example |
|---|---|---|
cleanup | Interactive cleanup (shows list) | /pdca cleanup |
cleanup all | Delete all archived features | /pdca cleanup all |
cleanup {feature} | Delete specific feature | /pdca cleanup old-feature |
Output Example:
🧹 PDCA Cleanup
─────────────────────────────
Archived features found: 3
1. feature-a (archived: 2026-01-15)
2. feature-b (archived: 2026-01-20)
3. feature-c (archived: 2026-01-25)
Select features to cleanup:
[ ] All archived features
[ ] Select specific features
[ ] Cancel
Related Functions (lib/pdca/status.js):
getArchivedFeatures() - Get list of archived featurescleanupArchivedFeatures(features?) - Cleanup specific or all archiveddeleteFeatureFromStatus(feature) - Delete single featureenforceFeatureLimit(max=50) - Auto cleanup when limit exceededNotes:
docs/archive/ (only status is cleaned).bkit/state/pdca-status.json (the live state-of-truth; via the
lib/pdca/status-core.js API). Note: .bkit-memory.json is a deprecated
v1.6.0 legacy path that no lib module reads or writes.Output Example:
📊 PDCA Status
─────────────────────────────
Feature: user-authentication
Phase: Check (Gap Analysis)
Match Rate: 85%
Iteration: 2/5
─────────────────────────────
[Plan] ✅ → [Design] ✅ → [Do] ✅ → [Check] 🔄 → [Act] ⏳
Phase Guide:
| Current | Next | Suggestion |
|---|---|---|
| None | pm | /pdca pm [feature] (recommended) or /pdca plan [feature] |
| pm | plan | /pdca plan [feature] (PRD auto-referenced) |
| plan | design | /pdca design [feature] |
| design | do | Implementation start guide |
| do | check | /pdca analyze [feature] |
| check (<90%) | act | /pdca iterate [feature] |
| check (>=90%) | report | /pdca report [feature] |
| report | archive | /pdca archive [feature] |
Templates loaded from imports are used when executing each action:
| Action | Template | Purpose |
|---|---|---|
| plan | plan.template.md | Plan document structure |
| design | design.template.md | Design document structure |
| do | do.template.md | Implementation guide structure |
| analyze | analysis.template.md | Analysis report structure |
| report | report.template.md | Completion report structure |
Each PDCA phase automatically integrates with Task System:
Task Creation Pattern:
┌────────────────────────────────────────┐
│ [PM] {feature} │
│ ↓ (optional, pre-Plan) │
│ [Plan] {feature} │
│ ↓ (blockedBy) │
│ [Design] {feature} │
│ ↓ (blockedBy) │
│ [Do] {feature} │
│ ↓ (blockedBy) │
│ [Check] {feature} │
│ ↓ (blockedBy, Check < 90%) │
│ [Act-1] {feature} │
│ ↓ (on iteration) │
│ [Act-N] {feature} │
│ ↓ (Check >= 90%) │
│ [Report] {feature} │
│ ↓ (after Report completion) │
│ [Archive] {feature} │
└────────────────────────────────────────┘
The diagram above shows task creation. Advancing a phase also requires task completion:
Before creating a new phase's Task, mark every prior
[Phase] {feature}Task for this feature that is stillin_progressascompleted— useTaskListto find them andTaskUpdate {status: "completed"}on each. Thearchiveaction likewise completes the terminal[Report]Task.
Why this matters: a blockedBy chain is only semantically correct when the predecessor
is completed by the time the successor is created. More importantly, Claude Code surfaces
the native Task list into ambient prompt context every turn. If a predecessor Task is left
in_progress, that stale phase (e.g. "design" during a "do" phase) keeps leaking back to the
user — disagreeing with .bkit/state/pdca-status.json's phase field, which is the phase
source of truth. Completing predecessors keeps the two in sync. Each phase action above
embeds this step immediately before its Create-Task step.
| Action | Agent | Role |
|---|---|---|
| pm | pm-lead | Orchestrate PM Agent Team (4 sub-agents) |
| analyze | gap-detector | Compare Design vs Implementation |
| iterate | pdca-iterator | Auto code fix and re-verification |
| report | report-generator | Generate completion report |
# Run PM analysis (recommended before planning)
/pdca pm user-authentication
# Start new feature
/pdca plan user-authentication
# Create design document
/pdca design user-authentication
# Implementation guide
/pdca do user-authentication
# Gap analysis after implementation
/pdca analyze user-authentication
# Auto improvement (if needed)
/pdca iterate user-authentication
# Completion report
/pdca report user-authentication
# Check current status
/pdca status
# Guide to next phase
/pdca next
| Legacy Command | PDCA Skill |
|---|---|
/pdca-plan | /pdca plan |
/pdca-design | /pdca design |
/pdca-analyze | /pdca analyze |
/pdca-iterate | /pdca iterate |
/pdca-report | /pdca report |
/pdca-status | /pdca status |
/pdca-next | /pdca next |
/archive | /pdca archive |
PDCA workflows benefit from the bkit-pdca-guide output style:
/output-style bkit-pdca-guide
This provides PDCA-specific response formatting:
[Plan] -> [Design] -> [Do] -> [Check] -> [Act]When running PDCA commands, suggest this style if not already active.
For Dynamic/Enterprise projects, PDCA phases can run in parallel using Agent Teams:
/pdca team {feature} Start parallel PDCA
/pdca team status Monitor teammate progress
/pdca team cleanup End team session
Suggest Agent Teams when:
CTO-Led Team Orchestration Patterns:
| Level | Plan | Design | Do | Check | Act |
|---|---|---|---|---|---|
| Dynamic | leader | leader | swarm | council | leader |
| Enterprise | leader | council | swarm | council | watchdog |
Auto-suggest related action when detecting these keywords:
| Keyword | Suggested Action |
|---|---|
| "pm", "product discovery", "PRD", "market analysis" | pm |
| "plan", "planning", "roadmap" | plan |
| "design", "architecture", "spec" | design |
| "implement", "develop", "build" | do |
| "verify", "analyze", "check" | analyze |
| "improve", "iterate", "fix" | iterate |
| "complete", "report", "summary" | report |
| "archive", "store" | archive |
| "cleanup", "clean", "remove old" | cleanup |
Skills 2.0 enables direct slash invocation for all PDCA commands:
/pdca plan [feature] — Create Plan document/pdca design [feature] — Create Design document/pdca do [feature] — Implementation guide/pdca analyze [feature] — Gap analysis (Check phase)/pdca iterate [feature] — Auto-improvement (Act phase)/pdca qa [feature] — Run QA phase (L1-L5 tests)/pdca report [feature] — Completion report/pdca status — Current PDCA status/pdca next — Next phase guide/plan-plus [feature] — Brainstorming-enhanced planningHot reload: SKILL.md changes reflect without session restart (CC 2.1.0+).
CC v2.1.71 introduces /loop command and Cron tools for automated monitoring.
/loop 5m /pdca status - Check PDCA status every 5 minutes/loop 10m /pdca analyze [feature] - Run Gap analysis every 10 minutes/loop for progress monitoringbackground: true agents reliable
评论 (0)
暂无评论,成为第一个评论者吧!