Writes precise, autonomous-execution-ready tasks using the SMART+ framework (Specific, Measurable, Actionable, Referenced, Testable, +Context)...
Transform vague task descriptions into precise, autonomous-execution-ready specifications:
ā BEFORE (vague):
- [ ] Add error handling
ā
AFTER (precise):
- [ ] Task 1: Add ConnectionError and TimeoutError handling to ClaudeAgentClient.query()
- Retry 3 times with exponential backoff (1s, 2s, 4s)
- Raise AgentConnectionError after retries exhausted
- Location: src/temet_run/agent/client.py:ClaudeAgentClient.query
- Verify: pytest tests/unit/agent/test_client.py passes
Explicit Triggers:
Implicit Triggers:
Debugging/Quality Scenarios:
This skill transforms vague task descriptions into precise, autonomous-execution-ready specifications by:
Every task MUST include these components:
| Component | Description | Example |
|---|---|---|
| Specific | What exactly to do | "Add retry logic to ClaudeAgentClient.query()" not "Add retry logic" |
| Measurable | How to verify completion | "Tests pass, mypy clean" |
| Actionable | Clear first step | "Create file src/temet_run/agent/retry.py" |
| Referenced | File paths, functions, classes | "in agent/client.py:ClaudeAgentClient" |
| Testable | Success criteria | "3 retries with exponential backoff, circuit breaker after 5 failures" |
| +Context | Why this matters (optional) | "Needed for ADR-016 conversation persistence" |
- [ ] Task N: [ACTION VERB] [SPECIFIC TARGET] [SUCCESS CRITERIA]
Location: [file paths or module names]
Verify: [how to confirm completion]
Complete Example:
- [ ] Task 1: Add ConversationError exception hierarchy to agent/errors.py
- Create: ConversationError(base), MessageError, StateError
- Location: src/temet_run/agent/errors.py
- Verify: mypy passes, errors importable from temet_run.agent
Before writing a task, verify it answers ALL these questions:
pytest path, mypy src/, uv run temet-run ...NEVER write tasks containing these vague phrases:
| ā Forbidden Pattern | ā Precise Alternative |
|---|---|
| "Implement the feature" | "Implement X method in Y class with Z behavior" |
| "Add tests" | "Add unit tests for X covering cases A, B, C" |
| "Fix the bug" | "Fix TypeError in X:line Y caused by Z" |
| "Update the code" | "Update X function to accept Y parameter" |
| "Handle errors" | "Add try/except for ConnectionError in X, retry 3 times" |
| "Refactor" | "Extract X logic from Y into new Z class" |
| "Improve performance" | "Reduce X function runtime from 500ms to <100ms by caching Y" |
| "Add logging" | "Add structlog info-level logging to X function for events A, B, C" |
| "Document the code" | "Add Google-style docstring to X function with Args, Returns, Raises" |
Large tasks MUST be broken down:
Decomposition Example:
## Feature: Add conversation history command
- [ ] Task 1: Create ConversationRepository protocol
Location: src/temet_run/domain/repositories.py
Verify: mypy passes
- [ ] Task 2: Implement JsonlConversationRepository
Location: src/temet_run/infrastructure/repositories/conversation.py
Verify: Unit tests pass (create tests/unit/infrastructure/test_conversation_repo.py)
- [ ] Task 3: Add `history` subcommand to CLI
Location: src/temet_run/main.py (add to agents group)
Verify: `uv run temet-run agents history --help` shows usage
- [ ] Task 4: Integration test for history command
Location: tests/integration/test_cli_history.py
Verify: pytest tests/integration/test_cli_history.py passes
See examples/transformation-examples.md for comprehensive examples covering:
Inline Example:
ā VAGUE:
- [ ] Add error handling to the client
ā
PRECISE:
- [ ] Add ConnectionError and TimeoutError handling to ClaudeAgentClient.query()
- Retry 3 times with exponential backoff (1s, 2s, 4s)
- Raise AgentConnectionError after retries exhausted
- Location: src/temet_run/agent/client.py:ClaudeAgentClient.query
- Verify: pytest tests/unit/agent/test_client.py passes
To validate a task for precision:
Validation Script (if available):
python ~/.claude/skills/write-atomic-tasks/scripts/validate_task.py "task description"
Manual Validation Output:
Task: "Add error handling to the client"
ā FAILED Precision Check:
- Missing: Specific file path
- Missing: Function/class name
- Missing: Verification command
- Vague pattern: "Add error handling" (see Section 6)
Suggested rewrite:
- [ ] Add ConnectionError handling to ClaudeAgentClient.query()
Location: src/temet_run/agent/client.py:ClaudeAgentClient.query
Verify: pytest tests/unit/agent/test_client.py passes
When tasks are written with this skill:
ā Agents can execute autonomously - No clarifying questions needed ā Clear verification - Unambiguous success/failure determination ā Predictable effort - Tasks complete in <30 minutes ā Reduced rework - Fewer interpretation errors ā Better planning - Accurate time estimates from precise scoping
| Metric | Before (Vague Tasks) | After (Precise Tasks) |
|---|---|---|
| Clarifying questions per task | 2-5 questions | 0 questions |
| Task completion time variance | ±200% | ±20% |
| Rework due to misunderstanding | 30% of tasks | <5% of tasks |
| Autonomous execution success | 40% | 95% |
| Time spent planning vs doing | 20/80 | 40/60 |
Knowledge:
Tools:
Environment:
Red Flags Checklist:
Common Mistakes: