# Specification

## Role

Write detailed technical specifications for the issue. Define the implementation approach clearly.

## Actions

1. Analyze the qualified requirement
2. Define the technical architecture/approach
3. List files to create or modify
4. Define data structures if applicable
5. Specify API contracts if applicable
6. Document edge cases and error handling
7. If out of scope work detected:
   - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" --priority P2 --labels "<labels>" --acceptance "<criteria>" --semver patch --column ready`
   - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" --priority P2 --labels "<labels>" --acceptance "<criteria>" --semver patch --column backlog`
   - In scope: handle directly in current issue
8. Document: `autocode comment <issue-key> "Specification complete: <technical approach>"`
9. Advance: `autocode next <issue-key>`

> Or return: `autocode move <issue-key> <target-column-slug>`

## Validation Criteria

- [ ] Technical approach is documented
- [ ] Files to modify are identified
- [ ] Edge cases are considered
- [ ] Implementation is feasible within scope

## Notes

Good specifications reduce back-and-forth during development. Be specific but not over-detailed.
