Use when you have a written implementation plan to execute in a separate session with review checkpoints
npx skills add aconture/skills-antigravity --skill "sdd-apply"
Install specific skill from multi-skill repository
# Description
>
# SKILL.md
name: sdd-apply
description: >
Implement tasks from the change, writing actual code following the specs and design.
Trigger: When the orchestrator launches you to implement one or more tasks from a change.
license: MIT
metadata:
author: AGCC took from gentleman-programming
version: "2.0"
Purpose
You are a sub-agent responsible for IMPLEMENTATION. You receive specific tasks from tasks.md and implement them by writing actual code. You follow the specs and design strictly.
What You Receive
From the orchestrator:
- Change name
- The specific task(s) to implement (e.g., "Phase 1, tasks 1.1-1.3")
- Artifact store mode (openspec | none)
Execution and Persistence Contract
Read and follow skills/_shared/persistence-contract.md for mode resolution rules.
- If mode is
openspec: Read and followskills/_shared/openspec-convention.md. Updatetasks.mdwith[x]marks. - If mode is
none: Return progress only. Do not update project artifacts.
What to Do
Step 1: Load Skill Registry
Do this FIRST, before any other work.
- Read
.atl/skill-registry.mdfrom the project root - If not exists: proceed without skills (not an error)
From the registry, identify and read any skills whose triggers match your task. Also read any project convention files listed in the registry.
Step 2: Read Context
Before writing ANY code:
1. Read the specs β understand WHAT the code must do
2. Read the design β understand HOW to structure the code
3. Read existing code in affected files β understand current patterns
4. Check the project's coding conventions from config.yaml
Step 3: Detect Implementation Mode
Before writing code, determine if the project uses TDD:
Detect TDD mode from (in priority order):
βββ openspec/config.yaml β rules.apply.tdd (true/false β highest priority)
βββ User's installed skills (e.g., tdd/SKILL.md exists)
βββ Existing test patterns in the codebase (test files alongside source)
βββ Default: standard mode (write code first, then verify)
IF TDD mode is detected β use Step 3a (TDD Workflow)
IF standard mode β use Step 3b (Standard Workflow)
Step 3a: Implement Tasks (TDD Workflow β RED β GREEN β REFACTOR)
When TDD is active, EVERY task follows this cycle:
FOR EACH TASK:
βββ 1. UNDERSTAND
β βββ Read the task description
β βββ Read relevant spec scenarios (these are your acceptance criteria)
β βββ Read the design decisions (these constrain your approach)
β βββ Read existing code and test patterns
β
βββ 2. RED β Write a failing test FIRST
β βββ Write test(s) that describe the expected behavior from the spec scenarios
β βββ Run tests β confirm they FAIL (this proves the test is meaningful)
β βββ If test passes immediately β the behavior already exists or the test is wrong
β
βββ 3. GREEN β Write the minimum code to pass
β βββ Implement ONLY what's needed to make the failing test(s) pass
β βββ Run tests β confirm they PASS
β βββ Do NOT add extra functionality beyond what the test requires
β
βββ 4. REFACTOR β Clean up without changing behavior
β βββ Improve code structure, naming, duplication
β βββ Run tests again β confirm they STILL PASS
β βββ Match project conventions and patterns
β
βββ 5. Mark task as complete [x] in tasks.md
βββ 6. Note any issues or deviations
Detect the test runner for execution:
Detect test runner from:
βββ openspec/config.yaml β rules.apply.test_command (highest priority)
βββ package.json β scripts.test
βββ pyproject.toml / pytest.ini β pytest
βββ Makefile β make test
βββ Fallback: report that tests couldn't be run automatically
Important: If any user coding skills are installed (e.g., tdd/SKILL.md, pytest/SKILL.md, vitest/SKILL.md), read and follow those skill patterns for writing tests.
Step 3b: Implement Tasks (Standard Workflow)
When TDD is not active:
FOR EACH TASK:
βββ Read the task description
βββ Read relevant spec scenarios (these are your acceptance criteria)
βββ Read the design decisions (these constrain your approach)
βββ Read existing code patterns (match the project's style)
βββ Write the code
βββ Mark task as complete [x] in tasks.md
βββ Note any issues or deviations
Step 4: Mark Tasks Complete
Update tasks.md β change - [ ] to - [x] for completed tasks:
## Phase 1: Foundation
- [x] 1.1 Create `internal/auth/middleware.go` with JWT validation
- [x] 1.2 Add `AuthConfig` struct to `internal/config/config.go`
- [ ] 1.3 Add auth routes to `internal/server/server.go` β still pending
Step 5: Persist Progress
This step is MANDATORY β do NOT skip it.
If mode is openspec: tasks.md was already updated in Step 4.
If you skip this step, sdd-verify will NOT be able to find your progress and the pipeline BREAKS.
Step 6: Return Summary
Return to the orchestrator:
## Implementation Progress
**Change**: {change-name}
**Mode**: {TDD | Standard}
### Completed Tasks
- [x] {task 1.1 description}
- [x] {task 1.2 description}
### Files Changed
| File | Action | What Was Done |
|------|--------|---------------|
| `path/to/file.ext` | Created | {brief description} |
| `path/to/other.ext` | Modified | {brief description} |
### Tests (TDD mode only)
| Task | Test File | RED (fail) | GREEN (pass) | REFACTOR |
|------|-----------|------------|--------------|----------|
| 1.1 | `path/to/test.ext` | β
Failed as expected | β
Passed | β
Clean |
| 1.2 | `path/to/test.ext` | β
Failed as expected | β
Passed | β
Clean |
{Omit this section if standard mode was used.}
### Deviations from Design
{List any places where the implementation deviated from design.md and why.
If none, say "None β implementation matches design."}
### Issues Found
{List any problems discovered during implementation.
If none, say "None."}
### Remaining Tasks
- [ ] {next task}
- [ ] {next task}
### Status
{N}/{total} tasks complete. {Ready for next batch / Ready for verify / Blocked by X}
Rules
- ALWAYS read specs before implementing β specs are your acceptance criteria
- ALWAYS follow the design decisions β don't freelance a different approach
- ALWAYS match existing code patterns and conventions in the project
- In
openspecmode, mark tasks complete intasks.mdAS you go, not at the end - If you discover the design is wrong or incomplete, NOTE IT in your return summary β don't silently deviate
- If a task is blocked by something unexpected, STOP and report back
- NEVER implement tasks that weren't assigned to you
- Skill loading is handled in Step 1 β follow any loaded skills strictly when writing code
- Apply any
rules.applyfromopenspec/config.yaml - If TDD mode is detected (Step 3), ALWAYS follow the RED β GREEN β REFACTOR cycle β never skip RED (writing the failing test first)
- When running tests during TDD, run ONLY the relevant test file/suite, not the entire test suite (for speed)
- Return a structured envelope with:
status,executive_summary,detailed_report(optional),artifacts,next_recommended, andrisks
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.