with one click
wolfplan
MANDATORY planning technique that prevents orphaned implementations through negative planning (pre-mortem) and inverse planning (connection audit)
Menu
MANDATORY planning technique that prevents orphaned implementations through negative planning (pre-mortem) and inverse planning (connection audit)
Use when completing work in a worktree or ending a session - writes a structured memory transfer record so the next agent can continue without context loss; prevents duplicate work and cold-start ramp-up
Use when starting work on a project or entering a worktree - reads handoff records and active agent state to synthesize a briefing; prevents cold-start ramp-up and duplicate work
Use when updating agent coordination skills from external repositories - extracts architectural patterns from source repos and proposes skill updates with provenance tracking; prevents cargo culting and stale patterns
Use during parallel agent work to write coordination signals - structured journal entries for claims, decisions, problems, and completions; prevents merge conflicts and duplicate work between concurrent agents
General-purpose interview skill to figure out what user actually needs. Upstream of everything—chains into personality-builder, brainstorming, debugging, or any creative/building work.
Build AI personalities from fictional characters using archetype extraction methodology. Transforms roleplay characters into universally useful behavioral profiles.
| name | wolfplan |
| description | MANDATORY planning technique that prevents orphaned implementations through negative planning (pre-mortem) and inverse planning (connection audit) |
| version | 1.4.0 |
| triggers | ["planning","implementation plan","before coding","design phase","writing plan","EnterPlanMode"] |
MANDATORY PROTOCOL - Prevents orphaned implementations
This skill enforces two planning techniques that prevent the "textbook smart, system dumb" antipattern where code gets implemented but never wired into the larger system.
AI assistants frequently:
Root cause: Forward-only planning without validation of system integration.
"Too simple" is not an excuse. Small changes cause big orphans.
IMMEDIATELY invoke the EnterPlanMode tool to switch into plan mode.
Use EnterPlanMode tool → System switches to read-only planning state
This ensures:
Do NOT proceed to Step 1 until plan mode is active.
Work MUST be done via subagents, not inline.
During planning:
run_in_background: trueTask tool:
- subagent_type: "Explore" (or "Plan")
- run_in_background: true ← REQUIRED
- prompt: "..."
Why subagents:
Enforcement: If you catch yourself doing work inline instead of dispatching a subagent, STOP and dispatch it.
Use TaskOutput with block: true only when you need results to continue.
If the work requires code isolation (feature branches, experiments, risky changes):
Skill tool → superpowers:using-git-worktrees# In plan frontmatter
worktree: /path/to/worktree
branch: feature/my-feature
When to use worktrees:
After determining what the task requires, load any skills that will help:
# In plan frontmatter
skills_loaded:
- wolfplan
- superpowers:using-git-worktrees
- wolf-workflows
- [domain-specific skills]
Common skill patterns:
The plan must document which skills were loaded and why.
Before planning, detect active personality:
1. Check $CLAUDE_INSTANCE environment variable
2. If set: Read ~/.claude/instances/$CLAUDE_INSTANCE/personality.json
3. If not: Read ~/.claude/personality.json
4. Extract "active" field (e.g., "mordecai")
5. Load personality profile from ~/.claude/plugins/marketplaces/wolf-skills-marketplace/personality/profiles/
Wolfplan COMBINES with personality - it does NOT override personality style.
wolfplan invoked
│
├─ No existing plan in ~/.claude/plans/?
│ → Create new plan with metadata
│
├─ Existing plan, same scope?
│ → Update plan (append to log)
│
└─ Existing plan, DIFFERENT scope?
→ Archive to ~/.claude/plans/archive/YYYY-MM-DD-<name>.md
→ Create fresh plan for new scope
Complete ALL items before proceeding:
[ ] 1.1 PREMISE CHECK
Ask yourself:
- Is this the right solution to the problem?
- Is there a simpler approach we're missing?
- What are we assuming that might be wrong?
- Should this even be built?
[ ] 1.2 FAILURE MODES
Identify what could:
- Crash or throw exceptions?
- Fail silently (no error, wrong result)?
- Produce incorrect results without any indication?
[ ] 1.3 EDGE CASES
Consider:
- Empty/null/undefined inputs?
- Concurrent access / race conditions?
- Large scale / performance limits?
- State transitions that shouldn't be possible?
[ ] 1.4 DEPENDENCIES
Audit external risks:
- External APIs that could change or be unavailable?
- Libraries that could have breaking updates?
- Services that could be down?
- Data that could be malformed or missing?
[ ] 1.5 SIDE EFFECTS & RAMIFICATIONS
Map the impact:
- What existing functionality might this break?
- What other systems/services need to know about this?
- What migrations or data changes are implied?
- What documentation becomes stale?
Complete ALL items before proceeding:
[ ] 2.1 DEFINE "DONE" STATE
Be specific:
- What does "a user can actually use this" look like?
- What is the exact interaction path from entry point to feature?
- What confirms success (not just "no errors")?
[ ] 2.2 WORK BACKWARDS (Reverse Chain)
For the user to do X, what MUST be true?
Start from user action, trace backwards:
□ UI/CLI/API endpoint exists and is accessible?
□ Route is registered/exposed?
□ Service layer knows about this?
□ Business logic is wired in?
□ Data layer is connected?
□ Config/feature flags are set?
[ ] 2.3 ORPHAN DETECTION (CRITICAL)
List EVERY artifact this plan creates:
| Artifact | How is it reached? |
|----------|-------------------|
| [file/function/class] | [what calls/imports it] |
| [test file] | [how it runs in CI] |
| [config entry] | [where it's loaded] |
| [migration] | [when it runs] |
For EACH artifact, answer: "What calls/imports/loads this?"
If answer is "nothing yet" → MUST add wiring step to plan
[ ] 2.4 INTEGRATION VERIFICATION
Confirm wiring exists:
□ Routes/endpoints registered?
□ Services injected/imported where needed?
□ Config files updated?
□ Feature flags wired (if applicable)?
□ UI navigation updated (if user-facing)?
□ Documentation updated?
□ Tests actually run in CI (not just exist)?
Append wolfplan analysis to the plan. See Output Format below.
Report to user in personality voice, ending with TL;DR:
[PERSONALITY] cast wolfplan on your behalf, Jeremy.
Updated the plan with:
- Pre-mortem: [count] risks identified, [count] mitigations added
- Connection audit: [count] artifacts checked, [count] orphans found
- Wiring: Added [count] integration steps
- Skills loaded: [list]
- Subagents dispatched: [count]
Plan file: ~/.claude/plans/[name].md
---
**TL;DR**: [One sentence summary of what the plan does and the key risk/decision]
Every wolfplan output MUST end with a TL;DR.
The TL;DR must be:
Examples:
TL;DR: Adding user preferences API with auth middleware; main risk is rate limiting config.
TL;DR: Refactoring payment service into separate module; using worktree to avoid breaking checkout.
TL;DR: Implementing Discord webhook; 2 orphans found (route + config) now have wiring steps.
Enforcement: If your output doesn't end with TL;DR, you're not done.
If you catch yourself thinking:
STOP. Run the full checklist. Every time.
Wolfplan appends a timestamped log entry:
### [YYYY-MM-DDTHH:MM] Wolfplan Analysis
**Cast by**: [PERSONALITY] on behalf of Jeremy
#### Pre-mortem Findings
| Risk | Likelihood | Impact | Mitigation |
|------|------------|--------|------------|
| [identified risk] | H/M/L | H/M/L | [what to do about it] |
#### Premise Validation
- [ ] This IS the right approach because: [reason]
- OR
- [ ] Consider alternative: [simpler approach worth exploring]
#### Connection Audit
| Artifact | Connected Via | Verified |
|----------|---------------|----------|
| [file/function] | [what calls/imports it] | ✅/❌ |
#### Wiring Steps Added to Plan
1. [specific step to connect artifact]
2. [specific step to register route]
3. [specific step to update config]
...
#### Orphan Risk Assessment
**Risk Level**: LOW / MEDIUM / HIGH
[Explanation of orphan risk and what's being done about it]
New plans are created with this structure:
---
project: <detected or user-specified project name>
user: Jeremy
personality: <active personality from config>
created: <ISO timestamp>
last_updated: <ISO timestamp>
status: active
original_goal: "<what user initially asked for>"
evolved_goal: "<current understanding, if changed>"
---
# [Project Name] - Wolfplan
## Goal Evolution Log
| Timestamp | Change | Reason |
|-----------|--------|--------|
| [timestamp] | Initial goal set | User request |
## Personality Log
| Timestamp | Personality | Note |
|-----------|-------------|------|
| [timestamp] | [personality] | Started plan |
## Update Log (append-only)
### [timestamp] Initial Plan
[original plan content]
### [timestamp] Wolfplan Analysis Applied
[pre-mortem and connection audit results]
Wolfplan Actions:
preferencesController.ts → Connected via: route registration in routes/index.ts ✅preferencesService.ts → Connected via: import in controller ✅preferences.test.ts → Connected via: jest config, runs in CI ✅routes/index.tsResult: No orphans. Feature is accessible. Tests run.
Actions without Wolfplan:
preferencesController.tspreferencesService.tspreferences.test.tsResult: 2 days of debugging "why doesn't this endpoint work?"
Before claiming wolfplan is complete:
Can't check all boxes? Wolfplan incomplete. Continue.
Wolfplan prevents the gap between "code exists" and "feature works."