- Fix critical bugs: coder-agent name (CoderAgent→coder-agent), manifest path in session-start.sh, /oac:setup ghost command replaced with /install-context - Fix hooks.json: add timeout/async, add description, restore matcher - Fix session-start.sh: dual-format output (Claude Code + Cursor/OpenCode), remove invalid JSON escapes for $ and backtick - Fix agent spec compliance: disallowedTools on read-only agents, WebFetch on external-scout, haiku model on context-scout, example blocks on 3 agents - Fix skill descriptions: triggering conditions only (no workflow summaries) per superpowers empirical testing — prevents Claude shortcutting skill content - Add Red Flags + Rationalization tables to 4 discipline skills - Add install-context skill + command replacing oac-setup/oac-plan/oac-add-context - Add cleanup-tmp.sh (was missing, broke /oac:cleanup) - Add TypeScript installer (install-context.ts/js) with profile-based download - Update plugin.json: keywords, homepage for marketplace discoverability - Update README: correct skill count, fix structure diagram, remove stale refs - Remove obsolete files: FIRST-TIME-SETUP.md, INSTALL.md, QUICK-START.md, download-context.sh, verify-context.sh, load-config.sh, context-manager skill, oac-setup/oac-plan/oac-add-context commands
159 lines
4.4 KiB
Markdown
159 lines
4.4 KiB
Markdown
---
|
|
name: task-breakdown
|
|
description: Use when a feature touches 4 or more files, involves multiple components, or has subtasks that could run in parallel.
|
|
context: fork
|
|
agent: task-manager
|
|
---
|
|
|
|
# Task Breakdown
|
|
|
|
## Overview
|
|
Break down complex features into atomic, verifiable subtasks with dependency tracking. Each subtask gets its own JSON file with clear acceptance criteria and deliverables.
|
|
|
|
**Announce at start:** "I'm using the task-breakdown skill to create an execution plan for [feature]."
|
|
|
|
## The Process
|
|
|
|
### Step 1: Analyze Feature
|
|
|
|
Identify these elements:
|
|
- Core objective and scope
|
|
- Technical risks and dependencies
|
|
- Natural task boundaries
|
|
- Tasks that can run in parallel
|
|
|
|
### Step 2: Create Task Plan
|
|
|
|
Write `.tmp/tasks/{feature}/task.json`:
|
|
|
|
```json
|
|
{
|
|
"id": "jwt-auth",
|
|
"name": "JWT Authentication System",
|
|
"status": "active",
|
|
"objective": "Implement JWT-based authentication with refresh tokens",
|
|
"context_files": [
|
|
".opencode/context/core/standards/code-quality.md",
|
|
".opencode/context/core/standards/security-patterns.md"
|
|
],
|
|
"reference_files": [
|
|
"src/middleware/auth.middleware.ts"
|
|
],
|
|
"exit_criteria": [
|
|
"All tests passing",
|
|
"JWT tokens signed with RS256"
|
|
],
|
|
"subtask_count": 3,
|
|
"completed_count": 0,
|
|
"created_at": "2026-02-16T02:00:00Z"
|
|
}
|
|
```
|
|
|
|
**Rules:**
|
|
- Feature ID: kebab-case
|
|
- Objective: max 200 chars
|
|
- `context_files`: standards/conventions ONLY
|
|
- `reference_files`: project source files ONLY
|
|
- Exit criteria: binary pass/fail
|
|
|
|
### Step 3: Generate Subtasks
|
|
|
|
Write `.tmp/tasks/{feature}/subtask_01.json`, `subtask_02.json`, etc:
|
|
|
|
```json
|
|
{
|
|
"id": "jwt-auth-01",
|
|
"seq": "01",
|
|
"title": "Create JWT service with token generation",
|
|
"status": "pending",
|
|
"depends_on": [],
|
|
"parallel": true,
|
|
"suggested_agent": "CoderAgent",
|
|
"context_files": [
|
|
".opencode/context/core/standards/security-patterns.md"
|
|
],
|
|
"reference_files": [],
|
|
"acceptance_criteria": [
|
|
"JWT tokens signed with RS256 algorithm",
|
|
"Access tokens expire in 15 minutes"
|
|
],
|
|
"deliverables": [
|
|
"src/auth/jwt.service.ts",
|
|
"src/auth/jwt.service.test.ts"
|
|
]
|
|
}
|
|
```
|
|
|
|
**Rules:**
|
|
- Sequential numbering: 01, 02, 03...
|
|
- Atomic tasks: completable in 1-2 hours
|
|
- Dependencies: map via `depends_on` array
|
|
- Parallel tasks: set `parallel: true` for isolated work
|
|
- Agent assignment: CoderAgent, TestEngineer, CodeReviewer, OpenFrontendSpecialist
|
|
- Acceptance criteria: binary pass/fail only
|
|
- Deliverables: specific file paths or endpoints
|
|
|
|
### Step 4: Validate Structure
|
|
|
|
Verify:
|
|
- ✅ All JSON files valid
|
|
- ✅ Dependency references exist
|
|
- ✅ Context files separate from reference files
|
|
- ✅ Acceptance criteria are binary
|
|
- ✅ Deliverables are specific
|
|
|
|
### Step 5: Return Summary
|
|
|
|
```
|
|
## Tasks Created
|
|
|
|
Location: .tmp/tasks/jwt-auth/
|
|
Files: task.json + 3 subtasks
|
|
|
|
Subtasks:
|
|
- 01: Create JWT service (parallel: true, agent: CoderAgent)
|
|
- 02: Create password hashing util (parallel: true, agent: CoderAgent)
|
|
- 03: Integrate middleware (parallel: false, agent: CoderAgent)
|
|
|
|
Next Steps:
|
|
- Execute subtasks in dependency order
|
|
- Tasks 01 and 02 can run in parallel
|
|
- Task 03 depends on completion of 01 and 02
|
|
```
|
|
|
|
## Red Flags
|
|
|
|
If you think any of these, STOP and re-read this skill:
|
|
|
|
- "I can just implement it directly, it's not that complex"
|
|
- "The breakdown will take longer than just doing it"
|
|
- "I already know what needs to be done"
|
|
- "There's only really one task here"
|
|
|
|
## Common Rationalizations
|
|
|
|
| Excuse | Reality |
|
|
|--------|---------|
|
|
| "It's only 3-4 files, I don't need a breakdown" | 3-4 files = multiple subtasks with dependencies. Skipping tracking means losing progress on failure. |
|
|
| "I'll track it in my head" | Subagents don't share memory. JSON files are the only reliable state. |
|
|
| "The tasks are obvious, no need to document them" | Obvious tasks still need acceptance criteria. "Done" without binary criteria is not done. |
|
|
| "Parallel execution isn't worth it for this" | Parallel tasks cut execution time in half. The JSON overhead is 2 minutes. The time saving is 20+. |
|
|
|
|
## Remember
|
|
|
|
- Each subtask completable in 1-2 hours (atomic)
|
|
- `context_files` = standards ONLY, `reference_files` = source code ONLY
|
|
- Acceptance criteria must be binary (pass/fail)
|
|
- Mark isolated tasks as `parallel: true`
|
|
- Assign appropriate agent for each subtask
|
|
- Deliverables must be specific file paths
|
|
|
|
## Related
|
|
|
|
- context-discovery
|
|
- code-execution
|
|
- parallel-execution
|
|
|
|
---
|
|
|
|
**Task**: Break down this feature into atomic subtasks: **$ARGUMENTS**
|