Planning with Files

VerifiedCaution

Implements file-based planning for complex tasks. Creates task_plan.md, findings.md, and progress.md for multi-step projects with automatic session recovery.

Sby Skills Guide Bot
ProductivityIntermediate
3/8/2026
Claude Code
#planning#task-management#persistent-memory#markdown#session-recovery

Recommended for

Automated summary

Implements persistent, Manus-style planning by creating and maintaining Markdown plan, findings, and progress files for complex tasks.

Strengths

  • Separates the plan, findings, and progress into three easy-to-review files.
  • Supports session recovery after /clear through a catch-up script and comparison with git diff.
  • Adds reminder hooks and a completion check to reinforce keeping planning files current.
  • Documents Windows support through PowerShell as well as shell scripts.

Limitations

  • Relies on the Claude Code plugin environment and external scripts whose contents are not fully shown in the excerpt.
  • Hooks can generate repetitive reminders and add noise during long sessions.
  • The overhead of creating and maintaining the files rarely pays off for simple or short tasks.
When to use it

Use it for complex or research-heavy tasks that require more than five tool calls, especially when work must survive compaction or /clear.

When not to use it

Avoid it for a quick question, a small edit, or any task that can be completed in a few tool calls.

Security analysis

Caution
Quality score82/100

The skill is a legitimate planning framework and does not contain destructive, exfiltrating, or obfuscated commands. However, it ships automatic hooks that execute local scripts, including a PowerShell path using `-ExecutionPolicy Bypass`, so it needs review of those scripts before listing; this places it at caution rather than safe.

Findings
  • •Stop hook automatically executes local scripts (`check-complete.ps1`/`check-complete.sh`) from `CLAUDE_PLUGIN_ROOT` or `~/.claude/plugins/...`; script contents are not shown, so behavior cannot be verified from SKILL.md.
  • •Windows branch uses PowerShell with `-ExecutionPolicy Bypass`, which weakens script execution policy and could run unsigned code if the plugin directory is modified.
  • •Session catch-up instructions execute a Python script from the plugin directory with the current working directory as an argument; this is legitimate but adds local code-execution surface.
  • •PreToolUse hook reads `task_plan.md` on many tool calls; local-only and low risk, but it is an automatic file-read hook.
  • •Skill registers automatic shell hooks (PreToolUse, PostToolUse, Stop) that execute bundled scripts on every matched tool call and on session stop; this is real code execution, though the visible commands (`cat`, `echo`, `sh/pwsh script`) are benign and local.
  • •The Stop hook invokes PowerShell with `-ExecutionPolicy Bypass`, which relaxes a Windows safety control; combined with fallback path resolution (`$HOME/.claude/plugins/...`) it deserves a note even though the referenced scripts are part of the plugin.
  • •The skill instructs running `session-catchup.py` against the current working directory and reading prior session context, which can surface local project/session data; no network transmission is observed, so no exfiltration path is evident.
  • •Bash/WebFetch/WebSearch are declared and used for legitimate planning, research, and file operations; no destructive commands, no curl|sh, no base64 payloads, and no attempts to disable safety were found.
  • •The content contains no instruction-injection or role-change attempts; it reads as legitimate documentation.
How this analysis is made

Examples

Plan an OAuth implementation
Plan and execute adding OAuth login to our app. Create task_plan.md, findings.md, and progress.md, then work through each phase and update the plan as you go.
Research with file-based planning
Research and compare three vector databases, then write a recommendation. Use file-based planning and keep findings.md and progress.md up to date.
Resume after /clear
Resume the refactor after /clear: run the session catch-up check, read the planning files, review git diff, and continue from the current phase.

