skills/pdca/SKILL.md
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, 계획, 설계, 분석, 보고서.
npx skillsauth add popup-studio-ai/bkit-claude-code pdcaInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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}/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[Plan] {feature}## 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[Design] {feature} (blockedBy: Plan task)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}[Do] {feature} (blockedBy: Design task)--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:
Create Task: [Check] {feature} (blockedBy: Do task)
Update .bkit-memory.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[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)
[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)[Report] {feature}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 (opus) | | Enterprise | Yes | 6 | cto-lead (opus) |
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 .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 .pdca-status.json to reduce file size.
.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-memory.jsonOutput 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} │
└────────────────────────────────────────┘
| 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 reliabletesting
Sprint Management — generic sprint capability for ANY bkit user. 16 sub-actions: init, start, status, watch, phase, iterate, qa, report, archive, list, feature, pause, resume, fork, help, master-plan. Triggers: sprint, sprint start, sprint init, sprint status, sprint list, 스프린트, 스프린트 시작, 스프린트 상태, スプリント, スプリント開始, スプリント状態, 冲刺, 冲刺开始, 冲刺状态, sprint, iniciar sprint, estado sprint, sprint, demarrer sprint, statut sprint, Sprint, Sprint starten, Sprint Status, sprint, avviare sprint, stato sprint, master plan, multi-sprint plan, sprint master plan, 마스터 플랜, 멀티 스프린트 계획, 스프린트 마스터 플랜, マスタープラン, マルチスプリント計画, スプリントマスタープラン, 主计划, 多冲刺计划, 冲刺主计划, plan maestro, plan multi-sprint, plan maestro sprint, plan maître, plan multi-sprint, plan maître sprint, Masterplan, Multi-Sprint-Plan, Sprint-Masterplan, piano principale, piano multi-sprint, piano principale sprint.
tools
CC CLI version upgrade impact analysis — research changes, analyze bkit impact, generate report. Triggers: cc-version-analysis, CC upgrade, version analysis, CC 버전 분석, 버전 영향.
testing
Manage PDCA checkpoints and rollback — create, list, restore for safe recovery. Rollback events are recorded via lib/audit/audit-logger ACTION_TYPES.rollback_executed. For sprint-level recovery, individual feature rollbacks may be triggered from within sprint phases (sprint itself is forward-only — terminal state is `archived`, not rolled back; v2.1.13). Triggers: rollback, checkpoint, restore, undo, 롤백, 체크포인트, 복원.
testing
QA Phase execution — L1-L5 test planning, generation, execution, and reporting for a single feature. For sprint-level QA (7-Layer dataFlowIntegrity / S1 gate across multiple features) use /sprint qa <sprintId> which delegates to sprint-qa-flow agent (v2.1.13). Triggers: qa phase, QA test, qa run, QA 실행, QAフェーズ, QA阶段, fase QA, phase QA, QA-Phase, fase QA.