---
name: Managing Specifications
description: Create, manage, and track specifications through their full lifecycle from draft to completion. Use when user wants to plan features, create specs, check progress, activate work, or complete specifications.
allowed-tools: [Write, Read, Edit, Bash, Glob, Grep]
---

# Managing Specifications

I help you work with specifications: creating new specs from requirements, managing their lifecycle (draft → active → completed), and tracking progress automatically.

## When to Use Me

**Creating specifications:**
- User describes a feature: "I want to add user authentication"
- User wants to plan: "Create a spec for...", "Plan a feature"
- User has requirements: "Write a specification for..."

**Managing specifications:**
- User asks about status: "What specs are active?", "Show spec progress"
- User wants to activate: "Start working on spec-feature-001"
- User wants to complete: "Mark spec-feature-001 as done"
- User checks progress: "How's the authentication feature going?"

## Quick Start

**New to specs?** Just describe what you want to build:
```
"I want to add email notifications when orders are placed"
```

I'll ask a few questions, then create a complete specification for you.

**Have specs already?** Tell me what you need:
```
"Show me my active specs"
"Activate spec-feature-003"
"What's the progress on spec-auth-001?"
```

## How I Work

I detect what you need and adapt automatically:

### Mode 1: Creating Specifications

When you describe a feature or ask me to create a spec, I:
1. Ask clarifying questions (if needed)
2. Generate a unique spec ID (e.g., `spec-feature-001`)
3. Create `.quaestor/specs/draft/[spec-id].md`
4. Report next steps

**See @WRITING.md for the complete specification template and writing process**

### Mode 2: Managing Lifecycle

When you ask about spec status or want to move specs, I:
1. Check current state (scan all folders)
2. Perform the requested action (activate, complete, show status)
3. Update spec metadata automatically
4. Report changes

**See @LIFECYCLE.md for folder-based lifecycle management and progress tracking**

## The 3-Folder System

Specifications live in folders that represent their state:

```
.quaestor/specs/
├── draft/              # New specs (unlimited)
├── active/             # Work in progress (MAX 3)
└── completed/          # Finished work (archived)
```

**The folder IS the state** - no complex tracking needed!

**Why max 3 active?** Forces focus on finishing work before starting new features.

## Progressive Workflows

I provide just enough information for your current task, with details available when needed:

### Creating Your First Spec

**Minimal workflow** (I guide you):
```
You: "Add user authentication"
Me: I'll ask 3-5 questions
Me: Create spec-feature-001.md in draft/
```

### Managing Existing Specs

**Common operations**:
- `"Show active specs"` → List with progress bars
- `"Activate spec-feature-003"` → Move draft/ → active/
- `"Complete spec-auth-001"` → Move active/ → completed/

### Deep Dive Available

When you need more details:
- **@WRITING.md** - Complete template, field descriptions, examples
- **@LIFECYCLE.md** - All lifecycle operations, validation rules, batch operations
- **@TEMPLATE.md** - Field-by-field guide to spec structure

## Key Features

### Smart Spec Creation
✅ Auto-generate unique IDs
✅ Forgiving template (auto-corrects common mistakes)
✅ No placeholders - only real values
✅ Rich metadata (priority, type, timestamps)

### Automatic Lifecycle Management
✅ Folder-based states (simple and visual)
✅ 3-active-spec limit (enforced automatically)
✅ Progress calculation from checkboxes
✅ Metadata updates on state changes

### Progress Tracking
✅ Parse checkbox completion: `- [x]` vs `- [ ]`
✅ Calculate percentage: 4/5 complete = 80%
✅ Visual progress bars
✅ Branch linking support

## Success Criteria

**Creating specs:**
- ✅ Spec has unique ID and proper frontmatter
- ✅ All fields have actual values (no placeholders)
- ✅ Acceptance criteria defined with checkboxes
- ✅ Saved to `.quaestor/specs/draft/[spec-id].md`

**Managing specs:**
- ✅ State transitions work correctly (draft → active → completed)
- ✅ 3-active limit enforced
- ✅ Progress calculated accurately from checkboxes
- ✅ Metadata updates automatically

## Next Steps After Using This Skill

Once you have specifications:
1. **Activate a spec**: "Activate spec-feature-001"
2. **Implement it**: Use `/impl spec-feature-001` or implementing-features skill
3. **Track progress**: "What's the status?" or "Show active specs"
4. **Complete it**: "Complete spec-feature-001" when all criteria checked
5. **Ship it**: Use reviewing-and-shipping skill to create PR

---

*I handle both creation and management of specifications. Just tell me what you need - I'll detect the mode and guide you through it with minimal upfront context.*
