Use when you have a written implementation plan to execute in a separate session with review checkpoints
npx skills add RLGeeX/rlg-copilot --skill "plan-manager"
Install specific skill from multi-skill repository
# Description
Manages chunked plan lifecycle - listing plans, checking status, resuming interrupted plans, cleaning up completed plans
# SKILL.md
name: plan-manager
description: Manages chunked plan lifecycle - listing plans, checking status, resuming interrupted plans, cleaning up completed plans
Plan Manager
Overview
Helper skill for managing chunked plans throughout their lifecycle. Provides status checking, resumption, and cleanup operations.
Plans directory: .claude/plans/[feature-name]/
Operations
List All Plans
Command: /rlg:plan-list
Process:
1. Scan .claude/plans/ directory
2. Read each plan-meta.json
3. Display summary table:
Feature Plans:
--------------
1. add-oauth-login
Status: in-progress
Progress: Chunk 2 of 4
Last Updated: 2025-11-11 15:45
2. refactor-api
Status: pending
Progress: Chunk 1 of 3
Created: 2025-11-10 09:30
3. add-metrics
Status: completed
Completed: 2025-11-09 18:20
Check Plan Status
Command: /rlg:plan-status [feature-name]
Process:
1. Load plan-meta.json for specified feature (or current if in worktree)
2. Load current chunk file
3. Display detailed status:
Plan: add-oauth-login
Status: in-progress
Overall Progress: 2 of 4 chunks complete (50%)
Current Chunk: chunk-003 (User Integration)
- 6 tasks total
- 2 tasks completed
- 4 tasks remaining
Completed Chunks:
β chunk-001: Setup (7 tasks)
β chunk-002: Auth Flow (8 tasks)
Remaining Chunks:
β chunk-003: User Integration (6 tasks) - IN PROGRESS
chunk-004: Testing & Docs (9 tasks)
Next Steps:
- Use /rlg:plan-next to continue chunk-003
- 4 tasks remaining in current chunk
Resume Plan
Command: /rlg:plan-resume [feature-name]
Process:
1. Load plan-meta.json
2. Determine current state:
- If status = "pending": Start chunk-001
- If status = "in-progress": Resume currentChunk
- If status = "completed": Offer to archive or restart
3. Load appropriate chunk
4. Use execute-plan skill to continue
5. Start from first incomplete task
Handling interruptions:
- Check TodoWrite for partial task completion
- Review last git commits to determine progress
- Verify tests still passing before resuming
- Offer summary of what's been done
Mark Chunk Complete
Called by execute-plan skill after chunk completion.
Process:
1. Load plan-meta.json
2. Add current chunk to completedChunks array
3. Increment currentChunk
4. Update lastUpdated timestamp
5. If all chunks complete: Set status to "completed"
6. Save plan-meta.json
Archive Completed Plan
Command: /rlg:plan-archive [feature-name]
Process:
1. Verify plan status is "completed"
2. Move plan to .claude/plans/archive/[feature-name]/
3. Add completion metadata
4. Report: "Plan archived. Use /rlg:plan-list to see active plans."
Delete Plan
Command: /rlg:plan-delete [feature-name]
Process:
1. Confirm with user (show plan status first)
2. Delete .claude/plans/[feature-name]/ directory
3. Report deletion
4. Use with caution - cannot be undone
Plan Metadata Management
Structure
{
"feature": "feature-name",
"created": "2025-11-11T14:30:00Z",
"totalChunks": 4,
"currentChunk": 2,
"status": "in-progress",
"completedChunks": [1],
"lastUpdated": "2025-11-11T15:45:00Z",
"description": "Brief description",
"contextTokens": 1200,
"worktree": "worktrees/feature-name"
}
Status Values
- pending: Plan created, not started
- in-progress: Currently executing chunks
- blocked: Hit a blocker, needs intervention
- paused: Manually paused between chunks
- completed: All chunks done, ready for merge/PR
- archived: Completed and archived
Updating Metadata
Always update these fields:
- lastUpdated: On any change
- currentChunk: When chunk completes
- completedChunks: When chunk finishes
- status: When state changes
Helper Functions
Calculate Progress
progress_percent = (len(completedChunks) / totalChunks) * 100
tasks_complete = sum(count_tasks(f"chunk-{i:03d}.md") for i in completedChunks)
Find Current Task
- Load current chunk
- Read TodoWrite state
- Return first task not marked completed
Estimate Remaining Time
Based on:
- Tasks remaining in current chunk
- Chunks remaining
- Average time per task (from history)
Integration with Other Skills
write-plan:
- Creates plan-meta.json
- Initializes status as "pending"
execute-plan:
- Updates currentChunk
- Updates completedChunks
- Updates status
- Updates lastUpdated
finishing-a-development-branch:
- Sets status to "completed"
- Offers archive option
Context Awareness
In worktree:
- Auto-detect feature name from worktree path
- Default commands to current feature
- Show only current feature status
Outside worktree:
- Require feature-name parameter
- Show all plans by default
Remember
- Always load plan-meta.json first
- Keep metadata in sync with actual state
- Verify chunks complete before marking
- Update timestamps on every change
- Offer helpful next steps in output
- Handle missing/corrupt plans gracefully
Error Handling
Missing plan-meta.json:
Error: Plan metadata not found for 'feature-name'
Available plans: [list other plans]
Corrupt JSON:
Error: Plan metadata corrupted for 'feature-name'
Attempting recovery...
[Try to reconstruct from chunk files]
Chunk file missing:
Error: Chunk file chunk-003.md not found
Expected: .claude/plans/feature-name/chunk-003.md
Cannot continue execution without this chunk.
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.