skills/okrs/SKILL.md
OKR writing, cascading, scoring, and review cycles. Use when: setting team or individual OKRs, cascading company OKRs to team level, writing measurable key results, preparing for OKR reviews, scoring OKRs at end of cycle, coaching team members on effective OKR writing, or auditing existing OKRs for quality.
npx skillsauth add michaelsvanbeek/personal-agent-skills okrsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
An objective is what you want to achieve. It is:
Good: "Establish our platform as the most reliable in the industry" Bad: "Improve uptime SLA metrics by optimizing infrastructure monitoring and alerting"
A key result is how you measure progress toward the objective. It is:
Good: "Reduce P1 incident count from 8/quarter to 2/quarter" Bad: "Implement better monitoring" (activity, not outcome) Bad: "Improve reliability" (not measurable)
Objective: <What we want to achieve>
KR1: <Metric from X to Y>
KR2: <Metric from X to Y>
KR3: <Binary: Ship X by date>
Aim for 2–5 key results per objective and 2–4 objectives per team per quarter.
Company OKRs flow down through the org, but cascading is not copying:
Company OKR
└─ Org OKR (how this org contributes to company goal)
└─ Team OKR (how this team contributes to org goal)
└─ Individual OKR (optional — how this person contributes to team goal)
Company: "Accelerate enterprise customer acquisition"
└─ Org: "Deliver enterprise-ready platform capabilities"
└─ Team: "Establish SOC 2 compliance for the data pipeline"
KR1: Pass SOC 2 Type II audit by end of Q2
KR2: Remediate all critical findings within 2 weeks of discovery
KR3: Automate 90% of compliance evidence collection
For each OKR, verify:
| Check | Pass? | |-------|-------| | Objective is qualitative and directional | | | Objective fits in one sentence | | | Each KR has a specific metric or binary deliverable | | | Each KR has a baseline ("from X") and target ("to Y") | | | KRs measure outcomes, not activities or tasks | | | KRs are within the team's control or strong influence | | | Achieving all KRs would clearly achieve the objective | | | 2–5 KRs per objective (not more) | | | 2–4 objectives per team (not more) | | | At least one KR is a stretch (not guaranteed at 100%) | |
| Anti-Pattern | Problem | Fix | |-------------|---------|-----| | Task masquerading as KR | "Deploy monitoring dashboard" is a task | "Reduce mean time to detect from 45min to 5min" | | Sandbagging | All KRs are easily achievable | At least one KR should be a genuine stretch | | Too many OKRs | 6 objectives with 5 KRs each = 30 things to track | Max 4 objectives, 5 KRs each | | Vanity metrics | "Increase test count to 500" | "Reduce escaped defects from 12/quarter to 3/quarter" | | No baseline | "Improve page load time" — from what? | Always include current state: "from 3.2s to 1.5s" | | Annual OKRs only | Too long to course-correct | Quarterly OKRs with annual themes | | Set and forget | OKRs written in January, never reviewed | Check-in monthly at minimum |
At the end of each cycle, score each KR:
| Score | Meaning | |-------|---------| | 0.0–0.3 | Failed to make meaningful progress | | 0.4–0.6 | Made progress but fell short of the target | | 0.7–0.9 | Hit the target or came close — this is the sweet spot | | 1.0 | Fully achieved (if all KRs score 1.0, you probably aimed too low) |
# Q[N] YYYY OKR Review — [Team Name]
## Summary
Overall score: X.XX / 1.0
Key wins: ...
Key misses: ...
## Objective 1: <Title>
Score: X.X
### KR1: <Description>
- Target: <what we aimed for>
- Actual: <what we achieved>
- Score: X.X
- Evidence: <link to data, dashboard, or artifact>
- Notes: <what helped or blocked>
### KR2: ...
## Lessons Learned
- What we'd do differently next time
- What we'd double down on
## Carry-Forward
Items to continue in the next cycle
| When | Activity | |------|----------| | Quarter start (Week 1–2) | Draft OKRs, align with org, finalize and publish | | Monthly | Check-in: update KR progress, flag risks, adjust if needed | | Mid-quarter | Formal mid-cycle review — are we on track? | | Quarter end (Last week) | Score OKRs, write review, feed into next quarter planning |
development
TypeScript coding standards and type safety conventions. Use when: creating TypeScript files, defining interfaces and types, writing type-safe code, reviewing TypeScript for type correctness, auditing a codebase for type safety gaps, eliminating any or ts-ignore usage, or improving strict-mode compliance. Covers strict typing, avoiding any and ts-ignore, discriminated unions, Zod runtime validation, immutability patterns, and proper type definitions.
testing
Writing clear, actionable tickets in any issue tracker (Jira, Linear, GitHub Issues, ServiceNow, etc.). Use when: creating epics, stories, tasks, bugs, or spikes; writing acceptance criteria; decomposing work for a sprint; linking dependencies between tickets; auditing backlog items for clarity; or coaching a team on ticket quality. Covers title conventions, description templates, acceptance criteria, decomposition rules, dependency linking, and org-specific pluggable configuration.
development
Testing strategy, patterns, and evaluation for software and LLM/AI systems. Use when: writing tests, choosing test boundaries, designing test data, structuring test suites, evaluating LLM outputs, building evaluation pipelines, setting coverage thresholds, auditing test coverage gaps in existing projects, or improving test quality and structure.
development
Writing effective status updates for different audiences and cadences. Use when: writing a weekly status update, preparing a monthly summary, drafting a quarterly review, sending updates to leadership, sharing progress with stakeholders, or improving the clarity and impact of team communications. Covers weekly, monthly, and quarterly formats tailored for upward, lateral, and downward communication.