planning-with-files
by @lnj22
Implements Manus-style file-based planning for complex tasks. Creates task_plan.md, findings.md, and progress.md. Use when starting complex multi-step tasks,...
clawhub install organize-messy-files-planning-with-filesπ About This Skill
name: planning-with-files description: Implements Manus-style file-based planning for complex tasks. Creates task_plan.md, findings.md, and progress.md. Use when starting complex multi-step tasks, research projects, or any task requiring >5 tool calls. allowed-tools: - Read - Write - Edit - Bash - Glob - Grep - WebFetch - WebSearch metadata: version: "2.1.2" user-invocable: true hooks: SessionStart: - hooks: - type: command command: "echo '[planning-with-files] Ready. Auto-activates for complex tasks, or invoke manually with /planning-with-files'" PreToolUse: - matcher: "Write|Edit|Bash" hooks: - type: command command: "cat task_plan.md 2>/dev/null | head -30 || true" PostToolUse: - matcher: "Write|Edit" hooks: - type: command command: "echo '[planning-with-files] File updated. If this completes a phase, update task_plan.md status.'" Stop: - hooks: - type: command command: "${CLAUDE_PLUGIN_ROOT}/scripts/check-complete.sh"
Planning with Files
Work like Manus: Use persistent markdown files as your "working memory on disk."
Important: Where Files Go
When using this skill:
${CLAUDE_PLUGIN_ROOT}/templates/task_plan.md, findings.md, progress.md) should be created in your project directory β the folder where you're working| Location | What Goes There |
|----------|-----------------|
| Skill directory (${CLAUDE_PLUGIN_ROOT}/) | Templates, scripts, reference docs |
| Your project directory | task_plan.md, findings.md, progress.md |
This ensures your planning files live alongside your code, not buried in the skill installation folder.
Quick Start
Before ANY complex task:
1. Create task_plan.md in your project β Use templates/task_plan.md as reference
2. Create findings.md in your project β Use templates/findings.md as reference
3. Create progress.md in your project β Use templates/progress.md as reference
4. Re-read plan before decisions β Refreshes goals in attention window
5. Update after each phase β Mark complete, log errors
> Note: All three planning files should be created in your current working directory (your project root), not in the skill's installation folder.
The Core Pattern
Context Window = RAM (volatile, limited)
Filesystem = Disk (persistent, unlimited)β Anything important gets written to disk.
File Purposes
| File | Purpose | When to Update |
|------|---------|----------------|
| task_plan.md | Phases, progress, decisions | After each phase |
| findings.md | Research, discoveries | After ANY discovery |
| progress.md | Session log, test results | Throughout session |
Critical Rules
1. Create Plan First
Never start a complex task withouttask_plan.md. Non-negotiable.2. The 2-Action Rule
> "After every 2 view/browser/search operations, IMMEDIATELY save key findings to text files."This prevents visual/multimodal information from being lost.
3. Read Before Decide
Before major decisions, read the plan file. This keeps goals in your attention window.4. Update After Act
After completing any phase:in_progress β complete5. Log ALL Errors
Every error goes in the plan file. This builds knowledge and prevents repetition.## Errors Encountered
| Error | Attempt | Resolution |
|-------|---------|------------|
| FileNotFoundError | 1 | Created default config |
| API timeout | 2 | Added retry logic |
6. Never Repeat Failures
if action_failed:
next_action != same_action
Track what you tried. Mutate the approach.The 3-Strike Error Protocol
ATTEMPT 1: Diagnose & Fix
β Read error carefully
β Identify root cause
β Apply targeted fixATTEMPT 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
Read vs Write Decision Matrix
| 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 |
The 5-Question Reboot Test
If you can answer these, your context management 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 |
When to Use This Pattern
Use for:
Skip for:
Templates
Copy these templates to start:
Scripts
Helper scripts for automation:
scripts/init-session.sh β Initialize all planning filesscripts/check-complete.sh β Verify all phases completeAdvanced Topics
Anti-Patterns
| 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 |
π‘ Examples
Before ANY complex task:
1. Create task_plan.md in your project β Use templates/task_plan.md as reference
2. Create findings.md in your project β Use templates/findings.md as reference
3. Create progress.md in your project β Use templates/progress.md as reference
4. Re-read plan before decisions β Refreshes goals in attention window
5. Update after each phase β Mark complete, log errors
> Note: All three planning files should be created in your current working directory (your project root), not in the skill's installation folder.