---
name: okr-manager
description: Manage Mindvalley OKRs and strategies via Airtable. Use when creating, updating, viewing, or deleting OKRs, editing strategies, or managing deliverables. Triggers on "OKR", "objective", "key result", "strategy", "deliverable", "quarterly goals", "annual goals", "team goals".
---

# OKR Manager - Mindvalley

Manage OKRs, strategies, and deliverables for Mindvalley through natural language commands with full Airtable integration.

---

## CRITICAL: Pre-Flight Validation Rules

**BEFORE any OKR operation, you MUST run these checks:**

### 1. Executive Coverage Check
Every executive MUST have at least one Exec Annual OKR. Check:
```
Executives who MUST have OKRs:
- Vishen Lakhiani (CEO) - recvrO2faCzS5FlWI
- Marisha Lakhiani (CGO) - rec9dxVXzt8e1jbR4
- Rafay Sattar (MD Membership) - recqf2IMG2wARTook
- Dario Bianchi (Product) - reczc154HtfirRNi8
- Eni Selfo (Events) - recK6zZsO3Qcw9tip
- Norman Noble (Technology) - recozWXTkYXHnt5hj
- Jaideep Chagger (Academy Marketing) - recHSP5x1aLUBs2vD
- Alex Dogliotti (People & B2B) - recLr1lUaCdGHzGSr
- Conny Domke (Academy) - recno3EUZKeT8ik8s
- Jenny (CFO) - recgHa4i2XSzQXqgt
```

If ANY executive has 0 Exec Annual OKRs, **IMMEDIATELY FLAG THIS** to the user.

### 2. Cascade Completeness Check
When an Exec Annual OKR exists:
- It MUST have Child Team OKRs for EACH quarter (Q1, Q2, Q3, Q4)
- Each Team OKR SHOULD have Individual OKRs if applicable
- Flag any "TBD" or missing quarterly breakdowns

Example validation:
```
Exec Annual: "Grow Revenue from $108M to $110M"
  ✓ Q1 Team OKR exists: "Q1: $108M to $109M"
  ✓ Q2 Team OKR exists: "Q2: $109M to $109.5M"
  ✗ Q3 Team OKR MISSING - FLAG THIS
  ✗ Q4 Team OKR MISSING - FLAG THIS
```

**Cascade Value Consistency:**
When multiple people have OKRs for the SAME metric (e.g., Academy Revenue):
- The EXECUTIVE sets the target (e.g., Conny: $8.5M for Q1)
- The TEAM LEAD's OKR must MATCH that target (e.g., Jaideep: $8.5M for Q1)
- **NEVER have conflicting values for the same metric in the same quarter**

Example:
```
✓ CORRECT CASCADE:
  Conny (Exec): Q1 Academy Revenue → $8.5M
  Jaideep (Team): Q1 Academy Revenue → $8.5M (matches!)

✗ WRONG CASCADE:
  Conny (Exec): Q1 Academy Revenue → $8.5M
  Jaideep (Team): Q1 Academy Revenue → $6.0M (CONFLICT - different value!)
```

### 3. NEVER Allow Duplicate OKRs (MANDATORY PRE-CHECK)
**This check MUST run before ANY OKR operation (create, update, move):**

**Step 1: Extract Keywords**
From the goal text, extract:
- Metric name (Revenue, Profitability, ROAS, Conversion, etc.)
- Person/Topic name (Bari, Vishen, Pathways, etc.)
- Time period (Q1, Q2, etc.)

**Step 2: Search ALL Tables**
```
Search Exec Annual OKRs for: [keyword1], [keyword2]
Search Team OKRs for: [keyword1], [keyword2]
Search Individual OKRs for: [keyword1], [keyword2]
```

**Step 3: Compare Results**
For each match found, check:
- Same owner? → LIKELY DUPLICATE
- Same metric + same period? → DEFINITE DUPLICATE
- Similar goal text (>70% match)? → POTENTIAL DUPLICATE

**Step 4: BLOCK or FLAG**
```
🚫 DUPLICATE DETECTED:
Existing: "[OKR A]" owned by [Owner A]
Proposed: "[OKR B]" owned by [Owner B]

These cover the same goal. BLOCKED.
Action: Delete one or merge them.
```

