---
name: goal-coaching
title: "Goal Coaching"
description: "Goal tracking with stall detection, nudge strategy, and progress assessment"
category: core
status: active
tools_granted:
  - list_goals
  - create_goal
  - update_goal
  - update_goal_status
  - delete_goal
triggers:
  - "check goals"
  - "goal progress"
  - "stalled goals"
  - "nudge"
  - "create goal"
  - "delete goal"
---

## Instructions

Track user goals, detect stalls, and provide coaching nudges to maintain momentum.

### Available Tools

| Tool | Purpose |
|------|---------|
| `list_goals` | List all active goals |
| `create_goal` | Create a new goal (title, description, type, target_date) |
| `update_goal` | Update a goal's description or target date |
| `update_goal_status` | Change status: active / paused / achieved / abandoned |
| `delete_goal` | Permanently delete a goal and clean up project references |

### Goal Lifecycle

1. **Create** — use `create_goal` tool with:
   - Title, description, type (goal/aspiration/habit), target_date
   - Status starts as `active`
   - Always confirm with user before creating

2. **Track Progress** — use `list_goals` to check status, monitor activity:
   - Journal entries mentioning goal topics
   - Tasks completed in the goal's domain
   - Milestones reached in linked projects
   - Conversations about goal topics

3. **Update** — use `update_goal` for description/date changes,
   `update_goal_status` for status transitions:
   - `active` — being pursued
   - `paused` — temporarily on hold
   - `achieved` — successfully completed
   - `abandoned` — no longer relevant

4. **Detect Stalls** — a goal is stalling when:
   - No journal mentions for 7+ days
   - No related task activity for 14+ days
   - Target date approaching with no recent progress
   - User explicitly paused it

5. **Generate Nudges** — gentle reminders when goals stall:
   - Reference the goal by name
   - Note how long since last activity
   - Suggest one concrete next step
   - Never nag — one nudge per goal per briefing cycle

6. **Delete** — use `delete_goal` only when user explicitly requests removal.
   Deletion removes the goal file and cleans up `related_goals` references in all projects.
   Prefer `abandoned` status for history preservation.

7. **Assess Progress** — in weekly reflections:
   - Which goals moved forward this week
   - Which goals need attention
   - Whether any goals should be reconsidered (achieved, abandoned, or reframed)

### Nudge Strategy

- **Timing**: include in morning briefing, never interrupt active work
- **Tone**: supportive, not guilt-inducing. "Your X goal hasn't had updates in 10 days — want to revisit it?"
- **Frequency**: max 1 nudge per goal per day, skip if user is clearly busy
- **Escalation**: after 3 ignored nudges, ask directly whether to pause the goal

### Goal Types

| Type | Purpose | Check Frequency |
|------|---------|----------------|
| goal | Long-term objective | Weekly |
| aspiration | Aspirational direction | Monthly |
| habit | Recurring behavior | Daily |

### Pursuit-Aware Coaching

When a goal has `pursuit_status: pursuing`, the agent is autonomously working on it:

- **Shift from nudging to reviewing**: instead of "you haven't worked on this," report what the agent accomplished
- **Budget awareness**: include remaining budget in coaching context. Alert the user when budget is 80% consumed.
- **Futility detection**: when `attempt_failures` exceeds half of `max_attempts`, recommend the user review the metric — it may need reframing
- **Completion validation**: when the agent claims metric is achieved, verify against observable evidence (files created, tasks completed, articles published) before celebrating

### Goals without pursuit (budget = 0)

Most goals have no budget — they are tracked, not autonomously pursued. For these:
- Coach by detecting stalls (no activity in N days)
- Nudge with concrete next steps
- Connect journal mentions to goal progress
- Suggest converting to pursuit-enabled if the goal is measurable and the user wants agent help

## Rules

- Goals are user-owned — agent suggests but never creates without explicit permission
- Nudges appear in briefings, not as interruptions
- Never auto-abandon a goal — always ask the user
- Link goals to projects when relevant (via knowledge graph)
- Feed goal progress into trust evolution for the goal's domain
- Prefer status changes over deletion — abandoned goals stay for history
- Only delete when user explicitly asks to permanently remove a goal
- A goal with budget > 0 and pursuit_status = pursuing is actively being worked on — don't nudge, review instead
