본문으로 건너뛰기
cccskills
무료GitHub에 공개

goals

View and manage company OKRs and key results.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

indigoai-us/hq-core스타 90(GitHub 90 + cccskills 0)

실행 점수 미검증

설치 방법 보기

포함된 파일(2)

  • SKILL.md6.1 KB
  • agents/openai.yaml109 B

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

/goals - OKR Management

View and manage objectives + key results on company boards (board.json v2).

Input: $ARGUMENTS

Step 1: Parse Input

Extract from $ARGUMENTS:

  • --company <slug> or -c <slug> — explicit company override
  • Subcommand (first non-flag word): add-objective, add-kr, update-kr, set-status, link-linear, link-project
  • Subcommand args (remaining positional args after subcommand)

If no subcommand → view mode (Step 3).

Step 2: Resolve Company

Priority order:

  1. --company / -c flag → use exact slug
  2. cwd inside companies/{slug}/ → infer from path
  3. cwd inside repos/{pub|priv}/{name} → look up owning company in companies/manifest.yaml
  4. Default to asking user

Read 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."

Step 3: View Mode (no subcommand)

Read board.json. Compute metrics:

  • Per KR with source: "derived": recompute current from linked project statuses (count projects with status in ["done", "completed"])
  • Per objective: compute overall progress = avg of (KR current/target) across its KRs, or 0% if no KRs

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)

Step 4: add-objective

Ask via AskUserQuestion (batch into 1 call):

  1. Title — 1-line strategic goal
  2. Description — optional longer context
  3. Timeframe — e.g. "2026-H1", "2026-Q2", "2026", "ongoing"
  4. Owner — free text (person name/slug) or null

After user answers:

  1. Read board.json
  2. Show existing objectives + existing initiatives. Ask: "Link to existing initiatives?" (multi-select from initiatives list, or "None")
  3. If company has linear in manifest services: ask "Link to Linear initiative UUID?" (text input or skip)
  4. Generate ID: {prefix}-obj-{max+1} (3-digit zero-padded, same prefix convention as existing objectives)
  5. Build objective entry with empty key_results: []
  6. Append to objectives[], update updated_at, write board.json

Print confirmation with the new objective ID.

Step 5: add-kr {obj-id}

Validate {obj-id} exists in objectives[].

Ask via AskUserQuestion (1 call):

  1. Title — measurable outcome statement
  2. Metric — machine-readable slug (e.g. "active_users", "revenue_mrr", "features_shipped")
  3. Target — numeric target value
  4. Current — numeric current value (default 0)
  5. Unit — display unit ("users", "%", "$k", "features", etc.)
  6. Direction — "up" (higher=better) or "down" (lower=better)
  7. Source — "manual" (you update it) or "derived" (computed from linked project completion)

After user answers:

  1. Generate KR ID: {obj-id}-kr-{N} where N = existing KR count + 1
  2. Set status based on current/target ratio: >=70% → on_track, 40-70% → at_risk, <40% → off_track
  3. Set project_ids: [] (link projects separately)
  4. Append to objective's key_results[], update updated_at, write board.json

If user wants to link projects now, ask: "Link projects to this KR?" Show project list from board, allow multi-select.

Step 6: update-kr {kr-id} {value}

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})

Step 7: set-status {obj-id} {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}

Step 8: link-linear {obj-id} {uuid}

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."

Step 9: link-project {kr-id} {proj-id}

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})

Rules

  • 1 AskUserQuestion max per subcommand — batch all questions
  • board.json is the only file written
  • Follow existing ID conventions — prefix from existing entries, zero-padded 3-digit numbers
  • Never block on errors — if board.json is v1 or malformed, warn and exit gracefully
  • Reindex after writes: qmd update 2>/dev/null || true

See also

  • /signals — commitments and decisions feeding goals
  • /strategize — turn goals into a plan

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

accept

무료

Accept HQ membership invites from a magic link or raw token.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

indigoai-us/hq-core902026년 10월 26일 업데이트

adr

무료

Capture qualifying architecture decisions as ADRs in the right HQ or repo location.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

indigoai-us/hq-core902026년 10월 26일 업데이트

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

indigoai-us/hq-core902026년 10월 26일 업데이트

architect

무료

Find shallow modules and propose deepening refactors, ranked with file refs; never edits code. Use when code is hard to change or planning a refactor.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

indigoai-us/hq-core902026년 10월 26일 업데이트

Generate dark ASCII banner graphics for HQ and social launch assets.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

indigoai-us/hq-core902026년 10월 26일 업데이트

Compare approaches to best-in-class prior art, merge existing work, verify cruft removal, and recommend the most durable design before PRD work.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

indigoai-us/hq-core902026년 10월 26일 업데이트

indigoai-us의 스킬 모두 보기

이 스킬의 문제 신고