Skip to content
Development
Skill

/okr

Draft and track a strategic OKR charter — turn a human's plain-language goal into ONE Objective + 2-5 measurable Key Results, link existing tasks, and route the commit to a human sponsor. Use whenever the user wants to set a strategic goal / OKR / objective, "立个 OKR", or "把 X 推到

BOOST
From plugin
prismercloud
1.6k102 skills
Install
$ npx -y skills add Prismer-AI/PrismerCloud --skill okr --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/okr

Context preview

The summary Claude sees to decide when to auto-load this skill.

Draft and track a strategic OKR charter — turn a human's plain-language goal into ONE Objective + 2-5 measurable Key Results, link existing tasks, and route the commit to a human sponsor. Use whenever the user wants to set a strategic goal / OKR / objective, "立个 OKR", or "把 X 推到

SKILL.md

okr.SKILL.md
name: okr
scope: persistence
description: Draft and track a strategic OKR charter — turn a human's plain-language goal into ONE Objective + 2-5 measurable Key Results, link existing tasks, and route the commit to a human sponsor. Use whenever the user wants to set a strategic goal / OKR / objective, "立个 OKR", or "把 X 推到 GA". Executes via the `cloud okr` CLI.

OKR

Use this skill to **draft an OKR charter** from a human's goal: one Objective, 2-5 Key Results, each with a baseline→target and a *real* evidence source, plus links to the tasks that move them. Every operation goes through the `cloud okr` CLI — never tell the user an objective was created / committed / scored unless the command actually returned an id and state.

You **draft and propose**. The human **commits**. That split is the whole point of this skill (see ⛔ hard rules).

When to use

  • The user wants to **set a strategic goal**: "let's set an OKR for Q3", "立个 OKR", "make reliability our objective this cycle", "把搜索推到 GA".
  • A long-running objective should become a tracked **Objective + Key Results**, not a loose `kind=goal` card. (When the user says "make this a goal", draft an objective charter here, not a plain task.)
  • You need to **link** existing tactical tasks to the Key Result they serve.
  • The user wants to **see OKR health** — the objective tree with KR progress.

If the request is a single tactical deliverable ("review this PR", "write the report"), that's the `tasks` skill, not this one. Strategic outcome → here; tactical card under an existing objective → `tasks` with the KR link.

Charter drafting methodology

From a human's plain-language goal, draft **ONE Objective + 2-5 Key Results**. Before drafting, ask for whatever is missing:

  • **Outcome** — what observable end-state defines success? (the Objective title)
  • **Deadline / cycle** — which cycle does this belong to? (`--cycle 2026-Q3`)
  • **Owner** — which agent/human drives it? (`--owner <imUserId>`)
  • **Sponsor** — which **human/admin** stands behind it? (`--sponsor <human imUserId>`) — **required for a committed objective.**
  • **Per KR**: a baseline → target, and a **measurable source**. Today's KNOWN sources are ONLY:
  • **task acceptance** — a `task`/`milestone` KR whose progress is the count of linked tasks that pass acceptance.
  • **IMMetricEvent metric binding** — a `metric` KR bound to an existing metric stream (`--metric-namespace --metric-name --metric-agg`).
  • **human-confirm** — a `qualitative` KR a human scores explicitly with a value + evidence.

Then:

1. **Draft the objective** (agent proposes — it is NOT yet committed):

   cloud okr objective create \
     --workspace "$PRISMER_WORKSPACE_ID" \
     --title "Search is GA-ready" \
     --type committed \
     --narrative "Definition of done: search ships to all users with p95 < 300ms and zero P0s." \
     --cycle 2026-Q3 \
     --owner <imUserId> \
     --sponsor <human imUserId>

2. **Propose each KR** with baseline/target/unit/direction/weight + an evidence policy:

   # metric-backed KR (bound to a real IMMetricEvent stream)
   cloud okr kr add <objectiveId> \
     --title "p95 search latency under 300ms" \
     --type metric --baseline 480 --target 300 --unit ms --direction decrease --weight 2 \
     --metric-namespace search.latency --metric-name p95 --metric-agg last \
     --evidence "IMMetricEvent search.latency:p95, last value per cycle"

   # task-backed KR (progress = linked tasks that pass acceptance)
   cloud okr kr add <objectiveId> \
     --title "Ship 4 launch-blocker fixes" \
     --type task --baseline 0 --target 4 --direction increase \
     --evidence "count of linked tasks with passing acceptance"

3. **Link existing tasks** to the KR they serve (don't create unscoped strategic tasks):

   cloud okr link <objectiveId> <keyResultId> <taskId>

4. **STOP and hand the commit to the human sponsor.** Print the objective id + KR ids and say: *"Charter drafted. @<sponsor> (human) — review and `cloud okr objective commit <id>` when you approve."* Do **not** commit it yourself.

⛔ Hard rules

These are enforced server-side; violating them returns a `403` you cannot work around.

1. **NEVER commit an objective yourself.** `cloud okr objective commit` requires a **human sponsor**; an agent caller gets `AGENT_CANNOT_COMMIT`. Your job ends at *draft + propose*. Surface the objective and ask the human sponsor to commit. 2. **A `committed`-type objective REQUIRES a human/admin sponsor** (`--sponsor <human imUserId>`). Without one, commit returns `SPONSOR_MUST_BE_HUMAN`. An `aspirational` objective may skip the sponsor. 3. **NEVER score a `qualitative` KR without an explicit, human-confirmed value + evidence.** Use `cloud okr kr recompute <krId> --value <n> --evidence <ref>` and only with a value the human actually gave you. Metric/task KRs recompute from their real source automatically — don't hand-feed numbers there. 4. **Bind KRs ONLY to today's sources** — task acceptance, IMMetricEvent metric binding, or human-confirm. Do **NOT** invent token/spend/credit targets, CRM pipelines, or analytics metrics — those data sources do not exist (FROZEN). A KR whose evidence you can't name is not a KR; ask the human how it will be measured. 5. **Do NOT create unscoped strategic tasks.** Tactical work for an objective is an existing task **linked to a KR** via `cloud okr link`. If strategic work has no task yet, draft the objective/KR first, then create the task (via the `tasks` skill) and link it.

Lifecycle back-half

After an objective is committed it runs through `committed → graded → archived`:

  • **Check-ins** — you (an agent) MAY draft a check-in. It snapshots the score + each KR's current/status. `cloud okr objective checkin <objectiveId> [--note "<t>"] [--confidence 0.6] [--decision continue|rescope|add-resource|pause|cancel]`.
  • **Grade and archive are HUMAN decisions.** `cloud okr objective grade <id>` and
Read more
Ships withprismercloud

Prismer Cloud

Get the whole plugin
Stats
1,554
Stars
17
Forks
Active
Maintenance
TypeScript
Language
MIT
License
2d ago
Last commit
6mo ago
Created

Repo: Prismer-AI/PrismerCloud

Other skills on prismercloud.