Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Track progress toward 3-year, yearly, monthly, and weekly goals. Calculate completion percentages, surface stalled goals, connect daily tasks to objectives. Use for goal reviews and progress tracking.
.claude/skills/ballred-goal-tracking/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 35% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 30% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 81% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 62% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 24% | 0% |
Track and manage the cascading goal system from long-term vision to daily tasks.
Goals/0. Three Year Goals.md <- Vision (Life areas)
↓
Goals/1. Yearly Goals.md <- Annual objectives
↓
Projects/*/CLAUDE.md <- Active projects (bridge layer)
↓
Goals/2. Monthly Goals.md <- Current month focus
↓
Goals/3. Weekly Review.md <- Weekly planning
↓
Daily Notes/*.md <- Daily tasks and actionsmarkdown## Life Areas - Career: [Vision statement] - Health: [Vision statement] - Relationships: [Vision statement] - Financial: [Vision statement] - Learning: [Vision statement] - Personal: [Vision statement]
markdown## 2024 Goals - [ ] Goal 1 (XX% complete) - [ ] Goal 2 (XX% complete) - [x] Goal 3 (100% complete)
markdown## This Month's Focus 1. **Primary:** [Main focus] 2. **Secondary:** [Supporting goal] 3. **Stretch:** [If time permits] ### Key Results - [ ] Measurable outcome 1 - [ ] Measurable outcome 2
Progress = (Completed checkboxes / Total checkboxes) * 100Progress = (Current value / Target value) * 100Progress = (Days elapsed / Total days) * 100When adding tasks to daily notes:
Supports: [[1. Yearly Goals#Goal Name]]When calculating goal progress, include project data:
Projects/*/CLAUDE.md for all active projectsFlag goals that have no active project supporting them:
/project new)markdown## Goal Progress Report ### Overall: XX% ### By Goal | Goal | Progress | Projects | Last Activity | Status | |------|----------|----------|---------------|--------| | Goal 1 | 75% | [[ProjectA]] (80%), [[ProjectB]] (60%) | 2 days ago | On Track | | Goal 2 | 30% | (none) | 14 days ago | Stalled | ### Project Status | Project | Goal | Progress | Phase | |---------|------|----------|-------| | [[ProjectA]] | Goal 1 | 80% | Active | | [[ProjectB]] | Goal 1 | 60% | Active | ### Orphan Goals (no active project) - Goal 2 — Consider `/project new` to create a supporting project ### This Week's Contributions - [Task] -> [[Goal 1]] via [[ProjectA]] - [Task] -> [[Goal 2]] ### Recommended Focus 1. [Stalled goal needs attention] 2. [Nearly complete goal - finish it] 3. [Orphan goal needs a project]
The goal tracking skill uses session tasks when generating comprehensive progress reports.
Create tasks at skill start:
TaskCreate:
subject: "Read three-year goals"
description: "Load vision statements from Goals/0. Three Year Goals.md"
activeForm: "Reading three-year goals..."
TaskCreate:
subject: "Read yearly goals"
description: "Load annual objectives from Goals/1. Yearly Goals.md"
activeForm: "Reading yearly goals..."
TaskCreate:
subject: "Read monthly goals"
description: "Load current month focus from Goals/2. Monthly Goals.md"
activeForm: "Reading monthly goals..."
TaskCreate:
subject: "Scan recent daily notes"
description: "Find task completions and goal contributions from past week"
activeForm: "Scanning recent daily notes..."
TaskCreate:
subject: "Calculate completion percentages"
description: "Compute progress for each goal based on checkboxes and metrics"
activeForm: "Calculating completion percentages..."
TaskCreate:
subject: "Identify stalled goals"
description: "Flag goals with no progress in 14+ days"
activeForm: "Identifying stalled goals..."Goal file reads can run in parallel, but analysis depends on having all data:
TaskUpdate: "Scan recent daily notes", addBlockedBy: [read-monthly-goals-id]
TaskUpdate: "Calculate completion percentages", addBlockedBy: [scan-recent-daily-notes-id]
TaskUpdate: "Identify stalled goals", addBlockedBy: [calculate-completion-percentages-id]Mark each task in_progress when starting, completed when done using TaskUpdate.
Task tools are session-scoped and don't persist—your actual goal progress is tracked through markdown checkboxes and percentages in your goal files.
/weekly review: Full progress assessment with project rollup/daily planning: Surface relevant goals and project next-actions/monthly review: Adjust goals as needed, check quarterly milestones/project status: Project completion feeds goal calculations| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-04 | pass→pass | 9,800 | 9,188 | -6% | 1 | 1 | 0% | 2,059 | 3,354 | +63% | 0 | 0 | — |
case-05 | pass→pass | 2,925 | 1,749 | -40% | 1 | 1 | 0% | 563 | 1,771 | +215% | 0 | 0 | — |
case-01 | fail→fail | 6,734 | 8,415 | +25% | 1 | 1 | 0% | 1,291 | 1,949 | +51% | 0 | 0 | — |
case-02 | fail→fail | 6,454 | 4,816 | -25% | 1 | 1 | 0% | 1,123 | 1,754 | +56% | 0 | 0 | — |
case-03 | fail→fail | 4,275 | 30,648 | +617% | 1 | 1 | 0% | 810 | 7,321 | +804% | 0 | 0 | — |
case-06 | pass→pass | 1,802 | 1,843 | +2% | 1 | 1 | 0% | 303 | 1,748 | +477% | 0 | 0 | — |
case-07 | fail→pass | 13,291 | 10,127 | -24% | 1 | 1 | 0% | 2,479 | 3,337 | +35% | 0 | 0 | — |
case-08 | fail→pass | 9,654 | 4,926 | -49% | 1 | 1 | 0% | 1,875 | 2,434 | +30% | 0 | 0 | — |
case-09 | fail→pass | 8,615 | 7,126 | -17% | 1 | 1 | 0% | 1,531 | 2,774 | +81% | 0 | 0 | — |
case-10 | fail→pass | 6,053 | 1,288 | -79% | 1 | 1 | 0% | 1,016 | 1,649 | +62% | 0 | 0 | — |
case-11 | pass→pass | 6,650 | 2,788 | -58% | 1 | 1 | 0% | 1,255 | 1,966 | +57% | 0 | 0 | — |
case-12 | fail→fail | 10,218 | 1,993 | -80% | 1 | 1 | 0% | 1,752 | 1,823 | +4% | 0 | 0 | — |
case-13 | fail→pass | 8,753 | 1,754 | -80% | 1 | 1 | 0% | 1,391 | 1,720 | +24% | 0 | 0 | — |
case-14 | fail→pass | 6,469 | 1,524 | -76% | 1 | 1 | 0% | 967 | 1,691 | +75% | 0 | 0 | — |
case-15 | fail→pass | 3,270 | 1,547 | -53% | 1 | 1 | 0% | 483 | 1,679 | +248% | 0 | 0 | — |
case-16 | fail→pass | 11,145 | 6,375 | -43% | 1 | 1 | 0% | 1,913 | 2,567 | +34% | 0 | 0 | — |
case-17 | fail→fail | 10,279 | 5,099 | -50% | 1 | 1 | 0% | 1,673 | 2,415 | +44% | 0 | 0 | — |
case-18 | pass→pass | 13,732 | 6,943 | -49% | 1 | 1 | 0% | 2,129 | 2,616 | +23% | 0 | 0 | — |
case-19 | pass→pass | 10,770 | 6,507 | -40% | 1 | 1 | 0% | 1,813 | 2,595 | +43% | 0 | 0 | — |
case-20 | pass→pass | 12,315 | 9,374 | -24% | 1 | 1 | 0% | 2,211 | 3,004 | +36% | 0 | 0 | — |
case-21 | pass→pass | 15,286 | 11,153 | -27% | 1 | 1 | 0% | 2,728 | 3,287 | +20% | 0 | 0 | — |
case-22 | pass→pass | 9,683 | 10,502 | +8% | 1 | 1 | 0% | 1,738 | 3,342 | +92% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 19 counted toward the lift figure. The other 3 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +36 percentage points is the difference between those two pass rates over the 19 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.