atomic-tasks
Atomic Tasks Skill
This skill provides patterns for creating well-structured, atomic tasks that follow the principle: One task = One commit = One thing.
Core Principles
Atomicity
Each task should be:
- Self-contained: Completes a single logical unit of work
- Independently verifiable: Can be tested/verified in isolation
- Safely committable: Results in a working codebase if committed alone
- Rollback-friendly: Can be reverted without breaking other tasks
Task Properties
| Property | Purpose | Required |
|---|---|---|
id |
Unique identifier (TASK-XXX) | Yes |
status |
Current state (pending/in_progress/completed/blocked) | Yes |
name |
Short descriptive name | Yes |
description |
What this task accomplishes | Yes |
depends |
Task IDs this depends on | No |
files |
Files to create/modify | Yes |
actions |
Specific steps to take | Yes |
verify |
How to verify completion | Yes |
done |
Completion criteria | Yes |
commit |
Conventional commit message | Yes |
Task Sizing Guidelines
Too Large (Split It)
- Touches more than 5 files
- Has more than 5 actions
- Takes more than 30 minutes
- Multiple logical concerns mixed together
- Commit message needs "and" multiple times
Too Small (Combine It)
- Only renames a variable
- Single-line change with no logic
- Cannot be meaningfully verified
- Would create noise in git history
Just Right
- 1-3 files modified typically
- 2-5 clear actions
- Single responsibility
- Clear verification steps
- Concise commit message
Task Status Flow
pending ─── in_progress ─── completed
│ │
│ └── blocked (external dependency)
│
└── skipped (no longer needed)
Dependency Management
Dependency Types
- Code Dependency: Task B needs code from Task A
- Schema Dependency: Task B needs database changes from Task A
- Config Dependency: Task B needs configuration from Task A
- Knowledge Dependency: Task B needs information gathered in Task A
Dependency Rules
- No circular dependencies allowed
- Minimize dependency chains (prefer parallelizable tasks)
- Document why dependency exists
- Re-evaluate if blocked task is taking too long
Verification Patterns
Automated Verification
<verify>
<step>npm test -- [test-pattern]</step>
<step>npm run build</step>
<step>npm run lint -- [file]</step>
</verify>
Manual Verification
<verify>
<step>Visually confirm [UI element] appears</step>
<step>Manual test: [test scenario]</step>
</verify>
Combined Verification
<verify>
<step>npm test -- auth</step>
<step>Manual: Login with test credentials</step>
<step>Check logs for errors</step>
</verify>
Done Criteria Patterns
Feature Tasks
<done>
<criterion>Feature is accessible via [entry point]</criterion>
<criterion>Tests cover happy path and error cases</criterion>
<criterion>No new lint warnings introduced</criterion>
</done>
Bug Fix Tasks
<done>
<criterion>Original issue no longer reproduces</criterion>
<criterion>Regression test added</criterion>
<criterion>Related functionality still works</criterion>
</done>
Refactor Tasks
<done>
<criterion>All existing tests still pass</criterion>
<criterion>No functional changes detected</criterion>
<criterion>[Quality metric] improved</criterion>
</done>
Commit Message Convention
Follow Conventional Commits:
<type>(<scope>): <description>
[optional body]
[optional footer]
Types
| Type | Use For |
|---|---|
feat |
New feature |
fix |
Bug fix |
refactor |
Code restructuring |
test |
Adding/updating tests |
docs |
Documentation only |
chore |
Maintenance tasks |
style |
Formatting changes |
perf |
Performance improvements |
Examples
feat(auth): add login endpoint
fix(cart): prevent negative quantities
refactor(api): extract validation middleware
test(user): add registration edge cases
Task Decomposition Process
- Start with the goal: What is the end result?
- Identify major components: What distinct pieces are needed?
- Check for dependencies: What order must they happen in?
- Size each component: Is each one atomic?
- Split if needed: Break large components down
- Define verification: How will we know each is done?
- Write commit messages: Force clarity of purpose
Anti-Patterns to Avoid
The Kitchen Sink
<!-- BAD: Too many unrelated changes -->
<task id="TASK-001">
<name>Add auth and update styling and fix bugs</name>
...
</task>
The Invisible Task
<!-- BAD: No way to verify -->
<task id="TASK-001">
<name>Improve code quality</name>
<verify></verify>
</task>
The Dependency Chain
<!-- BAD: Long sequential chain -->
TASK-001 → TASK-002 → TASK-003 → TASK-004 → TASK-005
The Vague Action
<!-- BAD: Not actionable -->
<actions>
<action>Make it better</action>
<action>Fix the thing</action>
</actions>
Integration with Workflow
PLAN Phase
- Create all tasks using XML format
- Verify cross-plan consistency
- Establish execution order
EXECUTE Phase
- Process one task at a time
- Mark status transitions
- Run verification after each
- Commit on success
VERIFY Phase
- Review all completed tasks
- Run integration verification
- Confirm done criteria met
See xml-format.md for complete XML schema reference.
More from doubleslashse/claude-marketplace
requirements-clarification
Requirements clarification for TDD. Use BEFORE RED phase to understand WHAT to test. Asks targeted questions to uncover ambiguities, edge cases, and acceptance criteria.
26srs-documentation
Software Requirements Specification documentation following IEEE 830 standard. Use when generating formal SRS documents or compiling gathered requirements into structured documentation.
16brainstorming
Brainstorming techniques for idea generation. Use when facilitating brainstorming sessions, leading ideation exercises, or helping teams generate creative solutions.
14clean-code
Clean code principles including DRY, KISS, and YAGNI for .NET. Use when writing or reviewing code to ensure maintainability and simplicity.
11design-thinking
Design thinking methodology for human-centered problem solving. Use when facilitating design thinking workshops, user research sessions, or creative problem-solving activities.
10codebase-analysis
Techniques for analyzing existing codebases to reverse-engineer requirements and understand business logic. Use when conducting brownfield analysis or understanding existing system capabilities.
10