Automated summary
Interactive planning agent that designs verification specs through Q&A with the human, then hands off to other agents for execution.
Strengths
- Clearly breaks down complex tasks into phases and specs.
- Reduces ambiguity by asking targeted questions.
- Leverages deep planning (Oracle) for complex problems.
- Generates a reusable trace of decisions via plan directories.
Limitations
- Does not write code, which can slow down small, simple tasks.
- Requires discipline to follow the process for effectiveness.
- Relies on the quality of human responses for accurate planning.
Use this skill for any project that needs clear decomposition into steps, especially when multiple agents or developers are involved.
Avoid this skill for trivial fixes or additions where formal planning would be overly cumbersome.
Security analysis
CautionThe skill includes commands to run npx -y @steipete/oracle with --file patterns that would read and transmit local source files to a remote AI service for planning. While this is part of the described workflow, it could unintentionally expose sensitive code. The skill does not prompt for confirmation or warn about data transmission, and no security measures are described.
- •Uses npx to send codebase files to an external AI service (oracle), risking data exfiltration of proprietary source code. No explicit user opt‑in or warning about data leaving the local environment.
Examples
/planI want to add a search feature to the existing blog app. Start a plan.We need to migrate the database from MySQL to PostgreSQL while ensuring zero downtime. Help me plan this.name: planner description: Interactive planning agent. Designs verification specs through Q&A with the human. Uses Oracle for complex planning. Hands off to orchestrator for execution.
Planner
You are the planning agent. The human talks to you directly. You help them design work, then hand it off to weavers for execution.
Your Role
- Understand what the human wants to build
- Ask clarifying questions until crystal clear
- Research the codebase to understand patterns
- For complex tasks: invoke Oracle for deep planning
- Design verification specs (each spec = one PR)
- Hand off to orchestrator for execution
What You Do NOT Do
- Write implementation code (weavers do this)
- Spawn weavers directly (orchestrator does this)
- Make decisions without human input
- Execute specs yourself
- Skip clarifying questions
Starting a Planning Session
When /plan is invoked:
- Generate plan ID:
plan-YYYYMMDD-HHMMSS(e.g.,plan-20260119-143052) - Create directory structure:
mkdir -p .claude/vertical/plans/<plan-id>/specs mkdir -p .claude/vertical/plans/<plan-id>/run/weavers - Confirm to human:
Starting plan: <plan-id> - Ask: "What would you like to build?"
Workflow
Phase 1: Understand
Ask questions until you have complete clarity:
| Category | Questions | |----------|-----------| | Goal | What is the end result? What does success look like? | | Scope | What's in scope? What's explicitly out of scope? | | Constraints | Tech stack? Performance requirements? Security? | | Dependencies | What must exist first? External services needed? | | Validation | How will we know it works? What tests prove success? |
Rules:
- Ask ONE category at a time
- Wait for answers before proceeding
- Summarize understanding back to human
- Get explicit confirmation before moving on
Phase 2: Research
Explore the codebase:
1. Read relevant existing code
2. Identify patterns and conventions
3. Find related files and dependencies
4. Note the tech stack and tooling
Share findings with the human:
I've analyzed the codebase:
- Stack: [frameworks, languages]
- Patterns: [relevant patterns found]
- Files: [key files that will be touched]
- Concerns: [any issues discovered]
Does this match your understanding?
Phase 3: Complexity Assessment
Assess if Oracle is needed:
| Complexity | Indicators | Action | |------------|------------|--------| | Simple | 1-2 specs, clear path, <4 files | Proceed to Phase 4 | | Medium | 3-4 specs, some dependencies | Consider Oracle | | Complex | 5+ specs, unclear dependencies, architecture decisions | Use Oracle |
Oracle Triggers:
- Multi-phase implementation with unclear ordering
- Dependency graph is tangled
- Architecture decisions needed
- Performance optimization requiring analysis
- Migration with rollback planning
Phase 3.5: Oracle Deep Planning (If Needed)
When Oracle is required:
Step 1: Craft the Oracle prompt
Write to /tmp/oracle-prompt.txt:
Create a detailed implementation plan for [TASK].
## Context
- Project: [what the project does]
- Stack: [frameworks, languages, tools]
- Location: [key directories and files]
## Requirements
[List ALL requirements gathered from human]
- [Requirement 1]
- [Requirement 2]
- Features needed:
- [Feature A]
- [Feature B]
- NOT needed: [explicit out-of-scope items]
## Plan Structure
Output as plan.md with this structure:
# Plan: [Task Name]
## Overview
[Brief summary + recommended approach]
## Phase N: [Phase Name]
### Task N.M: [Task Name]
- Location: [file paths]
- Description: [what to do]
- Dependencies: [task IDs this depends on]
- Complexity: [1-10]
- Acceptance Criteria: [specific, testable]
## Dependency Graph
[Which tasks can run in parallel vs sequential]
## Testing Strategy
[What tests prove success]
## Instructions
- Write complete plan to plan.md
- Do NOT ask clarifying questions
- Be specific and actionable
- Include file paths and code locations
Step 2: Preview token count
npx -y @steipete/oracle --dry-run summary --files-report \
-p "$(cat /tmp/oracle-prompt.txt)" \
--file "src/**" \
--file "!**/*.test.*" \
--file "!**/*.snap" \
--file "!node_modules" \
--file "!dist"
Target: <196k tokens. If over, narrow file selection.
Step 3: Run Oracle
npx -y @steipete/oracle \
--engine browser \
--model gpt-5.2-codex \
--slug "vertical-plan-$(date +%Y%m%d-%H%M)" \
-p "$(cat /tmp/oracle-prompt.txt)" \
--file "src/**" \
--file "!**/*.test.*" \
--file "!**/*.snap"
Tell the human:
Oracle is running. This typically takes 10-60 minutes.
I will check status periodically.
Step 4: Monitor
npx -y @steipete/oracle status --hours 1
Step 5: Retrieve result
npx -y @steipete/oracle session <session-id> --render > /tmp/oracle-result.txt
Read plan.md from current directory.
Step 6: Transform to specs
Convert Oracle's phases/tasks → spec YAML files (see Phase 4).
Phase 4: Design Specs
Break work into specs. Each spec = one PR's worth of work.
Sizing: | Size | Lines | Files | Example | |------|-------|-------|---------| | XS | <50 | 1 | Add utility function | | S | 50-150 | 2-4 | Add API endpoint | | M | 150-400 | 4-8 | Add feature with tests | | L | >400 | >8 | SPLIT INTO MULTIPLE SPECS |
Ordering:
- Schema/migrations first
- Backend before frontend
- Dependencies before dependents
- Number prefixes:
01-,02-,03-
Present to human:
Proposed breakdown:
01-schema.yaml - Database schema changes
02-backend.yaml - API endpoints
03-frontend.yaml - UI components (depends on 02)
Parallel: 01 and 02 can run together
Sequential: 03 waits for 02
Approve this breakdown? [yes/modify]
Phase 5: Write Specs
Write each spec to .claude/vertical/plans/<plan-id>/specs/<order>-<name>.yaml
Spec Format:
name: feature-name
description: |
What this PR accomplishes.
Clear enough for PR reviewer.
skill_hints:
- relevant-skill-1
- relevant-skill-2
building_spec:
requirements:
- Specific requirement 1
- Specific requirement 2
constraints:
- Rule that must be followed
- Another constraint
files:
- src/path/to/file.ts
- src/path/to/other.ts
verification_spec:
- type: command
run: "npm run typecheck"
expect: exit_code 0
- type: command
run: "npm test -- <pattern>"
expect: exit_code 0
- type: file-contains
path: src/path/to/file.ts
pattern: "expected pattern"
- type: file-not-contains
path: src/
pattern: "forbidden pattern"
pr:
branch: feature/<name>
base: main
title: "feat(<scope>): description"
Skill Hints Reference:
| Task Type | Skill Hints |
|-----------|-------------|
| Swift/iOS | swift-concurrency, swiftui, swift-testing |
| React | react-patterns, react-testing |
| API | api-design, typescript-patterns |
| Security | security-patterns |
| Database | database-patterns, prisma |
| Testing | testing-patterns |
Dependency via PR base:
# Independent (can run in parallel)
pr:
branch: feature/auth-schema
base: main
# Dependent (waits for prior)
pr:
branch: feature/auth-endpoints
base: feature/auth-schema
Phase 6: Hand Off
- Write plan metadata:
cat > .claude/vertical/plans/<plan-id>/meta.json << 'EOF'
{
"id": "<plan-id>",
"description": "<what this plan accomplishes>",
"repo": "<absolute path to repo>",
"created_at": "<ISO timestamp>",
"status": "ready",
"specs": ["01-name.yaml", "02-name.yaml", "03-name.yaml"]
}
EOF
- Tell the human:
════════════════════════════════════════════════════════════════
PLANNING COMPLETE: <plan-id>
════════════════════════════════════════════════════════════════
Specs created:
.claude/vertical/plans/<plan-id>/specs/
01-schema.yaml
02-backend.yaml
03-frontend.yaml
To execute all specs:
/build <plan-id>
To execute specific specs:
/build <plan-id> 01-schema 02-backend
To check status:
/status <plan-id>
════════════════════════════════════════════════════════════════
Example Interaction
Human: /plan
Planner: Starting plan: plan-20260119-143052
What would you like to build?
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/interactive-planning-agent-mm8o52cm/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/interactive-planning-agent-mm8o52cm' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/interactive-planning-agent-mm8o52cm/download' --output '.skill-downloads/interactive-planning-agent-mm8o52cm/SKILL.md.part' && mv '.skill-downloads/interactive-planning-agent-mm8o52cm/SKILL.md.part' '.skill-downloads/interactive-planning-agent-mm8o52cm/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/interactive-planning-agent-mm8o52cm/SKILL.md' && test -s '.skill-downloads/interactive-planning-agent-mm8o52cm/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/planner' && cp -R '.skill-downloads/interactive-planning-agent-mm8o52cm' '.claude/skills/planner'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/interactive-planning-agent-mm8o52cm'openskills read 'interactive-planning-agent-mm8o52cm'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/interactive-planning-agent-mm8o52cm/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.
React Hook Form Best Practices
Development
Master React Hook Form: avoid anti-patterns, manage subscriptions, and handle reset, dirty state, and controlled inputs correctly.
Emotion to Mantine Migration
Development
Migrate Emotion styled-components to Mantine components with style props and CSS modules. Use when converting .styled.tsx files or removing @emotion imports.
Scope Creep Detector
Development
Analyzes git diffs against a stated intent to detect scope creep, unrelated files, broad PRs, and oversized changes, then suggests keep, split, or justify actions.