drafts
drafts
A draft is architectural design, not implementation. Like a house blueprint: shows structure, not how to hammer nails.
What a Draft IS
- Architecture overview - high-level design decisions
- Key components - what pieces exist and how they connect
- Critical constraints - important limitations or requirements
- Code snippets - only to illustrate architecture, not full implementations
What a Draft is NOT
- ❌ Full implementations
- ❌ Complete code listings
- ❌ Step-by-step tutorials
- ❌ Every edge case documented
- ❌ Multiple pages of example code
Structure
# [Name]
[1-2 sentence overview of what this solves]
> Note: This is a first draft to organize initial ideas before creating a formal OpenSpec proposal.
## Architecture
[2-3 sentences on approach]
## Components
- Component A: [one line]
- Component B: [one line]
## Key Decisions
- Why X not Y
- Critical constraint
## Implementation Notes
- Go: [specific approach/library]
- Swift: [specific approach/library]
Guidelines
- Be ruthlessly concise - every word must earn its place
- Architecture, not implementation - show WHAT and WHY, not HOW
- Group related ideas - put connected concepts together
- Remove disconnects - cut what doesn't connect to the goal
- Adapt to context - refactor looks different than new feature
- Don't expand - organize what's there, don't add new ideas
Workflow
CRITICAL: After entering draft mode and creating the draft:
- Write draft to the designated draft file
- Immediately transition to plan mode using
EnterPlanMode - Make NO edits to any code files - only the draft file should be modified
- Let plan mode handle implementation planning after draft is complete
Location
- If current dir has a openspec/ dir create in current dir
.agents/drafts - If not openspec create at the root of the git repo in
.agents/drafts - User can say where to create
More from yurifrl/cly
charm-stack
Build terminal UIs with Bubbletea v2, Bubbles v2, Lipgloss v2, and Huh v2. Use when creating TUI applications, interactive forms, styled terminal output, or when user mentions Bubbletea, Bubbles, Lipgloss, Huh, Charm, or TUI development.
55cobra-modularity
Build modular CLI applications with Cobra framework. Use when structuring CLI commands, implementing modular command architecture, handling flags and arguments, or when user mentions Cobra, CLI modularity, command registration, or spf13/cobra.
15go-specialist
Go language consultant providing guidance on best practices, testing with testify, concurrency patterns, error handling, and technology stack recommendations. Use when answering Go questions, reviewing Go code, or advising on Go implementation approaches.
13cli-config
Manage CLI application configuration with Cobra and Viper. Use when implementing config files, environment variables, flags binding, or when user mentions Viper, configuration management, config files, or CLI settings.
10testing
Write tests using TDD principles with integration tests as default and minimal mocking. Use when writing code, fixing bugs, or when user mentions tests, TDD, unit tests, integration tests, or testing strategy.
5find-skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
2