Quarterly Goals Tracker
Track quarterly objectives with progress scoring, evidence gathering from multiple sources, and interactive deadline management.
Download this file and place it in your project folder to get started.
# Quarterly Goals Tracker
## Your Role
You track quarterly objectives with progress scoring, evidence gathering, and deadline management. You run biweekly reviews to keep goals current.
## Arguments
- *(none)* — full review with interactive updates
- `status` — dashboard only, no interactive updates
- `deadlines` — upcoming deadlines only
## Instructions
### Step 1: Read Goals
Load objectives from `~/.claude-assistant/config/goals.yaml`.
Expected structure:
```yaml
quarter: Q1 2026
push_level: moderate # gentle | moderate | assertive
objectives:
- name: "Objective name"
key_results:
- description: "Key result description"
progress: 0.0 # 0.0 to 1.0
deadline: "YYYY-MM-DD"
```
If file doesn't exist, provide the template and ask user to create it.
### Step 2: Gather Evidence
Query available sources (skip any that aren't available):
- **Gmail**: Search for emails matching objective names and key result descriptions
- **Google Calendar**: Check for meetings related to objectives
- **Granola**: Search meeting transcripts for relevant discussions
- **Apple Reminders**: Check for related tasks (macOS only)
Gracefully skip unavailable sources — never error on missing MCPs.
### Step 3: Generate Dashboard
For each objective, display:
- **Status**: On Track (progress >= expected for timeline), At Risk (behind by <20%), Behind (behind by >20%)
- **Progress bar** for each key result with score and deadline
- **Evidence summary** from gathered sources
- **Stalled key results** — no progress across 2+ review cycles
Show upcoming deadlines sorted by date, highlighting items due within 7 days.
### Step 4: Interactive Updates (skip in status/deadlines mode)
For each key result, prompt:
- "Update progress score? (current: X.X)" — accept new 0.0-1.0 value
- "Adjust deadline?" — accept new date if needed
- Allow updating push_level (gentle/moderate/assertive)
### Step 5: Persist Changes
Write updated scores and deadlines back to `goals.yaml`.
## Push Level
The `push_level` setting influences how other skills (morning brief, check-in) use goal data:
- **gentle** — mention goals in briefings, no calendar analysis
- **moderate** — score calendar alignment, suggest priorities
- **assertive** — flag unrepresented objectives, recommend schedule changes
## Stall Detection
Flag any key result where:
- Progress score unchanged across 2+ consecutive reviews
- Deadline is within 14 days and progress < 0.5
What This Does
Runs biweekly goal reviews with progress scoring (0.0 to 1.0), evidence gathering from available sources, and interactive deadline management. Tracks quarterly objectives and key results, flags stalled items, and feeds goal data into other workflows like morning briefings.
Quick Start
Step 1: Create Your Goals File
mkdir -p ~/.claude-assistant/config
Create ~/.claude-assistant/config/goals.yaml:
quarter: Q1 2026
push_level: moderate # gentle | moderate | assertive
objectives:
- name: "Launch new product line"
key_results:
- description: "Complete MVP by March 15"
progress: 0.3
deadline: "2026-03-15"
- description: "Onboard 5 beta customers"
progress: 0.0
deadline: "2026-03-31"
- name: "Improve team velocity"
key_results:
- description: "Reduce cycle time by 20%"
progress: 0.5
deadline: "2026-03-31"
- description: "Implement automated testing"
progress: 0.7
deadline: "2026-02-28"
Step 2: Download the Template
Click Download above, then save to your working directory.
Step 3: Run Claude Code
claude
Then: "Review my goals"
Review Modes
| Mode | Command | What You Get |
|---|---|---|
| Full review | "Review my goals" | Dashboard + interactive score updates |
| Status only | "Goals status" | Dashboard only, no updates |
| Deadlines | "Goals deadlines" | Upcoming deadlines only |
The Dashboard
QUARTERLY GOALS REVIEW — Q1 2026
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Objective: Launch new product line
Status: AT RISK
[===-------] Complete MVP — 0.3 (due Mar 15)
[----------] Onboard beta customers — 0.0 (due Mar 31)
Evidence: 3 related emails found, 1 meeting discussed timeline
Objective: Improve team velocity
Status: ON TRACK
[=====-----] Reduce cycle time — 0.5 (due Mar 31)
[=======---] Automated testing — 0.7 (due Feb 28)
Evidence: Testing PR merged last week
STALLED: "Onboard beta customers" — no progress in 2 review cycles
UPCOMING DEADLINES:
Feb 28 — Automated testing (0.7) ← due this week
Mar 15 — Complete MVP (0.3)
Optional Integrations
Evidence gathering works with any available MCP:
| Source | What It Finds |
|---|---|
| Gmail | Emails mentioning objective keywords |
| Google Calendar | Meetings related to goals |
| Granola | Meeting transcript references |
| Apple Reminders | Related tasks and deadlines |
All sources are optional — the tracker works fine with just the YAML file.
Tips
- Run biweekly — keeps scores current and catches stalled items early
- Push level — controls how aggressively other skills nudge you toward goal-aligned work (gentle/moderate/assertive)
- Feeds other workflows — morning briefings and check-ins reference your goals for priority suggestions
- Stall detection — flags key results with no progress across multiple reviews
Troubleshooting
"No goals file found"
Create ~/.claude-assistant/config/goals.yaml using the template above
Evidence sources unavailable That's fine — evidence gathering degrades gracefully, core tracking works without MCPs
Progress scores feel wrong Update interactively during a full review — Claude prompts you for each score