goal-tracking

$npx mdskill add ballred/obsidian-claude-pkm/goal-tracking

Track progress on various goal levels using checklist-based methods

  • Identifies and tracks goals at different time horizons (3-year, yearly, monthly, weekly).
  • Deploys Read tool to fetch goal data from specified directories.
  • Calculates completion percentages based on task statuses within the goal files.
  • Suggests actions for stalled or incomplete goals through TaskCreate and TaskUpdate.

SKILL.md

.github/skills/goal-trackingView on GitHub ↗
---
name: goal-tracking
description: 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.
allowed-tools: Read, Grep, Glob, Edit, TaskCreate, TaskUpdate, TaskList, TaskGet
model: sonnet
---

# Goal Tracking Skill

Track and manage the cascading goal system from long-term vision to daily tasks.

## Goal Hierarchy

```
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 actions
```

## Goal File Formats

### Three Year Goals
```markdown
## Life Areas
- Career: [Vision statement]
- Health: [Vision statement]
- Relationships: [Vision statement]
- Financial: [Vision statement]
- Learning: [Vision statement]
- Personal: [Vision statement]
```

### Yearly Goals
```markdown
## 2024 Goals
- [ ] Goal 1 (XX% complete)
- [ ] Goal 2 (XX% complete)
- [x] Goal 3 (100% complete)
```

### Monthly Goals
```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 Calculation

### Checklist-Based Goals
```
Progress = (Completed checkboxes / Total checkboxes) * 100
```

### Metric-Based Goals
```
Progress = (Current value / Target value) * 100
```

### Time-Based Goals
```
Progress = (Days elapsed / Total days) * 100
```

## Common Operations

### View Goal Progress
1. Read all goal files
2. Parse checkbox completion rates
3. Calculate overall and per-goal progress
4. Identify stalled or at-risk goals

### Update Goal Status
1. Find goal in appropriate file
2. Update checkbox or percentage
3. Add date stamp for significant milestones
4. Update related weekly review

### Connect Task to Goal
When adding tasks to daily notes:
1. Identify which goal the task supports
2. Add goal reference: `Supports: [[1. Yearly Goals#Goal Name]]`
3. Use appropriate priority tag

### Surface Stalled Goals
1. Check last activity date for each goal
2. Flag goals with no progress in 14+ days
3. Suggest actions to restart momentum

## Project-Aware Progress

### Project Integration
When calculating goal progress, include project data:
1. Scan `Projects/*/CLAUDE.md` for all active projects
2. Match projects to goals via their "Goal Link" / "Supports" field
3. Include project completion % in goal progress calculations
4. Surface which projects support each goal

### Orphan Goal Detection
Flag goals that have no active project supporting them:
- A goal with 0 linked projects may need a project created (`/project new`)
- A goal with only completed/archived projects may need a new initiative

## Progress Report Format

```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]
```

## Task-Based Progress Tracking

The goal tracking skill uses session tasks when generating comprehensive progress reports.

### Progress Report Tasks

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..."
```

### Dependencies

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.

## Integration Points

- `/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
- Quarterly review: Cascade from 3-year vision

More from ballred/obsidian-claude-pkm

SkillDescription
adoptScaffold the PKM system onto an existing Obsidian vault. Scans your vault structure, maps folders interactively, and generates configuration — no template required.
check-linksFind broken wiki-links in the vault. Read-only analysis — scans for [[links]] and verifies target files exist. No writes, no dependencies.
dailyCreate daily notes and manage morning, midday, and evening routines. Structure daily planning, task review, and end-of-day reflection. Use for daily productivity routines or when asked to create today's note.
monthlyMonthly review and planning. Roll up weekly reviews, check quarterly milestones, set next month's focus. Use at end of month or start of new month.
obsidian-vault-opsRead and write Obsidian vault files, manage wiki-links, process markdown with YAML frontmatter. Use when working with vault file operations, creating notes, or managing links.
projectCreate, track, and archive projects linked to goals. The bridge between goals and daily tasks. Use for project creation, status dashboards, and archiving completed work.
pushCommit and push vault changes to Git with smart commit messages. Auto-stages files, creates meaningful commits, and syncs with remote. Use after making vault changes or at end of day.
searchSearch vault content by keyword using Grep. Zero dependencies — works in any vault without indexes or plugins. Groups results by directory for easy scanning.
weeklyFacilitate weekly review process with reflection, goal alignment, and planning. Create review notes, analyze past week, plan next week. Use on Sundays or whenever doing weekly planning.