**CRITICAL: When MOVING an OKR to a new owner:**
Before reassigning, ALWAYS check if the target owner already has a similar OKR.
Example failure case:
- Marisha has "Complete Bari strategy call"
- Moving to Vishen
- BUT Vishen already has "Launch Bari Mastery Model"
- → DUPLICATE! Should have been caught and blocked.

### 4. Ownership Validation
Each metric/OKR type has a DESIGNATED owner. Validate:

| Metric/Area | Designated Owner | NOT owned by |
|-------------|------------------|--------------|
| Checkout Conversion | Dario (Product) | NOT Rafay |
| Membership Revenue | Rafay | - |
| Paid Media ROAS | Marisha/Charles | - |
| Events Revenue | Eni | - |
| Academy Revenue | Conny/Jaideep | - |
| B2B Revenue | Alex | NOT Misagh anymore |
| Company EBITDA | Jenny (CFO) | - |
| Organic Revenue | Marisha | - |
| Activation Rate | Dario | - |
| Retention Rate | Dario | - |

If an OKR is assigned to the WRONG owner, **FLAG immediately**.

### 5. Cross-Reference Consistency
When one person is mentioned in another person's OKR:
- Check if the mentioned person has their OWN OKR for that item
- The person who OWNS the work should have the OKR

Example:
```
BAD: Marisha has "Complete Bari strategy call"
     BUT Vishen owns the Bari Mastery Model OKR

CORRECT: Vishen has "Complete Bari strategy call"
         because Vishen owns the Bari work
```

**Rule:** If Person A mentions Person B's work, check if Person B owns that OKR. If not, FLAG.

### 6. Impact Analysis (REQUIRED before changes)
Before ANY update or delete:

1. Query all related OKRs (children, parents, linked strategies)
2. Show user the FULL impact:
```
⚠️ IMPACT ANALYSIS:
This change will affect:
- 4 Team OKRs linked to this Exec OKR
- 12 Individual OKRs linked to those Team OKRs
- 2 Strategies that reference this goal

Affected records:
1. [Team OKR 1] - owned by Charles
2. [Team OKR 2] - owned by Harri
...

Do you want to proceed? (yes/no)
```

3. **WAIT for explicit "yes" before making ANY change**

### 7. TBD Values Are NEVER Acceptable When Budget Exists
When creating or reviewing OKRs:
1. ALWAYS check OKR-Brain.md for budget targets
2. If Annual target exists → Quarterly MUST have concrete values
3. Calculate quarterly progression based on:
   - Equal distribution (e.g., 25% per quarter)
   - OR front-loaded/back-loaded based on business context

Example:
```
BAD:
  Exec Annual: B2B Profitability -230.9% → -150%
  Q1 Team OKR: "[TBD]% to [TBD]%"  ← BLOCKED

CORRECT:
  Exec Annual: B2B Profitability -230.9% → -150%
  Q1: -230.9% → -210%
  Q2: -210% → -190%
  Q3: -190% → -170%
  Q4: -170% → -150%
```

**Rule:** If parent has concrete numbers AND budget data exists, TBD is a validation failure. Fix immediately.

### 8. Event & Campaign Timing Validation
OKRs tied to events or campaigns MUST be in the correct quarter based on WHEN THE WORK HAPPENS:

**Event Calendar Reference (2026):**
```
Q1 (Jan-Mar): Social Media Summit (Jan 9-11), AI Summit (Mar 6-8)
Q2 (Apr-Jun): Manifesting Summit (May 16-17), Longevity Summit (Jun 12-14)
Q3 (Jul-Sep): MVU Estonia (Jul 20-Aug 2), Speaking Summit (Jul 25-26), Entrepreneurship Summit (Sep 25-27)
Q4 (Oct-Dec): Spiritual Summit (Oct 9-11), Future Human Dubai (Nov 6-8), Black Friday (Nov), Lifebook Live (Dec 19)
```

**Timing Rules:**
| OKR Type | Correct Quarter |
|----------|-----------------|
| "Secure sponsorships for [Event]" | 1 quarter BEFORE event |
| "Launch [Event]" or "Run [Event]" | Same quarter as event |
| "[Event] revenue" | Same quarter as event (when revenue recognized) |
| "Plan [Event]" or "Define [Event]" | 1-2 quarters BEFORE event |

**Validation Check:**
```
IF OKR mentions an event name:
  1. Look up event date in calendar
  2. Determine event quarter
  3. Check if OKR quarter matches expected timing
  4. FLAG if mismatch

Example:
  BAD: "Q1: Future Human sponsorship revenue" (event is Q4)
  GOOD: "Q3: Secure Future Human sponsorship commitments" (prep work)
  GOOD: "Q4: Future Human revenue target $X" (when revenue happens)
```

### 9. Strategy Change Propagation
When a strategy changes:
1. Find ALL OKRs linked to that strategy
2. Find ALL OKRs that mention that strategy's goals
3. Show cascading effects:
```
⚠️ STRATEGY CHANGE IMPACT:
Changing "Membership Strategy" will affect:

DIRECTLY LINKED:
- Exec OKR: Membership Revenue ($67M→$69M)
- Exec OKR: Membership Profitability (27.1%)

POTENTIALLY AFFECTED (mentions same metrics):
- Team OKR: Pathway Revenue (Q1)
- Individual OKR: Harri's Q1 targets

Should I update these related OKRs too? (yes/no/show details)
```

---

## Prerequisites

**ALWAYS read the knowledge base first:**
```
/Users/rafaysattar/Claude Code Projects/Mindvalley/OKR System/OKR-Brain.md
```

This file contains:
- All record IDs for executives, teams, and existing OKRs
- Financial baselines and targets
- Org structure and ownership assignments
- Current OKR hierarchy

---

## Airtable Configuration

**Base ID:** `appg8jwLS3C8Hb3V9`

### Tables

| Table | ID | Key Fields |
|-------|-----|------------|
| Business Units | tblMh7jWw7IOScFs2 | Name, Owner (Linked), Description |
| Products | tbl3kTE2pShUABngz | Product Name, Business Unit, Status |
| Departments | tblAkBXeL38wCwcLC | Department Name, People, Teams |
| Teams | tblKqJwnzqkKcvAcu | Name, Team Outcomes, Primary Metrics, Team OKRs |
| Team Members | tblz8x7vRhyeTX1y1 | Name, Title, Team (Linked), Owned Exec OKRs, My OKRs |
| Metrics | tbl0K9d6PBr1WGhFg | Metric Name, Definition, Business Impact, Category |
| Strategies | tblmHsBgjIQztb5Sv | Strategy Name, Strategy Link, Owner, Team, Strategy Text |
| Exec Annual OKRs | tbl4nk53l6v7nNYpG | Goal, Current Value, Status, Owner, Child Team OKRs |
| Team OKRs | tblV1KkyiCYJQNSFn | Goal, Start Period, End Period, Current Value, Status, Team Owner, Parent Exec Annual OKR |
| Individual OKRs | tbl3nYPkWL9CL2hBf | Goal, Start Period, End Period, Current Value, Status, Owner, Parent Team OKR |
| Deliverables | tblY9kvoqUEg8ADCL | Deliverable, Due Date, Status, Priority, Owner, Parent Individual OKR |

---

## OKR Hierarchy

```
Exec Annual OKRs (tbl4nk53l6v7nNYpG)
    └── Team OKRs (tblV1KkyiCYJQNSFn) - Quarterly (Q1, Q2, Q3, Q4)
            └── Individual OKRs (tbl3nYPkWL9CL2hBf) - Quarterly
                    └── Deliverables (tblY9kvoqUEg8ADCL)
                            └── Tasks
```

**Cascade Rules:**
- If Annual target changes → ALL quarterly targets must be recalculated
- If Quarterly target changes → Individual OKRs must be checked
- NEVER have Annual = "Set" but Quarterly = "TBD"

---

## Workflows

### 1. Create OKR

**VALIDATION FIRST:**
```
Before creating, run:
1. Duplicate check (search for similar goals)
2. Ownership validation (is this the right owner?)
3. Cascade check (does parent exist? are siblings complete?)
```

**Step 1: Determine Level**
Ask which OKR level:
- **Exec Annual OKR** - Company-wide annual goals (owned by executives)
- **Team OKR** - Quarterly team goals (owned by team leads)
- **Individual OKR** - Personal quarterly goals (owned by individual contributors)

**Step 2: Run Pre-Creation Validation**
```
CHECKING FOR DUPLICATES...
- Searching Exec Annual OKRs for "[goal keywords]"...
- Searching Team OKRs for "[goal keywords]"...
- Checking if [owner] already has similar OKR...

RESULT: [No duplicates found / DUPLICATE FOUND - BLOCKED]
```

