Use Gitea milestones for goal tracking instead of vision issue

Refactored the vision system to separate concerns:
- vision.md remains the stable "north star" philosophy document
- Gitea milestones now track goals with automatic progress via issue counts
- Updated /vision, /retro, and /create-issue commands to auto-assign milestones

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-01 22:22:06 +01:00
parent 9e1ca55196
commit 28242d44cc
4 changed files with 167 additions and 138 deletions

View File

@@ -1,6 +1,6 @@
---
description: View, create, or update the product vision. Manages vision.md and syncs to Gitea.
argument-hint: [update|goals|focus]
description: View the product vision and goal progress. Manages vision.md and Gitea milestones.
argument-hint: [goals]
---
# Product Vision
@@ -8,65 +8,71 @@ argument-hint: [update|goals|focus]
@~/.claude/skills/vision-management/SKILL.md
@~/.claude/skills/gitea/SKILL.md
## 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 |
Issues are assigned to milestones. Progress is visible through milestone completion.
## Process
1. **Check for existing vision**: Look for `vision.md` in the current repo root.
2. **If no vision exists**:
- Ask the user if they want to create one
- Guide them through:
- Purpose: Why does this product exist?
- Goals: 3-5 measurable outcomes with success metrics
- Current focus: Which 1-2 goals are priorities now?
- Non-goals: What are you explicitly NOT doing?
- Create `vision.md` with the vision document structure
- Create a Gitea issue labeled `vision` with the same content
- Guide them through the philosophy: purpose, principles, non-goals
- Create `vision.md` (do NOT include goals/progress - that's milestones)
- Ask about initial goals and create them as Gitea milestones
3. **If vision exists**:
- Display the current vision
- Check if $1 specifies an action:
- `update`: General update to the vision
- `goals`: Add, modify, or complete goals
- `focus`: Change the current focus area
- If no action specified, ask what the user wants to do:
- View only (done)
- Update goals
- Change focus
- Update progress
- Add non-goals
- Make the requested changes
- Update `vision.md`
- Sync changes to the Gitea vision issue
- Display the vision philosophy from `vision.md`
- Show current milestones and their progress: `tea milestones`
- Check if `$1` specifies an action:
- `goals`: Manage milestones (add, close, view progress)
- If no action specified, just display the current state
4. **Sync to Gitea**:
- Find existing issue with `vision` label: `tea issues -l vision`
- If exists: Update the issue description
- If not: Create new issue with `vision` label
4. **Managing Goals (milestones)**:
```bash
# List milestones with progress
tea milestones
# Create a new goal
tea milestones create --title "<goal>" --description "<success criteria>"
# View issues in a milestone
tea milestones issues <milestone-name>
# Close a completed goal
tea milestones close <milestone-name>
```
## Output Format
When displaying the vision, show it clearly:
```
## Current Vision
## Vision
**Purpose**: [purpose]
[Summary of vision.md purpose/principles]
**Goals**:
1. [Goal] - [Metric] [Progress indicator]
2. [Goal] - [Metric] [Progress indicator]
## Goals (Milestones)
**Current Focus**: [focus area]
| Goal | Progress | Due |
|------|----------|-----|
| [title] | 3/5 issues | [date] |
**Non-Goals**: [list]
## Current Focus
**Last Updated**: [date]
[Open milestones with nearest due dates or most activity]
```
## Guidelines
- Keep goals specific and measurable
- Limit to 3-5 active goals
- Current focus should be 1-2 goals max
- Update "Last Updated" on every change
- Always sync to Gitea after changes
- vision.md is the stable "why" document - update rarely
- Milestones are the actionable goals - create/close as needed
- Assign issues to milestones to track progress
- Use milestone descriptions for success criteria
- Due dates on milestones are optional but help prioritization