dot_config/opencode/skills/sdd-tasks/SKILL.md
Break down a change into an implementation task checklist. Trigger: When the orchestrator launches you to create or update the task breakdown for a change.
npx skillsauth add adacosdev/dotfiles sdd-tasksInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are a sub-agent responsible for creating the TASK BREAKDOWN. You take the proposal, specs, and design, then produce a tasks.md with concrete, actionable implementation steps organized by phase.
From the orchestrator:
engram | openspec | hybrid | none)Read and follow skills/_shared/persistence-contract.md for mode resolution rules.
If mode is engram:
Read dependencies (two-step — search returns truncated previews):
mem_search(query: "sdd/{change-name}/proposal", project: "{project}") → get IDmem_get_observation(id: {id}) → full proposal (REQUIRED)mem_search(query: "sdd/{change-name}/spec", project: "{project}") → get IDmem_get_observation(id: {id}) → full spec (REQUIRED)mem_search(query: "sdd/{change-name}/design", project: "{project}") → get IDmem_get_observation(id: {id}) → full design (REQUIRED)Save your artifact:
mem_save(
title: "sdd/{change-name}/tasks",
topic_key: "sdd/{change-name}/tasks",
type: "architecture",
project: "{project}",
content: "{your full tasks markdown}"
)
topic_key enables upserts — saving again updates, not duplicates.
(See skills/_shared/engram-convention.md for full naming conventions.)
If mode is openspec: Read and follow skills/_shared/openspec-convention.md.
If mode is hybrid: Follow BOTH conventions — persist to Engram AND write tasks.md to filesystem. Retrieve dependencies from Engram (primary) with filesystem fallback.
If mode is none: Return result only. Never create or modify project files.
Do this FIRST, before any other work.
mem_search(query: "skill-registry", project: "{project}") → if found, mem_get_observation(id) for the full registry.atl/skill-registry.md from the project rootFrom the registry, identify and read any skills whose triggers match your task. Also read any project convention files listed in the registry.
From the design document, identify:
IF mode is openspec or hybrid: Create the task file:
openspec/changes/{change-name}/
├── proposal.md
├── specs/
├── design.md
└── tasks.md ← You create this
IF mode is engram or none: Do NOT create any openspec/ directories or files. Compose the tasks content in memory — you will persist it in Step 4.
# Tasks: {Change Title}
## Phase 1: {Phase Name} (e.g., Infrastructure / Foundation)
- [ ] 1.1 {Concrete action — what file, what change}
- [ ] 1.2 {Concrete action}
- [ ] 1.3 {Concrete action}
## Phase 2: {Phase Name} (e.g., Core Implementation)
- [ ] 2.1 {Concrete action}
- [ ] 2.2 {Concrete action}
- [ ] 2.3 {Concrete action}
- [ ] 2.4 {Concrete action}
## Phase 3: {Phase Name} (e.g., Testing / Verification)
- [ ] 3.1 {Write tests for ...}
- [ ] 3.2 {Write tests for ...}
- [ ] 3.3 {Verify integration between ...}
## Phase 4: {Phase Name} (e.g., Cleanup / Documentation)
- [ ] 4.1 {Update docs/comments}
- [ ] 4.2 {Remove temporary code}
Each task MUST be:
| Criteria | Example ✅ | Anti-example ❌ |
|----------|-----------|----------------|
| Specific | "Create internal/auth/middleware.go with JWT validation" | "Add auth" |
| Actionable | "Add ValidateToken() method to AuthService" | "Handle tokens" |
| Verifiable | "Test: POST /login returns 401 without token" | "Make sure it works" |
| Small | One file or one logical unit of work | "Implement the feature" |
Phase 1: Foundation / Infrastructure
└─ New types, interfaces, database changes, config
└─ Things other tasks depend on
Phase 2: Core Implementation
└─ Main logic, business rules, core behavior
└─ The meat of the change
Phase 3: Integration / Wiring
└─ Connect components, routes, UI wiring
└─ Make everything work together
Phase 4: Testing
└─ Unit tests, integration tests, e2e tests
└─ Verify against spec scenarios
Phase 5: Cleanup (if needed)
└─ Documentation, remove dead code, polish
This step is MANDATORY — do NOT skip it.
If mode is engram:
mem_save(
title: "sdd/{change-name}/tasks",
topic_key: "sdd/{change-name}/tasks",
type: "architecture",
project: "{project}",
content: "{your full tasks markdown from Step 3}"
)
If mode is openspec or hybrid: the file was already written in Step 3.
If mode is hybrid: also call mem_save as above (write to BOTH backends).
If you skip this step, the next phase (sdd-apply) will NOT be able to find your tasks and the pipeline BREAKS.
Return to the orchestrator:
## Tasks Created
**Change**: {change-name}
**Location**: `openspec/changes/{change-name}/tasks.md` (openspec/hybrid) | Engram `sdd/{change-name}/tasks` (engram) | inline (none)
### Breakdown
| Phase | Tasks | Focus |
|-------|-------|-------|
| Phase 1 | {N} | {Phase name} |
| Phase 2 | {N} | {Phase name} |
| Phase 3 | {N} | {Phase name} |
| Total | {N} | |
### Implementation Order
{Brief description of the recommended order and why}
### Next Step
Ready for implementation (sdd-apply).
rules.tasks from openspec/config.yamlstatus, executive_summary, detailed_report (optional), artifacts, next_recommended, and risksdocumentation
Create or update the skill registry for the current project. Scans user skills and project conventions, writes .atl/skill-registry.md, and saves to engram if available. Trigger: When user says "update skills", "skill registry", "actualizar skills", "update registry", or after installing/removing skills.
documentation
Creates new AI agent skills following the Agent Skills spec. Trigger: When user asks to create a new skill, add agent instructions, or document patterns for AI.
testing
Validate that implementation matches specs, design, and tasks. Trigger: When the orchestrator launches you to verify a completed (or partially completed) change.
testing
Write specifications with requirements and scenarios (delta specs for changes). Trigger: When the orchestrator launches you to write or update specs for a change.