PDCA workflow automation with session binding and progress recovery. Requires Python 3.6 and Git (optional).
This skill implements the PDCA (Plan-Do-Check-Act) workflow to ensure tasks are systematically planned and executed.
After installing, run the setup wizard:
# Run interactive setup
python3 scripts/setup.py
The wizard will:
~/pdca-workspace)If you prefer manual setup:
# 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:
# 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
| Dimension | 1 step | 2-3 steps | 5+ steps |
|---|---|---|---|
| File Changes | Single file | 2-3 files | Multiple modules/dirs |
| Dependencies | None | Simple | Multi-layer/sequential |
| Tech Stack | Single tech | 2 techs | Full-stack/multi-service |
| Testing | No testing | Simple validation | Full test suite |
| Deploy/Config | No deploy | Local run | Deploy + config + docs |
Trigger regardless of step count when user explicitly requests:
**Session:** discord:1488795270769676318
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
| Scenario | Handling |
|---|---|
| Unexpected (network down, crash) | Check file modifications within 10 minutes |
| Manual Pause ("pause for now") | Use PAUSED status explicitly |
Wake → on-start → Read plan.md → Check files within 10 min
↓
"login_api.py modified 3 min ago, continue?"
CREATED → IN_PROGRESS → PAUSED ↔ RESUMED → COMPLETED → ARCHIVED
[x]| Status | Retention | Action |
|---|---|---|
| COMPLETED | 7 days | Move to archive/plan-YYYY-MM-DD-taskname.md |
| PAUSED | 30 days | Ask user to continue or delete |
| STALE (no update >14 days) | Immediate | Mark as ABANDONED, wait for confirmation |
# 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:
「✓ Task 1 complete (Database Design)
→ Starting Task 2 (User Model Creation)」
manage_plan.py on-start「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」
# 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
# 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
# Pause
manage_plan.py pause plan.md --reason "Waiting for API response"
# Resume
manage_plan.py resume plan.md
# Check incomplete plans
manage_plan.py on-start . "discord:1488795270769676318"
# Check current progress
manage_plan.py check plan.md
# Detailed progress check (with git and files)
python3 scripts/check_progress.py . plan.md
| Script | Function |
|---|---|
manage_plan.py | Main management script (create/update/pause/resume/archive) |
check_progress.py | Progress check (git + file modification + keyword matching) |
analyze_steps.py | Step analysis (decide whether to plan) |
check_deps.py | Dependency 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