PAD Mode (Plan → Act → Deliver)
Overview
PAD Mode transforms ambiguous requests into structured, trackable execution plans. Five phases: Plan → Discuss → Approve → Act → Deliver.
PAD Mode is a general execution framework, not a coding-only workflow. It should remain lightweight for general tasks while applying stricter execution guardrails when the task type warrants them.
⚠️ Enforcement
Violating the rules below is considered an execution failure. Treat the 🛑 STOP points as hard blockers, not suggestions.
- Skip Phase 3 Approve and jump to execution → Halt immediately. Undo any actions taken. Return to Phase 3, update status to
🔵 Confirmed, and wait for explicit user approval.
- Do deep research during Plan phase → Discard all research results. The Plan phase is for structure only. No tool calls, no web searches, no file reads beyond the template and the minimum files required to create or resume the plan.
- Start executing without asking execution mode → Pause all execution. Ask the user Foreground/Background, wait for reply, then resume.
- Complete tasks without updating plan file status → Immediately update the plan doc. Each task must reflect its actual state (
🔄 In Progress → ✅ Done / ❌ Failed).
- Mark a task done without verification → Reopen the task immediately. In Phase 4, every task must follow
Execute → Verify → Mark done.
- Deliver without button/text confirmation → Do NOT auto-archive. Send the completion summary with buttons (or text fallback) and wait for user response.
- Use oversized tasks when the work can be reasonably split → Stop and decompose the task before continuing. PAD tasks should be small enough to track, verify, and recover from failure cleanly.
- Skip required review for high-risk work → Pause before completion and trigger review or explicit self-review.
Definition of Done
A task is not complete because work was attempted. A task is complete only when its promised output exists and the relevant checks have passed.
Before marking any task ✅ Done, confirm the relevant items below:
- The deliverable exists and matches the task description
- The critical verification step has been run and passed
- Key result notes are written into the plan doc or execution log
- Dependencies and downstream task impacts are updated if needed
- If the task failed or partially succeeded, it is marked
❌ Failed instead of ✅ Done
Task-specific additions:
- Coding tasks: relevant tests/build/lint/checks run when applicable
- Research tasks: conclusions clearly separate facts, evidence, and inference
- Ops tasks: post-change health check completed, and rollback or risk note captured when relevant
- Content tasks: output checked for audience, format, tone, and completeness
If verification is missing, the task is still in progress.
Phase 1: Plan
When triggered, analyze the user's request and create a plan document.
If the trigger is bare /pad with no additional context, do NOT guess or infer from conversation history. Instead, ask the user directly:
What do you want to plan? Give me the task and I'll break it down.
Wait for the user to provide a clear request before proceeding.
- Create the plan file:
plans/YYYY-MM-DD-<short-slug>.md
- Use the template at
assets/plan-template.md
- Slug = 2-4 word summary of the task, hyphenated, lowercase
- Fill in:
- Title, status (
🟡 Discussing), timestamp
- Original requirement (user's words verbatim)
- Understanding (your interpretation, confirm this is correct)
- Initial task breakdown with tentative deliverables
- Do NOT do extensive research first. Present a concise summary with the main tasks. Deep research happens after approval.
- If there are 2-3 clear choices for any design decision, frame it as multiple choice (A/B/C) so the user can answer quickly.
- Ask up to 4 clarifying questions max. Do not overwhelm.
- Identify the task type early when possible:
coding, research, ops, content, or general.
- Default to small task sizing. A good PAD task is usually scoped to about 2 to 15 minutes of focused work. If a task has multiple outputs, multiple dependencies, or broad undefined scope, split it further.
Present the plan summary to the user and wait for feedback.
Phase 2: Discuss
Iterate on the plan based on user feedback:
- Update the plan document with each round of changes
- Add entries to the change log section
- Refine task breakdown and deliverables
- Confirm scope boundaries, what is IN and what is OUT
- Each task MUST have a concrete, verifiable deliverable
- ❌ "optimize the code" (vague)
- ✅ "Refactor auth module: extract token validation to
auth/validator.js, update login route to use new module, tests passing" (specific)
- Use task-type-aware planning guardrails:
- coding: define files/modules affected, expected behavior, and intended verification
- research: define question, source expectations, and desired decision output
- ops: define target system, risk level, pre-checks, and post-checks
- content: define audience, tone, format, and deliverable shape
- general: define output, success condition, and obvious constraints
- Before approval, confirm this execution checklist is satisfied:
- Goal is clear
- Scope boundaries are clear
- Dependencies are known
- Key risks or unknowns are identified
- Deliverables are concrete and verifiable
Continue until the user says the plan is good, looks good, or approved.
Phase 3: Approve
When the user confirms the plan:
- Update status to
🔵 Confirmed
- Lock the plan, no more scope changes without explicit user request
- Summarize what will be executed: task list + expected deliverables
- Move to Phase 4
🛑 STOP. Do NOT proceed to Phase 4 until ALL of the following are true:
If the user has not responded yet, DO NOT execute. Wait. Do not infer approval from silence or from earlier messages in the conversation.
Phase 4: Act
Execute tasks with live tracking.
- Update status to
🟢 Executing
🛑 STOP. Before ANY tool calls or task execution, ask the user about execution mode:
This plan has N tasks and will take some time. Would you like to run it in the foreground (real-time updates) or background (notify when done)?
DO NOT start any tool calls, web searches, file writes, or other actions until the user replies with their preferred mode. Use buttons (Foreground / Background) if the channel supports them, otherwise wait for text reply.
If channel supports buttons, use Foreground / Background buttons. Otherwise ask as text and wait.
Foreground mode: Work through tasks directly, notifying after each one.
Background mode: Spawn a sub-agent with the plan context. The sub-agent:
- Reads the plan document
- Executes tasks sequentially unless parallelization is explicitly appropriate
- Sends progress updates to the main session after each task via
sessions_send
- Main agent forwards updates to the user
Work through tasks in dependency order. Independent tasks may run in parallel via sub-agents.
For every task, use the mandatory loop below:
- Update task status to
🔄 In Progress in the plan doc
- Execute: do the work required for the task
- Verify: run the relevant check for that task type
- Mark done: only if verification passed, update notes and mark
✅ Done
- If execution or verification fails, mark
❌ Failed, document the issue, and propose a fix, retry, or skip path
- Notify the user immediately after each task completes or fails
Verification guidance by task type:
- coding: run the most relevant checks available, such as tests, lint, build, typecheck, or focused manual validation
- research: verify that conclusions are supported by cited evidence and clearly distinguish fact from inference
- ops: verify system state after the change, confirm service health or command outcome, and record rollback notes if relevant
- content: verify output against audience, brief, format, and completeness
- general: verify against the task's explicit success condition
Trigger review before completion when any of the following apply:
- Changes span 3 or more files
- Architecture or workflow structure changes materially
- High-risk commands or system modifications are involved
- Bulk automated edits are performed
- External write actions or irreversible effects are involved
Review may be done by a reviewer sub-agent or by explicit self-review if no sub-agent is appropriate.
If a task reveals that the plan needs adjustment:
- Pause execution
- Update the plan doc and change log
- Ask the user before continuing
Phase 5: Deliver
After all tasks are marked complete, do NOT automatically close the plan. Instead:
- Update status to
⏳ Pending Review
- Send a completion summary to the user:
📋 Plan "XXX" , all tasks completed. Deliverables:
- T1.1 ✅ xxx
- T2.1 ✅ xxx
...
Does everything look good? Any changes needed?
🛑 STOP. Do NOT auto-archive. Send confirmation and WAIT for user response:
- If channel supports buttons: send
✅ Archive / 🔧 Changes Needed buttons, wait for click
- If text only: send summary, wait for user reply matching "archive"/"done"/"looks good" or "changes"/"modify"/"needs work"
- If no response: do nothing. Do NOT assume approval from silence.
- If user clicks Archive (or confirms via text):
- Update status to
✅ Completed
- Add archive timestamp to the plan doc
- Send final confirmation
- If user clicks Changes Needed (or requests changes via text):
- Go back to Phase 2 (Discuss) to refine
- Add new tasks if needed
- Resume Phase 4 execution
Task Types
PAD Mode should stay general, but task type should influence execution rigor.
coding
- Prefer explicit files/modules and expected behavior
- Prefer verification via tests/lint/build/typecheck/manual checks as applicable
- Trigger review more readily for broad changes
research
- Define the decision question clearly
- Prefer source-backed conclusions
- Clearly separate facts, evidence, and inference
ops
- Start with state inspection when possible
- Treat riskier actions with stronger caution and verification
- Record post-change checks and rollback notes when relevant
content
- Anchor on audience, tone, and format
- Verify for completeness and usability before marking done
general
- Keep structure simple
- Still require a concrete deliverable and explicit success condition
Sub-agent Roles
Sub-agents are not just extra workers. Assign them clear roles when useful.
- Explorer: gather context, inspect codebases, collect research inputs, or map a system
- Implementer: perform the actual modification or execution work
- Reviewer: inspect output for issues, edge cases, regressions, or risky assumptions
- Verifier: run checks and confirm the task meets its done criteria
- Summarizer: merge outputs into a concise delivery package for the user
Not every PAD run needs all roles. Use only the roles that create clear value.
Parallel Execution
When tasks are independent (no shared dependencies), use sub-agents for parallel execution.
Task A (independent) , sub-agent 1 ,┐
Task B (independent) , sub-agent 2 ,┤, merge results , update plan doc
Task C (depends on A) , wait for A ,┘
Always update the plan doc from the main agent, not from sub-agents.
Plan Document Location
All plans live in: ~/.openclaw/workspace/plans/
Create the directory if it does not exist. Use read to check an existing plan before creating a new one for the same topic.
Resuming a Plan
If the user references an existing plan (for example, "continue the last plan"), search for it in plans/, read the doc, identify the last completed task, and resume from there.
1---2name: pad-mode3description: Turn messy requests into structured plans. PAD Mode (Plan → Act → Deliver) gives your AI agent project management superpowers — automatic task breakdown, live progress tracking, sub-agent parallel execution, and human approval gates. Use /pad for complex tasks that need more than a single-shot answer. Perfect for plan mode, project planning, task planning, workflow planning, and multi-step execution. Triggers: 1. Slash command: "/pad" in conversation 2. Explicit keywords: "pad mode", "plan mode", "make a plan", "plan this out" 3. Auto-detect: When the user's request is complex (3+ distinct tasks, multi-file changes, architectural decisions, or ambiguous requirements), proactively suggest entering PAD mode. Use when: user wants structured execution tracking for non-trivial tasks, not for simple one-shot questions or commands.4---56# PAD Mode (Plan → Act → Deliver)78## Overview910PAD Mode transforms ambiguous requests into structured, trackable execution plans. Five phases: **Plan → Discuss → Approve → Act → Deliver**.1112PAD Mode is a **general execution framework**, not a coding-only workflow. It should remain lightweight for general tasks while applying stricter execution guardrails when the task type warrants them.1314## ⚠️ Enforcement1516Violating the rules below is considered an execution failure. Treat the 🛑 STOP points as hard blockers, not suggestions.17181. **Skip Phase 3 Approve and jump to execution** → Halt immediately. Undo any actions taken. Return to Phase 3, update status to `🔵 Confirmed`, and wait for explicit user approval.192. **Do deep research during Plan phase** → Discard all research results. The Plan phase is for structure only. No tool calls, no web searches, no file reads beyond the template and the minimum files required to create or resume the plan.203. **Start executing without asking execution mode** → Pause all execution. Ask the user Foreground/Background, wait for reply, then resume.214. **Complete tasks without updating plan file status** → Immediately update the plan doc. Each task must reflect its actual state (`🔄 In Progress` → `✅ Done` / `❌ Failed`).225. **Mark a task done without verification** → Reopen the task immediately. In Phase 4, every task must follow `Execute → Verify → Mark done`.236. **Deliver without button/text confirmation** → Do NOT auto-archive. Send the completion summary with buttons (or text fallback) and wait for user response.247. **Use oversized tasks when the work can be reasonably split** → Stop and decompose the task before continuing. PAD tasks should be small enough to track, verify, and recover from failure cleanly.258. **Skip required review for high-risk work** → Pause before completion and trigger review or explicit self-review.2627## Definition of Done2829A task is not complete because work was attempted. A task is complete only when its promised output exists and the relevant checks have passed.3031Before marking any task `✅ Done`, confirm the relevant items below:3233- The deliverable exists and matches the task description34- The critical verification step has been run and passed35- Key result notes are written into the plan doc or execution log36- Dependencies and downstream task impacts are updated if needed37- If the task failed or partially succeeded, it is marked `❌ Failed` instead of `✅ Done`3839Task-specific additions:4041- **Coding tasks:** relevant tests/build/lint/checks run when applicable42- **Research tasks:** conclusions clearly separate facts, evidence, and inference43- **Ops tasks:** post-change health check completed, and rollback or risk note captured when relevant44- **Content tasks:** output checked for audience, format, tone, and completeness4546If verification is missing, the task is still in progress.4748## Phase 1: Plan4950When triggered, analyze the user's request and create a plan document.5152**If the trigger is bare `/pad` with no additional context**, do NOT guess or infer from conversation history. Instead, ask the user directly:53> What do you want to plan? Give me the task and I'll break it down.5455Wait for the user to provide a clear request before proceeding.56571. Create the plan file: `plans/YYYY-MM-DD-<short-slug>.md`58 - Use the template at `assets/plan-template.md`59 - Slug = 2-4 word summary of the task, hyphenated, lowercase602. Fill in:61 - Title, status (`🟡 Discussing`), timestamp62 - Original requirement (user's words verbatim)63 - Understanding (your interpretation, confirm this is correct)64 - Initial task breakdown with tentative deliverables653. **Do NOT do extensive research first.** Present a concise summary with the main tasks. Deep research happens after approval.664. If there are 2-3 clear choices for any design decision, frame it as multiple choice (A/B/C) so the user can answer quickly.675. Ask up to 4 clarifying questions max. Do not overwhelm.686. Identify the **task type** early when possible: `coding`, `research`, `ops`, `content`, or `general`.697. Default to **small task sizing**. A good PAD task is usually scoped to about **2 to 15 minutes** of focused work. If a task has multiple outputs, multiple dependencies, or broad undefined scope, split it further.7071Present the plan summary to the user and wait for feedback.7273## Phase 2: Discuss7475Iterate on the plan based on user feedback:76771. Update the plan document with each round of changes782. Add entries to the change log section793. Refine task breakdown and deliverables804. Confirm scope boundaries, what is IN and what is OUT815. Each task MUST have a concrete, verifiable deliverable82 - ❌ "optimize the code" (vague)83 - ✅ "Refactor auth module: extract token validation to `auth/validator.js`, update login route to use new module, tests passing" (specific)846. Use task-type-aware planning guardrails:85 - **coding:** define files/modules affected, expected behavior, and intended verification86 - **research:** define question, source expectations, and desired decision output87 - **ops:** define target system, risk level, pre-checks, and post-checks88 - **content:** define audience, tone, format, and deliverable shape89 - **general:** define output, success condition, and obvious constraints907. Before approval, confirm this execution checklist is satisfied:91 - Goal is clear92 - Scope boundaries are clear93 - Dependencies are known94 - Key risks or unknowns are identified95 - Deliverables are concrete and verifiable9697Continue until the user says the plan is good, looks good, or approved.9899## Phase 3: Approve100101When the user confirms the plan:1021031. Update status to `🔵 Confirmed`1042. Lock the plan, no more scope changes without explicit user request1053. Summarize what will be executed: task list + expected deliverables1064. Move to Phase 4107108🛑 **STOP.** Do NOT proceed to Phase 4 until ALL of the following are true:109- [ ] Plan status is `🔵 Confirmed` (updated in the plan file)110- [ ] User has explicitly approved via text ("确认"/"approved"/"go"/"looks good") OR clicked an approval button111- [ ] Scope boundaries are locked in the plan doc112113If the user has not responded yet, DO NOT execute. Wait. Do not infer approval from silence or from earlier messages in the conversation.114115## Phase 4: Act116117Execute tasks with live tracking.1181191. Update status to `🟢 Executing`120121🛑 **STOP.** Before ANY tool calls or task execution, ask the user about execution mode:122> This plan has N tasks and will take some time. Would you like to run it in the foreground (real-time updates) or background (notify when done)?123124DO NOT start any tool calls, web searches, file writes, or other actions until the user replies with their preferred mode. Use buttons (`Foreground` / `Background`) if the channel supports them, otherwise wait for text reply.1251262. If channel supports buttons, use `Foreground` / `Background` buttons. Otherwise ask as text and wait.1273. **Foreground mode:** Work through tasks directly, notifying after each one.1284. **Background mode:** Spawn a sub-agent with the plan context. The sub-agent:129 - Reads the plan document130 - Executes tasks sequentially unless parallelization is explicitly appropriate131 - Sends progress updates to the main session after each task via `sessions_send`132 - Main agent forwards updates to the user1335. Work through tasks in dependency order. Independent tasks may run in parallel via sub-agents.1346. For **every task**, use the mandatory loop below:135 - Update task status to `🔄 In Progress` in the plan doc136 - **Execute:** do the work required for the task137 - **Verify:** run the relevant check for that task type138 - **Mark done:** only if verification passed, update notes and mark `✅ Done`139 - If execution or verification fails, mark `❌ Failed`, document the issue, and propose a fix, retry, or skip path140 - Notify the user immediately after each task completes or fails1417. Verification guidance by task type:142 - **coding:** run the most relevant checks available, such as tests, lint, build, typecheck, or focused manual validation143 - **research:** verify that conclusions are supported by cited evidence and clearly distinguish fact from inference144 - **ops:** verify system state after the change, confirm service health or command outcome, and record rollback notes if relevant145 - **content:** verify output against audience, brief, format, and completeness146 - **general:** verify against the task's explicit success condition1478. Trigger review before completion when any of the following apply:148 - Changes span 3 or more files149 - Architecture or workflow structure changes materially150 - High-risk commands or system modifications are involved151 - Bulk automated edits are performed152 - External write actions or irreversible effects are involved153154 Review may be done by a reviewer sub-agent or by explicit self-review if no sub-agent is appropriate.1559. If a task reveals that the plan needs adjustment:156 - Pause execution157 - Update the plan doc and change log158 - Ask the user before continuing159160## Phase 5: Deliver161162After all tasks are marked complete, **do NOT automatically close the plan**. Instead:1631641. Update status to `⏳ Pending Review`1652. Send a completion summary to the user:166 > 📋 Plan "XXX" , all tasks completed. Deliverables:167 > - T1.1 ✅ xxx168 > - T2.1 ✅ xxx169 > ...170 >171 > Does everything look good? Any changes needed?172173🛑 **STOP.** Do NOT auto-archive. Send confirmation and WAIT for user response:174- If channel supports buttons: send `✅ Archive` / `🔧 Changes Needed` buttons, wait for click175- If text only: send summary, wait for user reply matching "archive"/"done"/"looks good" or "changes"/"modify"/"needs work"176- If no response: do nothing. Do NOT assume approval from silence.1771784. If user clicks **Archive** (or confirms via text):179 - Update status to `✅ Completed`180 - Add archive timestamp to the plan doc181 - Send final confirmation1825. If user clicks **Changes Needed** (or requests changes via text):183 - Go back to Phase 2 (Discuss) to refine184 - Add new tasks if needed185 - Resume Phase 4 execution186187## Task Types188189PAD Mode should stay general, but task type should influence execution rigor.190191### coding192- Prefer explicit files/modules and expected behavior193- Prefer verification via tests/lint/build/typecheck/manual checks as applicable194- Trigger review more readily for broad changes195196### research197- Define the decision question clearly198- Prefer source-backed conclusions199- Clearly separate facts, evidence, and inference200201### ops202- Start with state inspection when possible203- Treat riskier actions with stronger caution and verification204- Record post-change checks and rollback notes when relevant205206### content207- Anchor on audience, tone, and format208- Verify for completeness and usability before marking done209210### general211- Keep structure simple212- Still require a concrete deliverable and explicit success condition213214## Sub-agent Roles215216Sub-agents are not just extra workers. Assign them clear roles when useful.217218- **Explorer:** gather context, inspect codebases, collect research inputs, or map a system219- **Implementer:** perform the actual modification or execution work220- **Reviewer:** inspect output for issues, edge cases, regressions, or risky assumptions221- **Verifier:** run checks and confirm the task meets its done criteria222- **Summarizer:** merge outputs into a concise delivery package for the user223224Not every PAD run needs all roles. Use only the roles that create clear value.225226## Parallel Execution227228When tasks are independent (no shared dependencies), use sub-agents for parallel execution.229230```231Task A (independent) , sub-agent 1 ,┐232Task B (independent) , sub-agent 2 ,┤, merge results , update plan doc233Task C (depends on A) , wait for A ,┘234```235236Always update the plan doc from the main agent, not from sub-agents.237238## Plan Document Location239240All plans live in: `~/.openclaw/workspace/plans/`241242Create the directory if it does not exist. Use `read` to check an existing plan before creating a new one for the same topic.243244## Resuming a Plan245246If the user references an existing plan (for example, "continue the last plan"), search for it in `plans/`, read the doc, identify the last completed task, and resume from there.