com um clique
goals
View and manage company OKRs and key results.
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
View and manage company OKRs and key results.
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
Deploy or share generated HQ artifacts through hq-deploy.
Mark a company as HQ Pro cloud-backed and sync its team setup.
Send HQ Sync direct messages, prompts, details, or scheduled notes to teammates.
Run a full bidirectional sync for cloud-backed HQ companies.
Scaffold a new HQ company AND optionally take it all the way to operational — business-discovery interview, seeded knowledge/workers/skills/projects, brand design packs (generated from website/PDF/Drive and bound to deploys via policy), connected integrations, org groups + ACL rules, teammate invites, and optional cloud agents.
Resolve HQ Sync conflicts by choosing local, cloud, or discard.
| name | goals |
| description | View and manage company OKRs and key results. |
| allowed-tools | Read, Write, Edit, Bash, AskUserQuestion |
View and manage objectives + key results on company boards (board.json v2).
Input: $ARGUMENTS
Extract from $ARGUMENTS:
--company <slug> or -c <slug> — explicit company overrideadd-objective, add-kr, update-kr, set-status, link-linear, link-projectIf no subcommand → view mode (Step 3).
Priority order:
--company / -c flag → use exact slugcompanies/{slug}/ → infer from pathrepos/{pub|priv}/{name} → look up owning company in companies/manifest.yamlRead companies/manifest.yaml. Validate company slug exists.
Read companies/{co}/board.json. If schema_version is missing or < 2, warn: "Board needs migration. Run npx tsx core/scripts/migrate-board-v2.ts first."
Read board.json. Compute metrics:
source: "derived": recompute current from linked project statuses (count projects with status in ["done", "completed"])Display OKR tree:
OBJECTIVES — {company} [{date}]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[{status-emoji}] {objective title} ({timeframe})
Owner: {owner || "unassigned"}
{if linear_initiative_id: "Linear: {uuid-short}"}
KR 1: {kr title}
{progress-bar} {pct}% ({current}/{target} {unit})
Projects: {proj-id} {status-icon} {proj-id} {status-icon} ...
KR 2: ...
---
[{status-emoji}] {next objective} ...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Unlinked projects: {count}
Total: {obj-count} objectives, {kr-count} KRs, {proj-count} projects
Status emoji mapping:
on_track → ● (green context via text)at_risk → ◐off_track → ○completed → ✓paused → ⏸Progress bar: Unicode blocks: ████████░░ (10-char bar based on current/target ratio)
Ask via AskUserQuestion (batch into 1 call):
After user answers:
linear in manifest services: ask "Link to Linear initiative UUID?" (text input or skip){prefix}-obj-{max+1} (3-digit zero-padded, same prefix convention as existing objectives)key_results: []objectives[], update updated_at, write board.jsonPrint confirmation with the new objective ID.
Validate {obj-id} exists in objectives[].
Ask via AskUserQuestion (1 call):
After user answers:
{obj-id}-kr-{N} where N = existing KR count + 1status based on current/target ratio: >=70% → on_track, 40-70% → at_risk, <40% → off_trackproject_ids: [] (link projects separately)key_results[], update updated_at, write board.jsonIf user wants to link projects now, ask: "Link projects to this KR?" Show project list from board, allow multi-select.
Parse {kr-id} — format is {obj-id}-kr-{N}.
Find the objective containing this KR.
Update current to {value} (parse as number).
Recompute status: current/target ratio → on_track/at_risk/off_track/completed.
If current >= target and direction is "up", set status to "completed".
Update updated_at on both KR parent objective and board root.
Write board.json.
Print: Updated {kr-id}: {current}/{target} {unit} ({status})
Validate status is one of: on_track, at_risk, off_track, completed, paused.
Find objective, update its status field.
Update updated_at, write board.json.
Print: {obj-id} status → {status}
Find objective, set linear_initiative_id to {uuid}.
Update updated_at, write board.json.
If company has linear in manifest services, note: "Cross-referenced with Linear initiative {uuid}."
If company does NOT have linear in services, warn: "Note: {company} has no Linear integration in manifest."
Parse {kr-id} to find objective + KR.
Validate {proj-id} exists in projects[].
Add {proj-id} to KR's project_ids[] (skip if already present).
Also set objective_id on the project entry if not already set (use the KR's parent objective ID).
If KR source is "derived", recompute current from linked project statuses.
Update updated_at, write board.json.
Print: Linked {proj-id} to {kr-id} ({project-title})
qmd update 2>/dev/null || true/signals — commitments and decisions feeding goals/strategize — turn goals into a plan