Okr Progress Tracker
by @charlie-morrison
Track and evaluate OKR (Objectives and Key Results) progress by parsing OKR definitions from markdown, YAML, or JSON files. Scores key results, calculates ob...
clawhub install okr-progress-trackerπ About This Skill
name: cm-okr-progress-tracker description: Track and evaluate OKR (Objectives and Key Results) progress by parsing OKR definitions from markdown, YAML, or JSON files. Scores key results, calculates objective health, predicts end-of-quarter outcomes, identifies at-risk goals, and produces actionable recommendations. Use when asked to track OKRs, evaluate key results, check OKR progress, predict quarter outcomes, audit objectives, score OKR health, or review goal tracking. Triggers on "OKR", "objectives and key results", "key results", "OKR progress", "OKR tracker", "quarter goals", "OKR health", "objective tracking", "goal tracking", "OKR score", "OKR review". metadata: tags: ["okr", "objectives", "key-results", "goal-tracking", "strategy", "planning", "quarterly-review", "performance", "project-management"]
OKR Progress Tracker
Track, evaluate, and forecast OKR (Objectives and Key Results) progress by analyzing your OKR definitions, current metrics, and time elapsed in the quarter. Identifies at-risk objectives, flags stalled key results, and provides data-driven recommendations for course correction.
Usage
Invoke this skill when you need to assess OKR progress, prepare for a quarterly review, or identify which objectives need attention.
Basic invocation: > Track OKR progress from okrs.yaml > Evaluate our Q2 OKRs in /path/to/okrs.md
With options: > Score OKRs and predict end-of-quarter outcomes > Which OKRs are at risk? Check /team/okrs/ > Generate an OKR health report for the leadership review
The agent reads your OKR files, calculates progress, and produces a structured assessment.
How It Works
Step 1: Parse OKR Definitions
The agent reads OKR files in any of the supported formats and builds an internal model.
Supported formats:
Markdown format:
## Objective: Improve platform reliability
KR1: Reduce P1 incidents from 12/quarter to 3/quarter (current: 7)
KR2: Achieve 99.95% uptime (current: 99.91%)
KR3: Mean time to recovery under 15 minutes (current: 23 min) Objective: Accelerate developer velocity
KR1: CI pipeline p95 under 8 minutes (current: 11 min)
KR2: Deploy frequency from 2/week to 5/week (current: 3/week)
KR3: Onboarding time for new devs under 3 days (current: 5 days)
YAML format:
quarter: Q2 2026
start_date: 2026-04-01
end_date: 2026-06-30
objectives:
- name: Improve platform reliability
owner: platform-team
key_results:
- description: Reduce P1 incidents per quarter
start_value: 12
target_value: 3
current_value: 7
unit: incidents/quarter
direction: decrease
- description: Achieve monthly uptime target
start_value: 99.85
target_value: 99.95
current_value: 99.91
unit: percent
direction: increase
JSON format:
{
"quarter": "Q2 2026",
"objectives": [
{
"name": "Improve platform reliability",
"key_results": [
{
"description": "Reduce P1 incidents",
"start": 12, "target": 3, "current": 7
}
]
}
]
}
The agent auto-detects the format and normalizes internally. It handles partial data gracefully, asking the user for missing fields only when critical (like target values).
Step 2: Determine Quarter Timeline
The agent calculates where you are in the quarter:
Quarter: Q2 2026 (April 1 - June 30)
Today: April 30, 2026
Elapsed: 30 of 91 days (33.0%)
Remaining: 61 days
Weeks remaining: 8.7
This timeline is critical for pace analysis: if 33% of time has passed, key results should ideally be at ~33% progress to be on track.
Step 3: Score Each Key Result
For each key result, the agent calculates:
Progress percentage:
progress = (current - start) / (target - start) * 100Example: P1 incidents
start=12, target=3, current=7
progress = (12 - 7) / (12 - 3) * 100 = 55.6%
Pace ratio (progress vs. time elapsed):
pace = progress_pct / time_elapsed_pctExample: 55.6% progress / 33.0% time elapsed = 1.68x pace
> 1.0 = ahead of schedule
= 1.0 = on track
< 1.0 = behind schedule
< 0.5 = significantly at risk
Projected end-of-quarter value (linear extrapolation):
projected = start + (current - start) * (total_days / elapsed_days)Example: P1 incidents
projected = 12 + (7 - 12) * (91 / 30) = 12 + (-5 * 3.03) = -3.2
Clamped to achievable range: projected = 0 incidents (exceeds target)
Confidence level based on:
Step 4: Classify Key Result Health
Each key result receives a health classification:
| Status | Criteria | Symbol | |--------|----------|--------| | On Track | Pace ratio >= 0.9 | [=] | | Needs Attention | Pace ratio 0.6 - 0.9 | [~] | | At Risk | Pace ratio 0.3 - 0.6 | [!] | | Off Track | Pace ratio < 0.3 | [X] | | Achieved | Current meets or exceeds target | [+] | | Not Started | No progress from start value | [-] |
The agent adjusts thresholds based on quarter progress. Early in the quarter, it applies wider tolerances (some KRs ramp up late). Late in the quarter, thresholds tighten.
Step 5: Roll Up to Objective Health
Each objective score is the weighted average of its key results:
Objective Score = average(KR1_progress, KR2_progress, KR3_progress)
The agent applies a "weakest link" modifier: if any single KR is Off Track, the objective health is capped at "Needs Attention" regardless of other KRs, since objectives require all key results to be meaningful.
Objective health classifications:
Step 6: Trend Analysis (If Historical Data Available)
If the user provides multiple snapshots or the OKR file includes a history of values, the agent performs trend analysis:
KR: Reduce P1 incidents (target: 3)
Week 1: 12 -> 11 (-1)
Week 2: 11 -> 9 (-2)
Week 3: 9 -> 7 (-2)
Week 4: 7 -> 7 (0) <-- STALL DETECTED Current velocity: -1.25/week (slowing)
At current velocity: target reached in week 7 (on schedule, but decelerating)
Risk: Plateau pattern suggests operational changes needed
Step 7: Generate Recommendations
For each at-risk or off-track key result, the agent produces actionable recommendations:
For stalled KRs:
For behind-pace KRs:
For on-track KRs:
For objectives with mixed KRs:
Step 8: Produce the Report
The agent generates a structured report:
# OKR Progress Report β Q2 2026
Snapshot: April 30, 2026 (33% through quarter)
Overall Health: Moderate (0.58)
2 objectives on track, 1 needs attentionObjective 1: Improve Platform Reliability
Health: Strong (0.72) | Owner: platform-team [=] KR1: Reduce P1 incidents to 3/quarter
Progress: 55.6% | Pace: 1.68x | Projected: 0 (exceeds target)
Status: Ahead of schedule
[~] KR2: Achieve 99.95% uptime
Progress: 60.0% | Pace: 1.18x | Projected: 99.97%
Status: On track, slight deceleration in week 4
[!] KR3: MTTR under 15 minutes
Progress: 27.6% | Pace: 0.84x | Projected: 18.2 min
Status: NEEDS ATTENTION β will miss target at current pace
Recommendation: Need to improve by 1.3 min/week (currently 0.8 min/week).
Consider automated runbook rollout to reduce manual investigation time.
Objective 2: Accelerate Developer Velocity
Health: Moderate (0.51) | Owner: dx-team
...At-Risk Summary
1. KR3 (MTTR) β pace 0.84x, needs 63% increase in improvement rate
2. KR5 (Onboarding) β pace 0.55x, recommend reducing target to 4 daysRecommendations
1. Schedule deep-dive on MTTR with on-call team this week
2. Reassess onboarding KR target β 3 days may be unrealistic given hiring freeze
3. KR1 (P1 incidents) likely to be achieved early β consider stretch target
Output
The agent produces:
Output formats:
Advanced Features
Cascade Analysis
When OKRs reference each other (company -> team -> individual), the agent traces the cascade:
Company OKR: Grow revenue 30% YoY
ββ Team OKR: Launch 3 enterprise features
ββ Individual OKR: Ship SSO integration by May 15
Status: At Risk (blocked on IdP vendor)
Impact: Delays team OKR, which delays company revenue feature pipeline
Cross-Team Dependency Detection
The agent identifies when one team's KR depends on another team's work:
WARNING: Team Alpha's KR2 (API v3 migration) depends on
Team Beta's KR1 (schema redesign), which is Off Track.
Team Alpha's KR2 is at risk regardless of their own progress.
Scoring Calibration
The agent supports different scoring methodologies:
Quarter-over-Quarter Comparison
If previous quarter OKR files are available, the agent compares:
Tips for Best Results
start_value, target_value, and current_value for each KR to get accurate scoringdirection (increase/decrease) when it is not obvious from contextcurrent_value weekly for trend analysis to workπ‘ Examples
Invoke this skill when you need to assess OKR progress, prepare for a quarterly review, or identify which objectives need attention.
Basic invocation: > Track OKR progress from okrs.yaml > Evaluate our Q2 OKRs in /path/to/okrs.md
With options: > Score OKRs and predict end-of-quarter outcomes > Which OKRs are at risk? Check /team/okrs/ > Generate an OKR health report for the leadership review
The agent reads your OKR files, calculates progress, and produces a structured assessment.