plan-mode
GitHub提供结构化自主任务规划能力,支持创建、审批及执行计划。通过MemoryDocs管理步骤、依赖与风险,结合Missions实现自动化执行与进度追踪,确保复杂任务的有序完成。
Trigger Scenarios
Install
npx skills add nearai/ironclaw --skill plan-mode -g -y
SKILL.md
Frontmatter
{
"name": "plan-mode",
"version": "0.1.0",
"activation": {
"tags": [
"planning",
"autonomous",
"task-management"
],
"keywords": [
"[PLAN MODE]",
"plan mode",
"create a plan",
"make a plan",
"execution plan",
"step by step plan"
],
"patterns": [
"\\[PLAN MODE\\]",
"plan (out|how to|before|for)"
],
"max_context_tokens": 2500
},
"description": "Structured planning mode for autonomous task execution. Creates plans as MemoryDocs, executes via Missions, tracks progress with live checklist."
}
Plan Mode
You are in plan mode. Follow these protocols precisely.
Creating a Plan
When asked to create a plan (message contains [PLAN MODE] Create):
- Gather context: Use
memory_searchfor relevant prior work and decisions. - Analyze: Determine what tools and steps are needed. Consider dependencies and risks.
- Write the plan: Use
memory_writeto save the plan atplans/<slug>.mdwhere slug is a short kebab-case name derived from the goal. - Emit checklist: Call
plan_updatewith status "draft" and all steps as "pending". - Present: Tell the user the plan is ready. Show the steps and say: "Use
/plan approveto start autonomous execution, or/plan revise <slug> <feedback>to adjust."
Plan Document Format
Write plans to workspace memory in this format:
plan_id: <slug>
status: draft
## Goal
<clear statement of what needs to be accomplished>
## Success Criteria
<how to know the plan is complete>
## Steps
1. [ ] Step title -- tools: [tool1, tool2] -- risk: low -- est: 5min
2. [ ] Step title -- tools: [tool3] -- risk: medium -- est: 10min
3. [ ] Step title -- tools: [tool4, tool5] -- risk: low -- est: 5min
## Risks
- Risk description and mitigation strategy
## Progress Log
(updated during execution)
Plan Rules
- Each step MUST specify which tools it needs
- Steps should be independently verifiable
- Include risk assessment (low/medium/high) per step
- Include time estimates per step
- Keep plans under 20 steps; decompose larger work into sub-plans
- Steps should be ordered by dependency (earlier steps enable later ones)
Approving and Executing a Plan
When asked to approve a plan (message contains [PLAN MODE] Approve):
- Read the plan from memory using
memory_searchormemory_read. - Call
mission_createwith:- name:
plan:<slug> - goal: The full plan content (goal, steps, success criteria)
- cadence:
manual
- name:
- Call
mission_firewith the mission ID to start execution. - Call
plan_updatewith status "executing" and the mission_id. - Update the plan document status to "executing" via
memory_write. - Tell the user: "Plan execution started. Mission ID:
. Check progress with /plan status <slug>."
During Mission Thread Execution
When you are executing as part of a mission thread (your context includes "# Mission:" header with a plan):
- The plan MemoryDoc is in your project knowledge. Read the steps carefully.
- Check
current_focus-- if set, this tells you which step to work on next. - Execute the current step using the specified tools.
- Call
plan_updateto update the checklist:- Mark the current step as "completed" with a result summary
- Mark the next step as "in_progress"
- Report what you accomplished and what's next.
- If a step fails:
- Call
plan_updatemarking the step as "failed" with the error - Try ONE alternative approach
- If still failing, call
plan_updatewith overall status "failed" and stop
- Call
Checking Plan Status
When asked for plan status (message contains [PLAN MODE] Show status):
- Search for the plan:
memory_searchfor the plan slug or "plan:". - If a mission exists, use
mission_listto check mission state. - Summarize: X of Y steps completed, current step, any blockers.
- Call
plan_updateto refresh the UI checklist.
Listing Plans
When asked to list plans (message contains [PLAN MODE] List all plans):
- Use
memory_searchwith query "plan" to find plan documents. - List each plan with: slug, status, step count, created date.
- If no plans found, say "No plans found. Use
/plan <description>to create one."
Revising a Plan
When asked to revise (message contains [PLAN MODE] Revise):
- Read the existing plan from memory.
- Apply the user's feedback to update the steps.
- Reset any failed/in-progress steps back to pending.
- Rewrite the plan via
memory_write(append: false). - Call
plan_updatewith status "draft" and updated steps. - Present the revised plan and suggest
/plan approveto re-execute.
Version History
- 5380a32 Current 2026-08-20 07:09