name: planning-with-files version: 2.10.0 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. Now with automatic session recovery after /clear. user-invocable: true allowed-tools:

  • Read
  • Write
  • Edit
  • Bash
  • Glob
  • Grep
  • WebFetch
  • WebSearch hooks: PreToolUse:
    • matcher: Write|Edit|Bash|Read|Glob|Grep 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: | SCRIPT_DIR="${CLAUDE_PLUGIN_ROOT:-$HOME/.claude/plugins/planning-with-files}/scripts"

        IS_WINDOWS=0 if [ "${OS-}" = "Windows_NT" ]; then IS_WINDOWS=1 else UNAME_S="$(uname -s 2>/dev/null || echo '')" case "$UNAME_S" in CYGWIN*|MINGW*|MSYS*) IS_WINDOWS=1 ;; esac fi

        if [ "$IS_WINDOWS" -eq 1 ]; then if command -v pwsh >/dev/null 2>&1; then pwsh -ExecutionPolicy Bypass -File "$SCRIPT_DIR/check-complete.ps1" 2>/dev/null || powershell -ExecutionPolicy Bypass -File "$SCRIPT_DIR/check-complete.ps1" 2>/dev/null || sh "$SCRIPT_DIR/check-complete.sh" else powershell -ExecutionPolicy Bypass -File "$SCRIPT_DIR/check-complete.ps1" 2>/dev/null || sh "$SCRIPT_DIR/check-complete.sh" fi else sh "$SCRIPT_DIR/check-complete.sh" fi


Planning with Files

Work like Manus: Use persistent markdown files as your "working memory on disk."

FIRST: Check for Previous Session (v2.2.0)

Before starting work, check for unsynced context from a previous session:

# Linux/macOS
$(command -v python3 || command -v python) ${CLAUDE_PLUGIN_ROOT}/scripts/session-catchup.py "$(pwd)"
# Windows PowerShell
& (Get-Command python -ErrorAction SilentlyContinue).Source "$env:USERPROFILE\.claude\skills\planning-with-files\scripts\session-catchup.py" (Get-Location)

If catchup report shows unsynced context:

  1. Run git diff --stat to see actual code changes
  2. Read current planning files
  3. Update planning files based on catchup + git diff
  4. Then proceed with task

Important: Where Files Go

  • Templates are in ${CLAUDE_PLUGIN_ROOT}/templates/
  • Your planning files go in your project directory

| Location | What Goes There | |----------|-----------------| | Skill directory (${CLAUDE_PLUGIN_ROOT}/) | Templates, scripts, reference docs | | Your project directory | task_plan.md, findings.md, progress.md |

Quick Start

Before ANY complex task:

  1. Create task_plan.md — Use templates/task_plan.md as reference
  2. Create findings.md — Use templates/findings.md as reference
  3. Create progress.md — 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
  6. If files already exist, append a dated run section first — never erase prior run history

Note: Planning files go in your project root, not the skill 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 without task_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:

  • Mark phase status: in_progress → complete
  • Log any errors encountered
  • Note files created/modified

5. 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 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

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:

  • Multi-step tasks (3+ steps)
  • Research tasks
  • Building/creating projects
  • Tasks spanning many tool calls
  • Anything requiring organization

Skip for:

  • Simple questions
  • Single-file edits
  • Quick lookups

Templates

Copy these templates to start:

Scripts

Helper scripts for automation:

  • scripts/init-session.sh — Initialize all planning files
  • scripts/check-complete.sh — Verify all phases complete
  • scripts/session-catchup.py — Recover context from previous session (v2.2.0)

Advanced 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 |

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/planning-with-files-mmh8qquw/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/planning-with-files-mmh8qquw' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/planning-with-files-mmh8qquw/download' --output '.skill-downloads/planning-with-files-mmh8qquw/SKILL.md.part' && mv '.skill-downloads/planning-with-files-mmh8qquw/SKILL.md.part' '.skill-downloads/planning-with-files-mmh8qquw/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/planning-with-files-mmh8qquw/SKILL.md' && test -s '.skill-downloads/planning-with-files-mmh8qquw/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/planning-with-files' && cp -R '.skill-downloads/planning-with-files-mmh8qquw' '.claude/skills/planning-with-files'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/planning-with-files-mmh8qquw'

openskills read 'planning-with-files-mmh8qquw'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/planning-with-files-mmh8qquw/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills