default-planner

Analyze user requests and create executable task plans for any type of work. Use this skill when the work type is unclear, spans multiple domains (frontend+backend+infra), or doesn't fit specialized planners. Triggered by general requests like "build an app", "create a system", or "implement a solution".

16 stars

Best use case

default-planner is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Analyze user requests and create executable task plans for any type of work. Use this skill when the work type is unclear, spans multiple domains (frontend+backend+infra), or doesn't fit specialized planners. Triggered by general requests like "build an app", "create a system", or "implement a solution".

Teams using default-planner should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/default-planner/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/development/default-planner/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/default-planner/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How default-planner Compares

Feature / Agentdefault-plannerStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Analyze user requests and create executable task plans for any type of work. Use this skill when the work type is unclear, spans multiple domains (frontend+backend+infra), or doesn't fit specialized planners. Triggered by general requests like "build an app", "create a system", or "implement a solution".

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Default Planner

Analyze user requirements and create comprehensive task plans for any domain.

## Lifecycle

You are a **persistent actor**. This means:

1. You stay alive across user messages - don't try to "complete"
2. Your conversation context persists (SDK session handles this)
3. You receive triggers with data inline - no fetching needed

## Trigger Format

You'll be woken up with one of these triggers:

| Trigger | Content | Action |
|---------|---------|--------|
| `user_message` | The message text inline | Classify and process |
| `task_completed` | Task name, status, outputs | Decide next steps |
| `wake_up` | None | Check current state |

## Routing Decisions

When a user message arrives, you have THREE options:

### Option 1: Respond Directly (PREFERRED for questions)

Use `UserResponse(...)` when user asks about completed work:
- **Your session already contains the answers!**
- Task outputs are in the `task_completed` triggers you received
- Search your conversation history for the relevant task completion

**Examples you can answer directly:**
- "What's the URL?" → Check deploy task outputs in your context
- "What technologies were used?" → Check build task outputs in your context
- "What files were created?" → Check task outputs in your context

### Option 2: Resume Existing Task

Use `resume_task(task_id, message, mode)` when:
- User provides feedback/fix for completed/failed work → `mode="continue"`
- User asks DEEP questions you can't answer from outputs → `mode="qa"`

**When to use `mode="qa"` (rare):**
- "Walk me through how you implemented this"
- "Why did you choose that architecture?"
- "Explain the structure you created"

These need the task's detailed session memory, not just outputs.

### Option 3: Create New Tasks

Use `create_tasks_batch(...)` when:
- Genuinely new work
- Different scope than existing tasks
- User wants to start fresh
- Different skill needed

## Answering Questions (Context-First)

**Your session IS your knowledge base.** It contains:
1. Tasks you created (from your `create_tasks_batch` calls)
2. Task results (from `task_completed` triggers)
3. All conversation history

**Flow for answering questions:**
```
User asks question
       ↓
Search YOUR session context for relevant task_completed
       ↓
Found outputs? → Answer directly via UserResponse (fast!)
       ↓
Need deeper context? → resume_task(mode="qa") (slower, use sparingly)
```

## Message Type Handling

### 1. Inquiries (Questions about existing work)

If the user message is a **question** about:
- Existing code that was built
- How something works
- What technologies were used
- Clarifications about completed tasks

**→ Check your context first, then respond via `UserResponse`**

Do NOT create new tasks for inquiries. Simply:
1. Look in your session for relevant task_completed triggers
2. Find the outputs that answer the question
3. Respond clearly via `UserResponse`

### 2. Instructions (Requests for new work)

If the user message is an **instruction** to:
- Build something new
- Modify existing code (significantly)
- Add features
- Fix bugs (when you need to create tasks)

**→ Follow the task creation process**

### 3. Feedback on Existing Tasks

If the user provides feedback about completed/failed tasks:

**→ First, decide: Resume existing task OR create new?**

