This skill implements the PDCA (Plan-Do-Check-Act) workflow to ensure tasks are systematically planned and executed.
After installing, run the setup wizard:
bash
# Run interactive setup
python3 scripts/setup.py
The wizard will:
~/pdca-workspace)If you prefer manual setup:
bash
# 1. Create workspace directory
mkdir -p ~/pdca-workspace
# 2. Create a test plan
cd ~/pdca-workspace
manage_plan.py create "My First Plan" "Task 1" "Task 2" "Task 3"
# 3. Verify it works
manage_plan.py check plan.md
# 4. (Optional) Set up git for progress tracking
git init
plan*.md files in the configured workspace directorycleanup command deletes archived files older than specified days (default 7)cleanup --dry-run to preview before deletingWhen receiving a user task, create plan.md:
Execute tasks according to plan.md:
[x][>]After all tasks are completed:
Based on check results:
markdown
# Task Plan: [Task Name]
**Session:** discord:1488795270769676318
**Created:** YYYY-MM-DD HH:MM
**Status:** IN_PROGRESS | COMPLETED | PAUSED
## Current Task
> Task 3 - Implement Login API (in progress)
## Checklist
- [x] Task 1 - Database Design
- [x] Task 2 - User Model Creation
- [>] Task 3 - Implement Login API (in progress)
- [ ] Task 4 - Implement Registration API
- [ ] Task 5 - Unit Testing
## Notes
Records during execution...
## Check Results
Fill in after completion...
After receiving a task, quickly analyze how many steps are needed:
1-2 steps → Execute directly, no plan
3-5 steps → Optional plan (ask user)
5+ steps → Auto trigger PDCA
Dimension1 step2-3 steps5+ stepsFile ChangesSingle file2-3 filesMultiple modules/dirsDependenciesNoneSimpleMulti-layer/sequentialTech StackSingle tech2 techsFull-stack/multi-serviceTestingNo testingSimple validationFull test suiteDeploy/ConfigNo deployLocal runDeploy + config + docs
Trigger regardless of step count when user explicitly requests:
markdown
**Session:** discord:1488795270769676318
text
Uncompleted plans for current session:
1. plan.md - User System Development (2/5)
Uncompleted plans for other sessions:
2. plan-blog.md - Blog Setup (1/3) ← telegram:123456
ScenarioHandlingUnexpected (network down, crash)Check file modifications within 10 minutesManual Pause ("pause for now")Use PAUSED status explicitly
text
Wake → on-start → Read plan.md → Check files within 10 min
↓
"login_api.py modified 3 min ago, continue?"
text
CREATED → IN_PROGRESS → PAUSED ↔ RESUMED → COMPLETED → ARCHIVED
[x]StatusRetentionActionCOMPLETED7 daysMove to archive/plan-YYYY-MM-DD-taskname.mdPAUSED30 daysAsk user to continue or deleteSTALE (no update >14 days)ImmediateMark as ABANDONED, wait for confirmation
bash
# Archive completed
manage_plan.py archive
# Cleanup expired files (>7 days)
manage_plan.py cleanup --days 7
# List all plans
manage_plan.py list
Automatically trigger PDCA when user:
analyze_steps.pyExample:
text
「✓ Task 1 complete (Database Design)
→ Starting Task 2 (User Model Creation)」
manage_plan.py on-starttext
「You have 1 incomplete plan:
**User System Development** (2/5 complete)
✓ Database Design
✓ User Model Creation
○ Implement Login API (in progress)
○ Implement Registration API
○ Unit Testing
Next task: Implement Login API」
bash
# Simple create
manage_plan.py create "User System" "Database Design" "User Model" "Login API"
# With session
manage_plan.py create "User System" "Task 1" "Task 2" \
--session "discord:1488795270769676318"
# Specify output file
manage_plan.py create "Blog Setup" "Buy Domain" "Deploy" \
--output plan-blog.md
bash
# Complete tasks 1 and 2
manage_plan.py update plan.md --completed 0,1
# Mark current task (in progress)
manage_plan.py update plan.md --current 2
bash
# Pause
manage_plan.py pause plan.md --reason "Waiting for API response"
# Resume
manage_plan.py resume plan.md
bash
# Check incomplete plans
manage_plan.py on-start . "discord:1488795270769676318"
bash
# Check current progress
manage_plan.py check plan.md
# Detailed progress check (with git and files)
python3 scripts/check_progress.py . plan.md
ScriptFunctionmanage_plan.pyMain management script (create/update/pause/resume/archive)check_progress.pyProgress check (git + file modification + keyword matching)analyze_steps.pyStep analysis (decide whether to plan)check_deps.pyDependency check
Default workspace: ~/.openclaw/workspace/
Plan files: plan.md or plan-*.md
Archive directory: archive/
Security:
plan*.md files in the workspacearchive/ directory--dry-run to preview cleanup before deleting