The vision system now guides defining WHO we build for and WHAT they're trying to achieve before jumping into goals and issues. Updated vision-management skill: - New vision.md structure with Personas and Jobs to Be Done sections - Guidance for defining good personas (specific, characterized, limited) - Guidance for jobs to be done (outcome-focused, in their voice, pain-aware) - Milestones now tied to personas and jobs with structured descriptions - Issue alignment checks persona/job fit before milestone fit Updated vision command: - Guides through persona and JTBD definition when creating vision - Output format shows personas and jobs prominently - Guidelines emphasize traceability to personas Updated plan-issues command: - Identifies persona and job before breaking down work - Plan presentation includes For/Job/Supports context - Flags misalignment with persona/job, not just goals 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
6.9 KiB
name, description
| name | description |
|---|---|
| vision-management | Create, maintain, and evolve a product vision. Use when initializing a vision, updating goals, aligning work with vision, or connecting learnings to vision refinement. |
Vision Management
How to create, maintain, and evolve a product vision for continuous improvement.
Architecture
The vision system has two layers:
| Layer | Purpose | Location |
|---|---|---|
| vision.md | North star philosophy (why, principles, non-goals) | File in repo root |
| Milestones | Goals with progress tracking | Gitea milestones |
- vision.md is stable - updated rarely when direction changes
- Milestones are actionable - created/closed as goals evolve
- Issues are assigned to milestones to track progress
Vision Document Structure
The vision.md file should contain the stable "why" and "who" - not progress tracking:
# Vision
## Who We Serve (Personas)
The people we're building for and what characterizes them.
- **Persona Name**: Brief description of who they are, their context, constraints
## What They're Trying to Achieve (Jobs to Be Done)
The outcomes our personas are trying to accomplish - in their words.
- "Help me [achieve outcome] without [pain point]"
- "Help me [do thing] so I can [benefit]"
## The Problem
Current pain points that prevent our personas from achieving their jobs.
## The Solution
How this product addresses the jobs to be done.
## Guiding Principles
Core beliefs that guide decisions.
## Non-Goals
What we're explicitly NOT doing (and why).
Do NOT include goals, progress, or focus in vision.md - that's what milestones are for.
Defining Personas
Good personas are:
- Specific: Not "developers" but "solo developers shipping MVPs"
- Characterized: Include constraints, context, priorities
- Limited: 2-4 personas max, or you're building for everyone (no one)
| Bad | Good |
|---|---|
| "Users" | "Solo developer shipping side projects on evenings/weekends" |
| "Developers" | "Small team lead coordinating 2-5 engineers" |
| "Companies" | "Early-stage startup with no dedicated DevOps" |
Defining Jobs to Be Done
Jobs should be:
- Outcome-focused: What they want to achieve, not what they do
- In their voice: How they'd describe it, not technical jargon
- Pain-aware: Include what's hard about it today
Format: "Help me [outcome] without [pain]" or "Help me [action] so I can [benefit]"
| Bad | Good |
|---|---|
| "Git integration" | "Help me commit and push without remembering git commands" |
| "Issue tracking" | "Help me know what to work on next without checking 5 tools" |
| "Code review" | "Help me catch bugs before they ship without slowing down" |
Creating a Vision
When no vision exists:
- Define personas: Who are we building for? (2-4 specific personas)
- Identify jobs to be done: What are they trying to achieve?
- Articulate the problem: What pain points prevent them from achieving their jobs?
- Define the solution: How does the product address these jobs?
- Set guiding principles: What beliefs guide decisions?
- Document non-goals: What are you explicitly NOT doing?
- Create initial milestones: 3-5 measurable goals tied to personas/jobs
Good Goals (Milestones)
- Specific and measurable
- Tied to a persona and job to be done
- Outcome-focused (not activity-focused)
- Have clear success criteria in the description
| Bad | Good |
|---|---|
| "Improve performance" | "Page load under 2 seconds" |
| "Better UX" | "User can complete checkout in under 60 seconds" |
| "More features" | "Support 3 export formats (CSV, JSON, PDF)" |
Tying Milestones to Personas
Each milestone should clearly serve a persona's job to be done:
Milestone: "Automate routine git workflows"
For: Solo developer
Job: "Help me commit and push without remembering git commands"
Success: /commit, /pr commands handle 80% of git workflows
Include persona context in milestone descriptions:
tea milestones create --title "Automate routine git workflows" \
--description "For: Solo developer
Job: Ship without context switching to git commands
Success: /commit and /pr commands handle 80% of workflows"
Managing Goals with Milestones
# List milestones with progress
tea milestones
tea milestones -f title,items_open,items_closed,state
# Create a new goal
tea milestones create --title "Automate repetitive workflows" \
--description "Success: 80% of routine tasks handled by slash commands"
# View issues in a milestone
tea milestones issues "Automate repetitive workflows"
# Close a completed goal
tea milestones close "Automate repetitive workflows"
Assigning Issues to Milestones
When creating issues, assign them to the relevant milestone:
tea issues create --title "Add /commit command" \
--description "..." \
--milestone "Automate repetitive workflows"
Progress is automatically tracked through open/closed issue counts.
Aligning Issues with Vision
When creating or reviewing issues:
- Check persona alignment: Which persona does this serve?
- Check job alignment: Which job to be done does this enable?
- Check goal alignment: Does this issue support a milestone?
- Assign to milestone: Link the issue to the relevant goal
- Prioritize by focus: Issues in priority milestones get worked first
- Flag misalignment: Issues without clear persona/milestone need justification
Every issue should trace back to: "This helps [persona] achieve [job] by [outcome]."
Identifying Gaps
Compare vision to current work:
- Underserved personas: Which personas have few milestones/issues?
- Unaddressed jobs: Which jobs to be done have no work toward them?
- Empty milestones: Which milestones have no issues?
- Stalled milestones: Which milestones have no recent progress?
- Orphan issues: Are there issues without a milestone?
Connecting Retros to Vision
After a retrospective:
- Review learnings: Any that affect the vision or goals?
- Milestone changes: Should any goals be added, closed, or modified?
- Non-goal additions: Did we learn something to add to vision.md?
- Progress check: Did completed work close any milestones?
Retro-to-Vision Questions
- "Did this work reveal a new goal we should add as a milestone?"
- "Did we learn something that should become a non-goal in vision.md?"
- "Should we close or modify any milestones based on what we learned?"
- "Are any milestones ready to close?"
Continuous Improvement Loop
Vision → Milestones → Issues → Work → Retro → (Vision/Milestones updated)
- Vision defines why and principles (stable)
- Milestones define measurable goals
- Issues are work items toward those goals
- Work implements the issues
- Retros capture learnings
- Updates refine vision and create/close milestones
The vision is stable. The milestones evolve as you learn and achieve goals.