planning-with-files
File-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.
Best use case
planning-with-files is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
File-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.
Teams using planning-with-files should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/planning-with-files/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How planning-with-files Compares
| Feature / Agent | planning-with-files | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
File-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.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Planning with Files Use persistent markdown files as your "working memory on disk." Based on context engineering principles from Manus. ## Installation ### OpenClaw / Moltbot / Clawbot ```bash npx clawhub@latest install planning-with-files ``` ## WHAT This Skill Does 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 | ## WHEN to Use **Use for:** - Multi-step tasks (3+ steps) - Research tasks requiring web search - Building/creating projects from scratch - Tasks spanning >5 tool calls - Anything requiring organization across multiple files - Tasks where losing context would cause rework **Skip for:** - Simple questions - Single-file edits - Quick lookups - Tasks completable in 1-2 actions **Keywords:** complex task, multi-step, research, build project, create application, plan, organize ## The Core Pattern ``` Context Window = RAM (volatile, limited) Filesystem = Disk (persistent, unlimited) → Anything important gets written to disk. ``` ## Workflow ### Phase 1: Create Planning Files Before starting ANY complex task, create all three files in your project root: 1. **Create `task_plan.md`** — Copy from [templates/task_plan.md](templates/task_plan.md) 2. **Create `findings.md`** — Copy from [templates/findings.md](templates/findings.md) 3. **Create `progress.md`** — Copy from [templates/progress.md](templates/progress.md) ### Phase 2: Execute with Discipline Follow 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: - Mark phase status: `in_progress` → `complete` - Log any errors encountered - Note files created/modified **Log ALL Errors:** Every error goes in the plan file. This prevents repetition. ### Phase 3: Handle Errors Systematically **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` ### Phase 4: Verify Completion 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 | ## Quick Reference: Read vs Write | 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 | ## Session Recovery When starting a new session, check for previous work: ```bash # 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: 1. Read all three files to recover context 2. Run `git diff --stat` to see what changed 3. Update planning files with any missing context 4. Continue from where you left off ## Templates Copy these to start: - [templates/task_plan.md](templates/task_plan.md) — Phase tracking - [templates/findings.md](templates/findings.md) — Research storage - [templates/progress.md](templates/progress.md) — Session logging ## Scripts Helper scripts for automation: - `scripts/init-session.sh` — Initialize all planning files - `scripts/check-complete.sh` — Verify all phases complete ## References - [references/manus-principles.md](references/manus-principles.md) — Context engineering principles from Manus ## 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 | ## NEVER Do 1. **NEVER start a complex task without task_plan.md** — this is non-negotiable 2. **NEVER repeat a failed action exactly** — track what you tried, mutate the approach 3. **NEVER ignore errors** — log every error with resolution attempts 4. **NEVER rely on memory after >10 tool calls** — re-read your plan 5. **NEVER skip the 2-Action Rule for visual content** — multimodal data gets lost 6. **NEVER proceed past 3 failures without escalating** — ask the user for help 7. **NEVER create planning files in the skill directory** — they go in your project root
Related Skills
schema-markup
Add, fix, or optimize schema markup and structured data. Use when the user mentions schema markup, structured data, JSON-LD, rich snippets, schema.org, FAQ schema, product schema, review schema, or breadcrumb schema.
prompt-engineering
Master advanced prompt engineering techniques to maximize LLM performance, reliability, and controllability in production. Use when optimizing prompts, improving LLM outputs, designing production prompt templates, or building AI-powered features.
professional-communication
Write effective professional messages for software teams. Use when drafting emails, Slack/Teams messages, meeting agendas, status updates, or translating technical concepts for non-technical audiences. Triggers on email, slack, teams, message, meeting agenda, status update, stakeholder communication, escalation, jargon translation.
persona-docs
Create persona documentation for a product or codebase. Use when asked to create persona docs, document target users, define user journeys, document onboarding flows, or when starting a new product and needing to define its audience. Persona docs should be the first documentation created for any product.
mermaid-diagrams
Create software diagrams using Mermaid syntax. Use when users need to create, visualize, or document software through diagrams including class diagrams, sequence diagrams, flowcharts, ERDs, C4 architecture diagrams, state diagrams, git graphs, and other diagram types. Triggers include requests to diagram, visualize, model, map out, or show the flow of a system.
game-changing-features
Find 10x product opportunities and high-leverage improvements. Use when the user wants strategic product thinking, mentions 10x, wants to find high-impact features, or asks what would make a product dramatically more valuable.
clear-writing
Write clear, concise prose for humans — documentation, READMEs, API docs, commit messages, error messages, UI text, reports, and explanations. Combines Strunk's rules for clearer prose with technical documentation patterns, structure templates, and review checklists.
brainstorming
Explore ideas before implementation through collaborative dialogue. Use before any creative work — creating features, building components, adding functionality, or modifying behavior. Turns ideas into fully formed designs and specs through structured conversation.
Article Illustrator
When the user wants to add illustrations to an article or blog post. Triggers on: "illustrate article", "add images to article", "generate illustrations", "article images", or requests to visually enhance written content. Analyzes article structure, identifies positions for visual aids, and generates illustrations using a Type x Style two-dimension approach.
subagent-driven-development
Execute implementation plans by dispatching a fresh subagent per task with two-stage review (spec compliance then code quality). Use when you have an implementation plan with mostly independent tasks and want high-quality, fast iteration within a single session.
skill-judge
Evaluate Agent Skill quality against official specifications. Use when reviewing SKILL.md files, auditing skill packages, improving skill design, or checking if a skill follows best practices. Provides 8-dimension scoring (120 points) with actionable improvements. Triggers on review skill, evaluate skill, audit skill, improve skill, skill quality, SKILL.md review.
skill-creator
WHAT: Guide for creating effective AI agent skills - modular packages that extend Claude's capabilities with specialized knowledge, workflows, and tools. WHEN: User wants to create, write, author, or update a skill. User asks about skill structure, SKILL.md format, or how to package domain knowledge for AI agents. KEYWORDS: "create a skill", "make a skill", "new skill", "skill template", "SKILL.md", "agent skill", "write a skill", "skill structure", "package a skill"