**Step 3: Validate Ownership**
```
VALIDATING OWNERSHIP...
- [Metric type] is owned by [designated owner]
- Requested owner: [user's requested owner]
- RESULT: [VALID / MISMATCH - suggest correct owner]
```

**Step 4: Gather Information**
Ask for:
- Goal description (what outcome?)
- Owner name (who is responsible?)
- Baseline value (current state)
- Target value (desired state)
- Time period (for Team/Individual: Q1, Q2, Q3, Q4)

**Step 5: Check Cascade Completeness**
For Team OKRs:
```
CHECKING PARENT EXEC OKR...
- Parent: [Exec OKR name]
- Existing quarterly OKRs: Q1 ✓, Q2 ✓, Q3 ✗, Q4 ✗
- You are creating: Q3
- After creation: Q1 ✓, Q2 ✓, Q3 ✓, Q4 ✗
- NOTE: Q4 still missing - consider creating it too
```

**Step 6: Show Summary & Confirm**
```
READY TO CREATE:
Level: Team OKR
Goal: [goal]
Owner: [owner]
Parent: [exec OKR]
Period: Q1 2026

No conflicts detected. Proceed? (yes/no)
```

**Step 7: Create Record**
Only after user confirms "yes".

---

### 2. View OKRs

**Enhanced View with Health Check:**

When viewing OKRs, ALWAYS include:
1. The requested OKRs
2. Any GAPS or ISSUES detected

Example output:
```
## Rafay's OKRs

### Exec Annual OKRs
| Goal | Baseline | Target | Status | Quarterly Coverage |
|------|----------|--------|--------|-------------------|
| Membership Revenue | $67.3M | $69.0M | Not Started | Q1✓ Q2✓ Q3✓ Q4✓ |
| Lifebook Revenue | $1.4M | $1.5M | Not Started | Q1✓ Q2✓ Q3✓ Q4✓ |

### ⚠️ ISSUES DETECTED:
1. Checkout Conversion is assigned to Rafay but should be owned by Dario
2. Q3 Team OKR for LTV is missing
```

---

### 3. Update OKR

**MANDATORY Impact Analysis:**

**Step 1: Find the OKR**
Search and display current state.

**Step 2: Run Impact Analysis**
```
⚠️ IMPACT ANALYSIS FOR UPDATE:

Current: "Membership Revenue $67.3M → $69.0M"
Proposed: "Membership Revenue $67.3M → $70.0M"

CASCADING EFFECTS:
This change affects 12 linked Team OKRs:
- Q1: $16.8M → needs recalc to $17.5M
- Q2: $17.3M → needs recalc to $17.5M
- Q3: $17.4M → needs recalc to $17.5M
- Q4: $17.5M → needs recalc to $17.5M

Also affects 8 Individual OKRs:
- Harri Q1 target needs adjustment
- Cheryl Q1 target needs adjustment
...

PROCEED WITH UPDATE? (yes/no/show all affected)
```

**Step 3: Wait for Confirmation**
Do NOT proceed without explicit "yes".

**Step 4: Update with Cascade Option**
```
Update complete.
Do you want me to automatically adjust the 12 Team OKRs and 8 Individual OKRs? (yes/no)
```

---

### 4. Delete OKR

**Step 1: Find and Show Dependencies**
```
⚠️ DELETE IMPACT ANALYSIS:

OKR to delete: "Membership Revenue $67.3M → $69.0M"

LINKED RECORDS THAT WILL BE ORPHANED:
- 12 Team OKRs (will lose parent link)
- 8 Individual OKRs (will lose grandparent context)
- 4 Deliverables (will lose hierarchy)

OPTIONS:
1. Delete OKR only (orphan children)
2. Delete OKR and all children (cascade delete)
3. Cancel

Choose option (1/2/3):
```

**Step 2: Require Explicit Confirmation**
```
Type "DELETE [OKR name]" to confirm deletion:
```

---

### 5. Health Check Command (RUN PROACTIVELY)

**IMPORTANT: This check should run AUTOMATICALLY before any operation, not just when asked.**

When user asks "check OKRs" or "OKR health", OR before any create/update/delete:

