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.
Use it for complex or research-heavy tasks that require more than five tool calls, especially when work must survive compaction or /clear.
Avoid it for a quick question, a small edit, or any task that can be completed in a few tool calls.
Security analysis
CautionThe 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.
- •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.
Examples
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 and compare three vector databases, then write a recommendation. Use file-based planning and keep findings.md and progress.md up to date.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
-
- matcher: Write|Edit|Bash|Read|Glob|Grep
hooks:
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:
- Run
git diff --statto see actual code changes - Read current planning files
- Update planning files based on catchup + git diff
- 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:
- Create
task_plan.md— Use templates/task_plan.md as reference - Create
findings.md— Use templates/findings.md as reference - Create
progress.md— Use templates/progress.md as reference - Re-read plan before decisions — Refreshes goals in attention window
- Update after each phase — Mark complete, log errors
- 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:
- templates/task_plan.md — Phase tracking
- templates/findings.md — Research storage
- templates/progress.md — Session logging
Scripts
Helper scripts for automation:
scripts/init-session.sh— Initialize all planning filesscripts/check-complete.sh— Verify all phases completescripts/session-catchup.py— Recover context from previous session (v2.2.0)
Advanced Topics
- Manus Principles: See reference.md
- Real Examples: See examples.md
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 filesThis 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.mdFrom 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 installationopenskills 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 syncManual 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.
PDF Reader
Productivity
Read and extract text from PDF files, including documents, reports, contracts, and spreadsheets. Works with local files, URLs, and WhatsApp attachments. Use whenever PDF content is needed, even if not explicitly requested.
Discord Messaging Workflows
Productivity
Use the message tool to send, edit, and moderate Discord messages with interactive components.
Interactive Verdict Preview
Productivity
Generate an interactive HTML preview of keep/drop verdicts for maintainer review, then process the pasted feedback JSON.