Help us improve
Share bugs, ideas, or general feedback.
From multi-manus-planning
Multi-project Manus-style planning with coordinator pattern. Supports project switching, separate planning/source paths, and cross-machine sync via git. Creates task_plan.md, findings.md, and progress.md.
npx claudepluginhub kmichels/multi-manus-planningHow this skill is triggered — by the user, by Claude, or both
Slash command
/multi-manus-planning:skills/multi-manus-planningThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Work like Manus: Use persistent markdown files as your "working memory on disk."
Creates task_plan.md, findings.md, and progress.md to organize and track complex tasks. Supports session recovery after /clear. Invoke for planning, task analysis, or multi-step plans.
Creates and manages task_plan.md, findings.md, and progress.md for organizing and tracking complex multi-step projects. Supports automatic recovery after /clear.
Implements Manus-style file-based planning for complex tasks by creating task_plan.md, findings.md, and progress.md. Use for multi-step tasks, research projects, or >5 tool calls; adds session recovery and Git worktree mode.
Share bugs, ideas, or general feedback.
Work like Manus: Use persistent markdown files as your "working memory on disk."
This skill supports multiple project contexts via a coordinator file.
FIRST, check for a coordinator file:
.planning/index.md exists (walking up from CWD like git finds .git)$MANUS_PROJECT environment variable (explicit override).planning/.active.override.$CLAUDE_CODE_SESSION_ID (session-local state)active: field in index.md (workspace default)~ to the user's home directory in paths{project_path} for all planning filesIf no .planning/ found:
{project_path} (backward compatible)Session ID:
Claude Code exposes $CLAUDE_CODE_SESSION_ID (a UUID) in all execution contexts.
Use this for session-local override files. TTY detection doesn't work because
Claude Code's Bash tool runs without a TTY attached.
All planning files use {project_path}:
{project_path}/task_plan.md{project_path}/findings.md{project_path}/progress.mdRecognize these natural language patterns:
| User Says | Action |
|---|---|
| "switch to [name]" | Write to session override file, read new project's task_plan.md |
| "set default [name]" | Update active: in index.md (workspace default for new sessions) |
| "list projects" / "show projects" | Display all projects from index.md table |
| "which project?" / "current context" | Show active project name, source, and resolved path |
| "add project [name]" | Interactive flow to create new project (see below) |
| "set default path [path]" | Update default_path in index.md |
| "where are planning files?" | Show resolved {project_path} |
| "where is source?" | Show source path for current project |
When user says "add project [name]":
First, check if project already exists in the Projects table:
Ask for planning location using AskUserQuestion:
If "somewhere else", ask for the custom planning path
Ask for source/working folder:
Create the project:
Report:
Created project "[name]":
- Planning: [resolved planning path]
- Source: [source path]
- Files: task_plan.md, findings.md, progress.md
When user requests a project switch with "switch to [name]":
.planning/index.md$CLAUDE_CODE_SESSION_ID environment variable.planning/.active.override.$CLAUDE_CODE_SESSION_ID
task_plan.md if it existsIf the requested project doesn't exist, offer to create it.
When user says "set default [name]":
active: field in .planning/index.mdThis changes the default project for all new sessions in this workspace.
If the user mentions working on a project different from the active one:
# Planning Coordinator
active: college-advisor
default_path: ~/Library/Mobile Documents/iCloud~md~obsidian/Documents/Personal/Planning
## Projects
| Name | Planning Path | Source Path | Description |
| --------------- | ------------------------- | ---------------------------------- | --------------------------- |
| college-advisor | {default}/college-advisor | ~/scripts/projects/college-advisor | College matching automation |
| bracket | {default}/bracket | ~/scripts/projects/bracket | macOS backup utility |
| imageintact | ~/custom/path | ~/Library/.../XCode/ImageIntact | Photo backup app (custom) |
Path Resolution:
{default} expands to the default_path value~ expands to user's home directoryBefore ANY complex task:
.planning/index.md if it existstask_plan.md — See templates/task_plan.mdfindings.md — See templates/findings.mdprogress.md — See templates/progress.mdContext Window = RAM (volatile, limited)
Filesystem = Disk (persistent, unlimited)
→ Anything important gets written to disk.
| 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 |
Never start a complex task without task_plan.md. Non-negotiable.
"After every 2 view/browser/search operations, IMMEDIATELY save key findings to text files."
This prevents visual/multimodal information from being lost.
Before major decisions, read the plan file. This keeps goals in your attention window.
After completing any phase:
in_progress → completeEvery 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 |
if action_failed:
next_action != same_action
Track what you tried. Mutate the approach.
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
| 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 |
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 |
Use for:
Skip for:
Copy these templates to start:
Helper scripts for automation:
scripts/init-session.sh — Initialize all planning filesscripts/check-complete.sh — Verify all phases completescripts/planning-sync.sh — SessionStart hook for cross-machine syncTo automatically sync planning files when starting a session on a different machine:
Copy the hook to your Claude Code hooks folder:
cp scripts/planning-sync.sh ~/.claude/hooks/
chmod +x ~/.claude/hooks/planning-sync.sh
Add to settings.json (~/.claude/settings.json):
{
"hooks": {
"SessionStart": [
{
"hooks": [
{
"type": "command",
"command": "~/.claude/hooks/planning-sync.sh"
}
]
}
]
}
}
How it works:
git pull to fetch latest planning filesThe skill includes a Stop hook that warns you if you try to end a session with incomplete phases. To enable it:
Copy the script to your Claude Code hooks folder:
cp scripts/check-complete.sh ~/.claude/hooks/
chmod +x ~/.claude/hooks/check-complete.sh
How it works:
task_plan.md for phase status`complete`, `in_progress`, or `pending`Note: The hook uses ~/.claude/hooks/check-complete.sh instead of a relative path because ${CLAUDE_PLUGIN_ROOT} doesn't resolve for standalone skill installations.
| 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 |