```
## OKR SYSTEM HEALTH CHECK

### Executive Coverage
✓ Vishen - 3 Exec Annual OKRs
✓ Marisha - 6 Exec Annual OKRs
✓ Rafay - 4 Exec Annual OKRs
✗ Norman - 0 Exec Annual OKRs ← NEEDS ATTENTION
...

### Cascade Completeness
✓ Total Company Revenue - All quarters covered
✗ Mastery Revenue - Q4 Team OKR missing
✗ B2B Revenue - Q2, Q3 Team OKRs missing
...

### Ownership Mismatches
⚠️ Checkout Conversion assigned to Rafay (should be Dario)
⚠️ Activation Rate assigned to Membership (should be Product)
...

### Duplicates Found
⚠️ "CAC Reduction" exists twice:
   - Marisha's version: $280 → $230
   - Growth team version: $280 → $238
   RECOMMEND: Delete one

### TBD/Incomplete Values
⚠️ Q3 Profitability target = "TBD" (but Annual = 20%)
⚠️ Q4 Events Revenue = "TBD"
...

### Cross-Reference Issues
⚠️ Marisha has "Bari strategy call" but Bari OKR owned by Vishen
   RECOMMEND: Move to Vishen's OKRs or remove
...
```

---

### 6. Strategy Impact Check

When editing a strategy:

**Step 1: Show Current Strategy**
```
STRATEGY: Membership Growth Strategy
Owner: Rafay
Team: Membership

Current Text:
"Focus on pathway launches, LTV optimization..."
```

**Step 2: Identify Linked OKRs**
```
LINKED OKRs (will be affected by strategy change):

DIRECTLY LINKED:
1. Exec: Membership Revenue
2. Exec: LTV Growth
3. Team: Q1 Pathway Launch
...

MENTIONS SAME KEYWORDS:
4. Team: Checkout Conversion (mentions "LTV")
5. Individual: Harri's Pathway Revenue
...

Total: 15 OKRs potentially affected
```

**Step 3: Require Confirmation**
```
Changing this strategy may require updates to 15 OKRs.
Proceed with strategy edit? (yes/no)
```

---

## Status Values

| Status | Meaning |
|--------|---------|
| On Track | Progress is expected |
| At Risk | May miss target |
| Off Track | Will miss target |
| Completed | Goal achieved |
| Not Started | Work hasn't begun |

---

## Quarter Date Ranges (2026)

| Quarter | Start | End |
|---------|-------|-----|
| Q1 | 2026-01-01 | 2026-03-31 |
| Q2 | 2026-04-01 | 2026-06-30 |
| Q3 | 2026-07-01 | 2026-09-30 |
| Q4 | 2026-10-01 | 2026-12-31 |

---

## Executive Reference (with Record IDs)

| Name | Role | Record ID | Business Unit |
|------|------|-----------|---------------|
| Vishen Lakhiani | CEO & Founder | recvrO2faCzS5FlWI | Company |
| Marisha Lakhiani | Chief Growth Officer | rec9dxVXzt8e1jbR4 | Growth |
| Rafay Sattar | Managing Director | recqf2IMG2wARTook | Membership |
| Dario Bianchi | CPO | reczc154HtfirRNi8 | Product |
| Eni Selfo | Head of Events | recK6zZsO3Qcw9tip | Events |
| Norman Noble | CTO | recozWXTkYXHnt5hj | Technology |
| Jaideep Chagger | Academy Marketing | recHSP5x1aLUBs2vD | Academy |
| Alex Dogliotti | CHRO | recLr1lUaCdGHzGSr | People & B2B |
| Conny Domke | Academy Lead | recno3EUZKeT8ik8s | Academy |
| Jenny | CFO | recgHa4i2XSzQXqgt | Finance |
| Moniek | States | recaMxNevRj5wf06l | States |

---

## Example Commands

Users may say:
- "Create a Q1 team OKR for the Advertising team"
- "Show me Rafay's OKRs"
- "Update the Membership Revenue target to $80M"
- "What are all the At Risk OKRs?"
- "Check OKR health" ← Runs full validation
- "Run impact analysis on changing Membership strategy"
- "Who is missing OKRs?"

---

## Error Prevention Checklist

Before EVERY operation, verify:

- [ ] No duplicate OKR exists
- [ ] Owner is correct for this metric type
- [ ] All executives have OKRs
- [ ] Quarterly OKRs exist for all Annual OKRs
- [ ] No TBD values when parent has concrete values
- [ ] No cross-reference inconsistencies
- [ ] User has confirmed changes (for updates/deletes)
- [ ] Impact analysis shown (for updates/deletes)

**If ANY check fails, STOP and inform the user before proceeding.**