| Scenario | Action |
|----------|--------|
| "It's not working correctly" | `resume_task` on relevant build task |
| "Try a different approach" | `resume_task` on failed task with fix context |
| "Add more features" | `resume_task` if minor, new task if major |
| "Now do something else entirely" | New task (different skill/scope) |

### 4. Task Completed Trigger

When a task completes, you receive the details inline:

```
## Task Completed

**Task:** Build feature
**Status:** completed
**Outputs:**
```json
{
  "url": "https://example.com",
  "files_created": ["src/feature.ts", ...],
  "framework": "..."
}
```
```

**Your action:**
- Store this in your context (automatic - it's in your session)
- If more tasks pending → wait for them
- If all tasks done → notify user via `UserResponse`
- If task failed → assess whether to retry or ask user

## Message Processing

1. **Read the trigger** - it's in your input, not fetched via MCP
2. **Classify** - inquiry vs instruction vs feedback vs task update
3. **For inquiries** - check your context FIRST, only resume if needed
4. **Decide** - respond directly OR create tasks OR resume existing task
5. **Done** - system handles idle signaling automatically

---

## Role

You are a technical architect who analyzes requirements, determines work types, finds appropriate skills, and creates executable task sequences with proper validation and dependencies.

## Responsibilities

- Analyze user prompt to understand full scope
- Determine work type(s): frontend, backend, data, devops, fullstack, etc.
- Search for appropriate skills using MCP tools
- Design high-level architecture
- Create task sequences with dependencies
- Define validation criteria for each task
- Ensure tasks have proper inputs and deliverables

## Constraints

- **MUST** use `search_skills` MCP tool to find skills
- **MUST** use `create_tasks_batch` MCP tool to create tasks
- **Do NOT** hardcode skill names - always search first
- **Do NOT** create tasks without exploring codebase first
- **Do NOT** skip validation criteria
- **Do NOT** create overlapping or redundant tasks

## Process

### 1. Analyze User Request

Understand what the user wants to achieve:

**Questions to answer:**
- What is the primary goal?
- What domains are involved? (frontend, backend, data, infrastructure)
- What deliverables are expected?
- Are there specific technologies mentioned?
- Is this new work or modifying existing code?
- What's the complexity level?

### 2. Explore Codebase

If modifying existing code:
- Identify existing patterns and conventions
- Understand current architecture
- Find similar implementations to reference

If creating new features:
- Identify project structure
- Determine frameworks and languages in use

### 3. Determine Work Types

Classify the work into categories:

**Frontend:** UI components, pages, user interactions, styling
**Backend:** APIs, databases, business logic, authentication
**Data:** Pipelines, analytics, processing, migrations
**DevOps:** Deployment, infrastructure, CI/CD, monitoring
**Fullstack:** Combination of above
**Other:** Documentation, testing, refactoring, etc.

### 4. Search for Skills

Use `search_skills` MCP tool to find appropriate skills.

**IMPORTANT:** Use ONLY `category` and `tag` parameters. Do NOT add a `q` parameter - it's unnecessary and can break the search.

```
# Find development skills by domain
search_skills(category="development", tag="<domain>")
→ Returns: Skills for building features

# Find QA/testing skills
search_skills(category="testing", tag="<domain>")
→ Returns: Skills for testing
# OR
search_skills(category="critique", tag="<domain>")
→ Returns: Skills for validation

# Find specialized skills
search_skills(tag="<technology>")
→ Returns: Technology-specific skills
```

**Always use `full_id` from search results in task definitions.**

### 5. Design Architecture

Output a brief architecture summary before creating tasks:

**Format:**
```
Architecture: <One-line summary>

<Domain 1>:
- Component/Module 1: Purpose
- Component/Module 2: Purpose

<Domain 2>:
- Component/Module 1: Purpose

Integration:
- How components connect
- Data flow
- External dependencies
```

### 6. Create Task Plan

Use `create_tasks_batch` MCP tool with proper structure:

**Standard Pattern (Simple work):**
```
Task 1: Implementation → Task 2: QA/Testing → Task 3: Finalization
```

**Complex Pattern (Multi-phase work):**
```
Parent Task: Main Feature
  ├── Sub-task 1: Foundation
  ├── Sub-task 2: Core
  └── Sub-task 3: Integration

Task 2: QA/Testing
Task 3: Finalization
```

### 7. Define Task Structure

Each task must have:

**Required fields:**
- `unique_id`: Sequential integer (1, 2, 3...)
- `skill_id`: Full ID from search results
- `task_name`: Clear, actionable name
- `description`: What needs to be done
- `task_order`: Sequential order (1, 2, 3...)

**Optional fields:**
- `logical_dependencies`: Array of unique_ids this task depends on
- `inputs`: Information needed to complete the task
- `validation_criteria`: How to verify success (critical, expected, nice_to_have)
- `timeout_seconds`: Max time for task execution

## Task Patterns

### Pattern 1: Single Domain Work

For focused work in one area:

```
1. Development task (build feature)
2. QA task (test feature)
3. Finalization task (deployment/documentation)
```

**Example: Frontend Feature**
```
1. frontend-development → Build UI components
2. frontend-testing → Test components
3. aramb-metadata → Update configuration
```

**Example: Backend API**
```
1. backend-development → Build API endpoints
2. backend-testing → Test API
3. aramb-metadata → Update configuration
```

### Pattern 2: Multi-Domain Work

For fullstack features:

```
1. Backend development
2. Backend QA
3. Frontend development
4. Frontend QA
5. Integration testing
6. Finalization
```

### Pattern 3: Complex Multi-Phase Work

For large features with sub-components:

```
Parent: Build System
  ├── Sub 1: Database schema
  ├── Sub 2: API layer
  ├── Sub 3: Business logic
  └── Sub 4: Integration

QA: Test System
Finalization: Deploy
```

## Validation Criteria

Define success criteria for each task:

**Critical (MUST pass):**
- Code compiles/runs without errors
- Core functionality works
- No breaking changes
- Meets primary requirements

**Expected (SHOULD pass):**
- Code follows project patterns
- Error handling in place
- Security considerations addressed
- Performance acceptable

**Nice to have:**
- Optimizations
- Advanced features
- Documentation
- Monitoring/logging

## Task Inputs

Provide context for each task:

**Development tasks:**
- `requirements`: What to build
- `files_to_create`: New files needed
- `files_to_modify`: Existing files to change
- `patterns_to_follow`: Reference existing code
- `validation_criteria`: Success criteria

**QA tasks:**
- `critiques_tasks`: Task IDs being validated
- `original_prompt`: User's original request
- `preceding_task`: Info about what was built
- `user_expectations`: What should work
- `validation_criteria`: Testing requirements

**Finalization tasks:**
- `requirements`: What to finalize
- `project_path`: Where to work
- `validation_criteria`: Completion criteria

## Skill Discovery Examples

### For Frontend Work
```
search_skills(category="development", tag="frontend")
search_skills(category="testing", tag="frontend")
search_skills(tag="react")  # If React mentioned
```

### For Backend Work
```
search_skills(category="development", tag="backend")
search_skills(category="testing", tag="backend")
search_skills(tag="golang")  # If Go mentioned
```

### For Fullstack Work
```
search_skills(category="development", tag="frontend")
search_skills(category="development", tag="backend")
search_skills(category="testing", tag="frontend")
search_skills(category="testing", tag="backend")
```

### For Data Work
```
search_skills(category="data")
search_skills(tag="pipeline")
search_skills(tag="analytics")
```

### For DevOps Work
```
search_skills(category="deployment")
search_skills(tag="deployment")
search_skills(tag="docker")
```

## Task Creation Template

**REQUIRED FIELD NAMES** (use these EXACTLY - all snake_case):
- `unique_id` (integer) - Temporary ID for dependency references (1, 2, 3...)
- `task_name` (string) - Task name (3-255 characters)
- `skill_id` (string) - full_id from search results
- `description` (string) - Task description
- `task_order` (integer) - Execution order (1, 2, 3...)
- `logical_dependencies` (array of integers) - references other tasks' unique_id

```json
create_tasks_batch(tasks=[
  {
    "unique_id": 1,
    "skill_id": "<full_id_from_search>",
    "task_name": "Clear, actionable name",
    "description": "Detailed description of what to build",
    "task_order": 1,
    "inputs": {
      "requirements": "Specific requirements",
      "files_to_create": ["list", "of", "files"],
      "patterns_to_follow": "Reference patterns"
    },
    "validation_criteria": {
      "critical": ["Must pass items"],
      "expected": ["Should pass items"],
      "nice_to_have": ["Optional items"]
    },
    "timeout_seconds": 3600
  },
  {
    "unique_id": 2,
    "skill_id": "<qa_skill_full_id>",
    "task_name": "QA: Validate [Feature]",
    "description": "Test and validate implementation",
    "task_order": 2,
    "logical_dependencies": [1],
    "inputs": {
      "critiques_tasks": [1],
      "original_prompt": "User's request",
      "preceding_task": {
        "task_order": 1,
        "skill_id": "<dev_skill_id>",
        "task_name": "<dev_task_name>",
        "description": "<what_was_built>"
      },
      "user_expectations": ["What should work"]
    },
    "validation_criteria": {
      "critical": ["Tests pass", "Requirements validated"],
      "expected": ["Coverage adequate", "Edge cases tested"],
      "nice_to_have": ["High coverage"]
    },
    "timeout_seconds": 3600
  }
])
```

## Decision Framework

### Choose Standard Tasks When:
- Work is straightforward and sequential
- Requirements are clear
- Single domain (frontend OR backend)
- Small to medium complexity

### Choose Sub-tasks When:
- Complex multi-phase work
- Need checkpoints for progress
- Scope may change during execution
- Natural sequential phases exist

### Create Multiple Task Sequences When:
- Multiple independent domains (frontend AND backend)
- Work can be parallelized
- Different teams/skills involved

## Examples

### Example 1: Build Login Page

**Analysis:**
- Domain: Frontend
- Complexity: Simple
- Pattern: Standard

**Tasks:**
1. Development: Build login form component
2. QA: Test login functionality
3. Metadata: Update configuration

### Example 2: REST API with Database

**Analysis:**
- Domain: Backend
- Complexity: Medium
- Pattern: Standard

**Tasks:**
1. Development: Build API + database
2. QA: Test API endpoints
3. Metadata: Update configuration

### Example 3: Full E-commerce Feature

**Analysis:**
- Domain: Fullstack
- Complexity: High
- Pattern: Multiple sequences

**Tasks:**
1. Backend development: Product API
2. Backend QA: Test API
3. Frontend development: Product pages
4. Frontend QA: Test UI
5. Integration testing
6. Metadata: Update configuration

### Example 4: Data Pipeline

**Analysis:**
- Domain: Data
- Complexity: Medium
- Pattern: Standard

**Tasks:**
1. Development: Build ETL pipeline
2. QA: Validate data quality
3. Documentation: Document pipeline

## Deliverables Reference

For specific deliverables by domain, refer to specialized planners:

**Frontend deliverables** - See frontend-planner skill:
- UI components
- Pages and routing
- State management
- Styling and theming
- Client-side validation

**Backend deliverables** - See backend-planner skill:
- API endpoints
- Database schemas and migrations
- Business logic services
- Authentication/authorization
- Server-side validation

**General deliverables:**
- Configuration files
- Documentation
- Tests
- Deployment artifacts

## Output

Confirm task creation:

```
✓ Architecture designed
✓ Skills searched and found
✓ Tasks created via MCP

Task Summary:
- Task 1: [Name] using [skill]
- Task 2: [Name] using [skill]
- Task 3: [Name] using [skill]

Dependencies:
- Task 2 depends on Task 1
- Task 3 depends on Task 2

Next: Tasks will execute in order. Monitor progress.
```

## Best Practices

1. **Always explore first** - Understand before planning
2. **Search for skills** - Never hardcode skill names
3. **Use full_id** - From search results in task definitions
4. **Define validation** - Every task needs success criteria
5. **Set dependencies** - Ensure proper execution order
6. **Be specific** - Clear task names and descriptions
7. **Include context** - Provide patterns and references
8. **Think user goals** - Focus on what user wants to achieve

## When to Use This Planner

Use default-planner when:
- Work spans multiple domains
- Work type is unclear initially
- Need general-purpose planning
- Specialized planners don't fit

Use specialized planners when:
- Work is clearly frontend-only → frontend-planner
- Work is clearly backend-only → backend-planner
- Work fits a specific domain perfectly

## Common Patterns

**Web Application:**
1. Backend API → Backend QA → Frontend UI → Frontend QA → Integration → Metadata

**Microservice:**
1. Service Development → Testing → Docker/Deploy → Metadata

**Data Analysis:**
1. Data Pipeline → Validation → Visualization → Documentation

**Bug Fix:**
1. Investigation → Fix → Testing → Verification

**Refactoring:**
1. Analysis → Refactor → Testing → Validation

Related Skills

sw-tech-stack-planner

16
from diegosouzapw/awesome-omni-skill

Use when user wants a tech stack recommendation, technology choices, docker-compose setup, or architecture decisions for a software project – reads vision.md, user-stories.md, use-cases.md and generates requirements/tech-stack.yaml silently.

prd-planner

16
from diegosouzapw/awesome-omni-skill

Analyzes PRDs and creates beads task breakdown for multi-agent implementation

implementation-planner

16
from diegosouzapw/awesome-omni-skill

专业的软件架构师,根据用户需求和设计方案创建详细的实施(开发)计划。将设计方案转化为可执行的任务列表,支持测试驱动开发和渐进式实现。

architecture-planner

16
from diegosouzapw/awesome-omni-skill

Design component architecture and module structure using established architectural patterns for clean, maintainable, and scalable systems.

agent-code-goal-planner

16
from diegosouzapw/awesome-omni-skill

Agent skill for code-goal-planner - invoke with $agent-code-goal-planner

adhd-daily-planner

16
from diegosouzapw/awesome-omni-skill

Time-blind friendly planning, executive function support, and daily structure for ADHD brains. Specializes in realistic time estimation, dopamine-aware task design, and building systems that actually work for neurodivergent minds.

accessibility-by-default

16
from diegosouzapw/awesome-omni-skill

Treats accessibility as a baseline requirement, not a feature. WCAG 2.1/2.2 AA principles embedded into every decision.

Adaptive Daily Reflection & Planner

16
from diegosouzapw/awesome-omni-skill

An intelligent daily check-in assistant that adapts its depth based on user engagement. It collects key activities and emotions for daily summaries while extracting tasks for to-do list management.

molt-planner

16
from diegosouzapw/awesome-omni-skill

MoltPlanner is a Google Calendar integration skill enabling agents to collaborate with users for interactive event scheduling and management.

seo-content-planner

16
from diegosouzapw/awesome-omni-skill

Creates comprehensive content outlines and topic clusters for SEO. Plans content calendars and identifies topic gaps. Use PROACTIVELY for content strategy and planning.

wave-planner

16
from diegosouzapw/awesome-omni-skill

Transform project issues into execution-ready implementation plans with risk prediction, wave-based organization, specialist agents, and TDD workflow

planner

16
from diegosouzapw/awesome-omni-skill

Generate staged project plans from design through deployment. Use when planning App Platform projects, breaking complex deployments into resumable stages, or tracking multi-step infrastructure setup.