Install
openclaw skills install planning-filesFile-based planning for complex tasks. Use persistent markdown files as working memory to survive context resets. Creates task_plan.md, findings.md, and progress.md. Use for any task requiring >5 tool calls, research projects, or multi-step implementations.
openclaw skills install planning-filesUse persistent markdown files as your "working memory on disk." Based on context engineering principles from Manus.
npx clawhub@latest install planning-with-files
Treats the filesystem as persistent memory to overcome context window limitations. Three files track your state:
| File | Purpose | Update Frequency |
|---|---|---|
task_plan.md | Phases, progress, decisions | After each phase |
findings.md | Research, discoveries, decisions | After ANY discovery |
progress.md | Session log, test results, errors | Throughout session |
Use for:
Skip for:
Keywords: complex task, multi-step, research, build project, create application, plan, organize
Context Window = RAM (volatile, limited)
Filesystem = Disk (persistent, unlimited)
→ Anything important gets written to disk.
Before starting ANY complex task, create all three files in your project root:
task_plan.md — Copy from templates/task_plan.mdfindings.md — Copy from templates/findings.mdprogress.md — Copy from templates/progress.mdFollow these rules during execution:
The 2-Action Rule:
After every 2 view/browser/search operations, IMMEDIATELY save findings to text files.
Visual/multimodal content doesn't persist — write it down before it's lost.
Read Before Decide: Before major decisions, read your plan file. This keeps goals in your attention window after many tool calls.
Update After Act: After completing any phase:
in_progress → completeLog ALL Errors: Every error goes in the plan file. This prevents repetition.
The 3-Strike Protocol:
ATTEMPT 1: Diagnose & Fix
→ Read error carefully
→ Identify root cause
→ Apply targeted fix
ATTEMPT 2: Alternative Approach
→ Same error? Try different method
→ Different tool? Different library?
→ NEVER repeat exact same failing action
ATTEMPT 3: Broader Rethink
→ Question assumptions
→ Search for solutions
→ Consider updating the plan
AFTER 3 FAILURES: Escalate to User
→ Explain what you tried
→ Share the specific error
→ Ask for guidance
Critical: if action_failed: next_action != same_action
Use the 5-Question Reboot Test. If you can answer these, your context is solid:
| Question | Answer Source |
|---|---|
| Where am I? | Current phase in task_plan.md |
| Where am I going? | Remaining phases |
| What's the goal? | Goal statement in plan |
| What have I learned? | findings.md |
| What have I done? | progress.md |
| Situation | Action | Reason |
|---|---|---|
| Just wrote a file | DON'T read | Content still in context |
| Viewed image/PDF | Write findings NOW | Multimodal → text before lost |
| Browser returned data | Write to file | Screenshots don't persist |
| Starting new phase | Read plan/findings | Re-orient if context stale |
| Error occurred | Read relevant file | Need current state to fix |
| Resuming after gap | Read all planning files | Recover state |
When starting a new session, check for previous work:
# Check if planning files exist
ls task_plan.md findings.md progress.md 2>/dev/null
# If they exist, read them all before continuing
cat task_plan.md findings.md progress.md
If planning files exist from a previous session:
git diff --stat to see what changedCopy these to start:
Helper scripts for automation:
scripts/init-session.sh — Initialize all planning filesscripts/check-complete.sh — Verify all phases complete| Don't | Do Instead |
|---|---|
| Use TodoWrite for persistence | Create task_plan.md file |
| State goals once and forget | Re-read plan before decisions |
| Hide errors and retry silently | Log errors to plan file |
| Stuff everything in context | Store large content in files |
| Start executing immediately | Create plan file FIRST |
| Repeat failed actions | Track attempts, mutate approach |
| Create files in skill directory | Create files in your project |