Skip to content
All Skills

Project Breakdown & WBS Generator

Breaks any project into a Work Breakdown Structure with tasks, dependencies, time estimates, and a Mermaid Gantt chart. Researches best practices via Brave Search. Prerequisites: brave-search MCP, python3.

Productivity & Planning|v1|Updated 5/19/2026
MCP get_skill({ skillId: "project-breakdown-wbs-generator-a5f524da" })

Use this skill with your agent

Create a free account and connect via MCP

Get Started Free
# Project Breakdown & WBS Generator

Break any project into a Work Breakdown Structure with tasks, dependencies, estimates, and a visual Gantt chart.

## When to Use

- "Break down this project into tasks"
- "Create a project plan for {project}"
- "I need to plan a {project} — help me estimate timeline"

## Requirements

- **Brave Search MCP** for project methodology research
- **python3** for timeline calculations

## Workflow

### Step 1 — Project Definition

- **Project name**
- **Goal** (what success looks like)
- **Deadline** (hard or flexible)
- **Team size** (solo, small team, large team)
- **Constraints** (budget, dependencies, blockers)

### Step 2 — Research Best Practices

```
brave_web_search: "{PROJECT_TYPE} project plan breakdown tasks {YEAR}"
brave_web_search: "{PROJECT_TYPE} common pitfalls timeline estimation"
```

### Step 3 — Generate WBS

```markdown
# Project Plan: {PROJECT_NAME}
šŸŽÆ Goal: {GOAL}
šŸ“… Deadline: {DATE} | šŸ‘„ Team: {SIZE}

## Work Breakdown Structure

### Phase 1: {Phase Name} (Weeks 1-{N})
| # | Task | Owner | Est. Hours | Dependencies | Status |
|---|------|-------|-----------|--------------|--------|
| 1.1 | {Task} | {Who} | {N}h | None | [ ] |
| 1.2 | {Task} | {Who} | {N}h | 1.1 | [ ] |
| 1.3 | {Task} | {Who} | {N}h | 1.1 | [ ] |

### Phase 2: {Phase Name} (Weeks {N}-{M})
| # | Task | Owner | Est. Hours | Dependencies | Status |
|---|------|-------|-----------|--------------|--------|
| 2.1 | {Task} | {Who} | {N}h | 1.3 | [ ] |
| 2.2 | {Task} | {Who} | {N}h | 2.1 | [ ] |

### Phase 3: {Phase Name} (Weeks {M}-{End})
...

## Milestones
| Milestone | Target Date | Criteria |
|-----------|-------------|----------|
| {Milestone 1} | {Date} | {What proves it's done} |
| {Milestone 2} | {Date} | {Criteria} |
| šŸ Project Complete | {Date} | {Final criteria} |
```

### Step 4 — Calculate Timeline

```bash
python3 << 'PYEOF'
tasks = [
    {"id": "1.1", "name": "{Task}", "hours": 8, "deps": []},
    {"id": "1.2", "name": "{Task}", "hours": 16, "deps": ["1.1"]},
    {"id": "2.1", "name": "{Task}", "hours": 24, "deps": ["1.2"]},
]

hours_per_day = {HOURS_AVAILABLE}  # productive hours per day
total_hours = sum(t["hours"] for t in tasks)
work_days = total_hours / hours_per_day
buffer = work_days * 0.2  # 20% buffer

print(f"Total estimated hours: {total_hours}")
print(f"Work days needed: {work_days:.0f}")
print(f"With 20% buffer: {work_days + buffer:.0f} days")
print(f"Calendar weeks: {(work_days + buffer) / 5:.1f}")
PYEOF
```

### Step 5 — Gantt Chart

```mermaid
gantt
    title {PROJECT_NAME}
    dateFormat  YYYY-MM-DD
    section Phase 1
    {Task 1.1}  :a1, {START}, {DURATION}d
    {Task 1.2}  :a2, after a1, {DURATION}d
    section Phase 2
    {Task 2.1}  :b1, after a2, {DURATION}d
    section Milestones
    Milestone 1  :milestone, m1, after a2, 0d
    Project Complete  :milestone, m2, after b1, 0d
```

### Step 6 — Save Plan

```bash
mkdir -p outputs/productivity
cat > "outputs/productivity/project-{SLUG}-{DATE}.md" << 'EOF'
{PROJECT_PLAN}
EOF
```

## Important Rules

- Always add 20% buffer to estimates — plans always take longer
- Identify the critical path (longest chain of dependent tasks)
- Break tasks to max 8 hours — larger tasks need decomposition
- Include review/feedback cycles in the timeline
- Flag risks and blockers explicitly

## Example Prompts

- "Break down building a personal website into tasks with timeline"
- "Create a project plan for migrating our database"
- "I need to plan a product launch in 6 weeks — help me break it down"
#productivity#project-management#planning#brave-searchbrave-searchpython3