Goal Tracking
Monitor goals, calculate gaps, score urgency, generate alerts.
Responsibility
Track progress of active goals, detect gaps and risks, generate prioritized alerts for action.
Quick Start
- •Load active goals from
strategy/goals/active/ - •Collect current metric values from sources
- •Calculate gaps (target - current)
- •Score urgency (gap × time pressure × impact)
- •Assess achievability
- •Rank and output prioritized alerts
- •Update goal status in files
Process Overview
code
Goals (strategy/goals/active/)
│
▼
Load & Parse
│
▼
Current Values (canvas, threads, external)
│
▼
Gap Calculation
│
▼
Urgency Scoring
│
▼
Achievability Assessment
│
▼
Priority Ranking
│
▼
Alert Generation ──► Dashboard
│
▼
Goal Status Updates
Input Sources
Goals
Location: strategy/goals/active/*.md
Read from frontmatter:
- •goal_id
- •target_value, target_unit, target_direction
- •period_start, period_end
- •baseline_value
- •milestones
- •parent_goal, child_goals
- •ownership_accountable
Current Values
| Source | Priority | Content |
|---|---|---|
strategy/canvas/13.metrics.md | Primary | Baseline metrics |
threads/*/5-actions.md | Secondary | Execution progress |
| External data | Tertiary | Real-time values |
Gap Calculation
Absolute Gap
For maximize goals:
code
absolute_gap = target_value - current_value
For minimize goals:
code
absolute_gap = current_value - target_value
Relative Gap
code
relative_gap = absolute_gap / target_value
Interpretation:
- •0.00: On target
- •0.01-0.20: Minor gap
- •0.21-0.40: Moderate gap
- •0.41-0.60: Significant gap
- •0.61+: Critical gap
Trajectory Gap
Project where we'll end up at current pace:
code
days_elapsed = today - period_start daily_velocity = (current - baseline) / days_elapsed days_remaining = period_end - today projected_end = current + (daily_velocity × days_remaining) trajectory_gap = target - projected_end
Pace Gap
Compare actual pace to required pace:
code
required_pace = (target - baseline) / total_days actual_pace = (current - baseline) / days_elapsed pace_ratio = actual_pace / required_pace
Interpretation:
- •pace_ratio > 1.0: Ahead of pace
- •pace_ratio = 1.0: On pace
- •pace_ratio 0.8-1.0: Slightly behind
- •pace_ratio 0.5-0.8: Significantly behind
- •pace_ratio < 0.5: Critically behind
Urgency Scoring
Formula
code
urgency_score = relative_gap × time_pressure × impact_weight
Time Pressure
code
time_pressure = min(1.0, 30 / days_remaining)
| Days Remaining | Time Pressure |
|---|---|
| 60+ | 0.5 |
| 30 | 1.0 |
| 14 | 1.0 (capped) |
| 7 | 1.0 (capped) |
| 1 | 1.0 (capped) |
Impact Weight
From goal category or explicit weight:
| Category | Default Weight |
|---|---|
| revenue | 1.0 |
| retention | 0.9 |
| activity | 0.7 |
| efficiency | 0.6 |
| content | 0.5 |
Urgency Levels
| Level | Score Range | Criteria |
|---|---|---|
| critical | > 0.8 | gap > 50% AND days < 7 |
| high | 0.6 - 0.8 | gap > 30% AND days < 14 |
| medium | 0.3 - 0.6 | gap > 20% OR days < 30 |
| low | < 0.3 | gap < 20% AND days > 30 |
Achievability Assessment
Factors
| Factor | Weight | Source |
|---|---|---|
| Historical performance | 0.40 | Past goal outcomes |
| Resource availability | 0.30 | Constraint analysis |
| Trajectory analysis | 0.20 | Current velocity |
| External factors | 0.10 | Risk factors |
Achievability Score
| Score | Interpretation | Action |
|---|---|---|
| > 0.8 | Achievable | Proceed with plan |
| 0.5 - 0.8 | Stretch | Flag risk, proceed |
| < 0.5 | At risk | Recommend revision |
Priority Ranking
Formula
code
priority = (impact × 0.40) + (urgency × 0.35) + ((1 - achievability) × 0.25)
Adjustments
| Condition | Adjustment |
|---|---|
| Blocking other goals | +0.1 |
| Quick win (small gap, high achievability) | +0.1 |
| Resource constrained | -0.05 |
Alert Generation
Alert Types
| Type | Trigger | Content |
|---|---|---|
| gap_alert | Gap exceeds threshold | Goal, current, target, gap, urgency |
| trajectory_warning | Will miss target | Projected end, shortfall, recovery options |
| milestone_alert | Milestone approaching/missed | Milestone date, target, current |
| at_risk_alert | Achievability < 0.5 | Risk factors, revision options |
| achievement_alert | Target reached | Final value, days ahead/behind |
Alert Routing
| Urgency | Destination | Escalation |
|---|---|---|
| critical | Immediate notification | Leadership if not acked |
| high | Daily digest | After 24h no action |
| medium | Weekly summary | None |
| low | Dashboard only | None |
Output
Alert File Format
Location: artifacts/system/alerts/{alert-id}.md
markdown
---
alert_id: alert_{type}_{goal_id}_{timestamp}
alert_type: {gap|trajectory|milestone|at_risk|achievement}
goal_id: {goal_id}
urgency_level: {critical|high|medium|low}
generated_at: {YYYY-MM-DD HH:MM}
status: active
---
# Alert: {Goal Name}
## Status
| Metric | Value |
|--------|-------|
| Current | {current_value} |
| Target | {target_value} |
| Baseline | {baseline_value} |
| Gap | {gap_value} ({gap_pct}%) |
## Urgency
| Factor | Value |
|--------|-------|
| Level | {urgency_level} |
| Score | {urgency_score} |
| Days Remaining | {days} |
| Time Pressure | {pressure} |
## Achievability
| Factor | Score |
|--------|-------|
| Overall | {achievability_score} |
| Assessment | {achievable|stretch|at_risk} |
## Trajectory
At current pace: {projected_end} by deadline
Shortfall: {shortfall} ({shortfall_pct}%)
## Recommended Action
**Type:** {action_type}
**Description:** {action_description}
**Expected Impact:** {expected_impact}
## Routing
| Field | Value |
|-------|-------|
| Owner | {accountable} |
| Escalate To | {escalation_target} |
| Ack Deadline | {ack_deadline} |
Goal Status Update
Updates goal file tracking section:
markdown
## Tracking
| Field | Value |
|-------|-------|
| Last Checked | {datetime} |
| Current Value | {current} |
| Gap | {gap_value} ({gap_pct}%) |
| Urgency | {level} |
| Achievability | {score} |
| Status | {on_track|behind|at_risk|achieved} |
### Progress History
| Date | Value | Gap | Status |
|------|-------|-----|--------|
| {date_1} | {value_1} | {gap_1} | {status_1} |
| {date_2} | {value_2} | {gap_2} | {status_2} |
Dashboard Summary
Location: artifacts/system/goal-dashboard.md
markdown
---
generated_at: {YYYY-MM-DD HH:MM}
period: {current period}
---
# Goal Dashboard
## Summary
| Status | Count |
|--------|-------|
| Total Goals | {count} |
| On Track | {count} |
| Behind | {count} |
| At Risk | {count} |
| Achieved | {count} |
## By Category
| Category | Goals | Progress | Top Gap |
|----------|-------|----------|---------|
| Revenue | {n} | {pct}% | {goal_id} |
| Activity | {n} | {pct}% | {goal_id} |
| Content | {n} | {pct}% | {goal_id} |
| Efficiency | {n} | {pct}% | {goal_id} |
| Retention | {n} | {pct}% | {goal_id} |
## Critical Alerts
| Goal | Gap | Urgency | Action |
|------|-----|---------|--------|
| {name} | {gap}% | critical | {action} |
## Upcoming Milestones
| Goal | Date | Target | Current | Status |
|------|------|--------|---------|--------|
| {name} | {date} | {target} | {current} | {status} |
Monitoring Cadence
Real-Time
- •Inbound lead flow
- •Deal stage changes
- •Revenue bookings
- •Churn events
Scheduled
| Frequency | Checks |
|---|---|
| Hourly | Activity goal progress |
| Daily | All gap recalculation, urgency update |
| Weekly | Achievability reassessment, trend analysis |
Workflow
code
1. LOAD goals └── Read strategy/goals/active/*.md └── Parse frontmatter 2. COLLECT current values └── Read strategy/canvas/13.metrics.md └── Read threads/*/5-actions.md for execution data └── Use provided values if external 3. CALCULATE gaps └── Absolute gap for each goal └── Relative gap (percentage) └── Trajectory gap (projected vs target) 4. SCORE urgency └── Apply formula: gap × time_pressure × impact └── Classify into urgency levels 5. ASSESS achievability └── Check historical performance └── Validate against constraints └── Factor in trajectory 6. RANK priorities └── Apply weighted formula └── Sort by priority score 7. GENERATE alerts └── Create alert files for gaps above threshold └── Write to artifacts/system/alerts/ 8. UPDATE goals └── Add/update tracking section in each goal file 9. UPDATE dashboard └── Write summary to artifacts/system/goal-dashboard.md
Integration
Upstream
- •
sys-defining-goals: Creates goals to track - •
sys-decomposing-goals: Creates goal hierarchies - •
sys-activating-goals: Links goals to threads
Downstream
- •
rop-allocator: Receives alerts for planning - •Agents: Receive alerts for their goals
- •
meta-aggregating-learnings: Receives outcome data
Proactive Triggers
Beyond gap tracking, detect:
Opportunity Triggers
| Trigger | Signal | Action |
|---|---|---|
| New ICP match | High-fit prospect discovered | Add to prospecting |
| Champion identified | Advocate at target account | Accelerate outreach |
| Competitor vulnerability | Customer dissatisfaction signal | Targeted outreach |
Decay Triggers
| Trigger | Signal | Action |
|---|---|---|
| Deal stalled | No stage change > threshold | Nudge action |
| Lead cooling | Engagement declining | Re-engagement sequence |
| Relationship cooling | Customer touchpoints down | Health check |
Resource Triggers
| Trigger | Signal | Action |
|---|---|---|
| Rep bandwidth | Capacity below threshold | Assign more leads |
| Budget unspent | Spend rate below plan | Increase or reallocate |
Boundaries
This skill provides:
- •Gap calculation
- •Urgency scoring
- •Achievability assessment
- •Priority ranking
- •Alert generation
- •Goal status updates
- •Dashboard summaries
This skill does NOT:
- •Create goals (use
sys-defining-goals) - •Decompose goals (use
sys-decomposing-goals) - •Create threads (use
sys-activating-goals) - •Execute against goals (agents do)
- •Modify targets without approval