/strategize - Strategic Prioritization
SkillDev toolsPrioritize what to work on next, optionally with deep review.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the /strategize - Strategic Prioritization skill
What this skill tells your AI
The instructions your AI receives, as published by indigoai-us/hq-core in .claude/skills/strategize/SKILL.md and read by ahel’s review.
Answer "what should I work on next?" Quick mode gives a prioritized 3-5 list. Deep mode writes a full strategic review.
Input: $ARGUMENTS
Pipeline: /idea → /brainstorm → /plan → /strategize → /run-project
Step 0: Parse Input & Company Anchor
Check if first word of $ARGUMENTS matches a company slug in companies/manifest.yaml.
How to check: Read companies/manifest.yaml. Extract top-level keys (company slugs). If the first word of $ARGUMENTS exactly matches one:
- Set
{co}= matched slug. Strip from$ARGUMENTS - Announce: "Anchored on {co}"
If no match → company resolved in Step 1.
Flag detection: Check remaining args for --deep. If found, set mode = deep, strip flag. Default: mode = quick.
Step 1: Resolve Company
If {co} already set from Step 0: skip to Step 2.
Priority order:
- cwd inside
companies/{slug}/→ infer from path - cwd inside
repos/{pub|priv}/{name}→ manifest lookup for owning company - Ask via AskUserQuestion: "Which company?" — list slugs that have board.json
Read companies/{co}/board.json. If file doesn't exist: "No board.json for {co}. Run /idea to start one." — exit.
If schema_version < 2 or missing: warn "Board is v1 — objective analysis unavailable. Showing project-only view." — proceed with projects only.
Step 2: Load Board Data
From companies/{co}/board.json extract:
objectives[]with theirkey_results[]projects[]— exclude statusarchived
PRD reads: For each non-archived project where prd_path is set AND status is in_progress or prd_created:
- Read the prd.json file at the path
- Extract:
story_total=userStories.length,story_done= count wherepasses === true,prd_status=metadata.status - Cap at 15 prd.json reads — prioritize
in_progressfirst, thenprd_created - If file doesn't exist at
prd_path, skip silently (note "PRD not found" in output)
Step 3: Compute Signals
A. STALLED
Projects where:
- Board status =
in_progress - Story completion < 25% (or 0 done out of 3+ total)
- Has
prd_path(distinguishes real projects from ideas marked in_progress)
B. READY
Projects where:
- Board status =
prd_createdORprd_status=ready - Has valid
prd_path - Story completion = 0% (not started)
C. ALIGNED-IDEA
Projects where:
- Board status =
ideaorexploring - Has
objective_id(aligned to an objective) - No
prd_pathset
D. COVERAGE-GAP
For each objective: collect all linked project IDs from key_results[].project_ids + projects with matching objective_id. If NO linked project has status in_progress or prd_created → objective has no active work.
E. Capacity (context only)
Count projects with board status in_progress.
Step 4: Score & Rank
Internal scoring (not shown to user):
READY: base 80 + 10 ifobjective_idsetALIGNED-IDEA: base 60 + 20 ifbrainstorm_pathexistsSTALLED: base 40 + 20 if >50% stories done (almost there), -20 if 0% done and >5 storiesCOVERAGE-GAP: base 30
Pick top 3-5 across all signal types. Deduplicate (same project can't appear twice). Tiebreak: READY > ALIGNED-IDEA > STALLED > COVERAGE-GAP.
Step 5: Output — Quick Mode
Print to terminal:
STRATEGY — {company} [{date}]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
In flight: {N} active | {M} ready | {K} stalled
TOP PRIORITIES
━━━━━━━━━━━━━━
1. [READY] {project title}
Why: {1-sentence reasoning — alignment, effort, momentum}
State: {status} | {done}/{total} stories | Obj: {obj-title or "unaligned"}
Next: /run-project {prd-slug}
2. [STALLED] {project title}
Why: {reasoning}
State: {status} | {done}/{total} stories | Obj: {obj-title or "unaligned"}
Next: /run-project {prd-slug}
... (up to 5)
Signal labels: [READY] [STALLED] [IDEA] [GAP]
If COVERAGE-GAP detected but not in top 5:
Note: "{obj-title}" has no active projects.
If >10 in-flight projects:
Note: {N} concurrent projects — consider completing before starting new work.
Next action routing table:
| Project state | Suggested action |
|---|---|
idea, no brainstorm | /brainstorm {co} {slug} |
exploring, has brainstorm | /plan {co} {slug} |
prd_created or ready | /run-project {prd-slug} |
in_progress, stalled | /run-project {prd-slug} (resume) |
| COVERAGE-GAP (no project) | /idea {co} --objective {obj-id} |
Then AskUserQuestion with options:
- Act on #1 — {title} ({next-action-verb})
- Act on #2 — {title} ({next-action-verb})
- Act on #3 — {title} ({next-action-verb})
- Run deep review (
--deep)
When user picks an option: execute the routed command (e.g., invoke /run-project, /brainstorm, /plan, or /idea).
Step 6: Output — Deep Mode
Everything in Step 5 PLUS generate a markdown report.
Additional analysis:
OKR Progress — For each objective:
- List KRs with progress (current/target, %). Derived KRs: recompute
currentfrom linked project completion counts - Status: >=70% → on_track, 40-69% → at_risk, <40% → off_track
- Flag objectives with ALL KRs off_track or NO KRs as
AT-RISK
Project Funnel:
idea: N → exploring: N → prd_created: N → in_progress: N → done: N
Assess: top-heavy (many ideas, few executing), balanced, or bottom-heavy.
Unaligned Work — All in_progress or prd_created projects with no objective_id.
Capacity — Flag if in_progress > 5: "High WIP — consider completing before starting."
Write report to: workspace/reports/{co}-strategy-review.md
# {Company} Strategic Review
_Generated {date}_
## Summary
{2-3 sentence executive summary}
## Capacity
{N} projects in flight. {Assessment: focused/overloaded/underleveraged}
## OKR Coverage
| Objective | KRs | Progress | Status |
|---|---|---|---|
| {title} | {count} | {avg %} | {status} |
### At-Risk Objectives
{List with reasoning, or "None"}
## Project Funnel
{Text funnel + assessment}
## Top Priorities
{Same 3-5 list from quick mode with fuller reasoning}
## Unaligned Work
| ID | Title | Status |
|---|---|---|
{Projects with no objective_id}
## Recommended Actions
{Numbered list matching priorities with full commands}
After writing: qmd update 2>/dev/null || true
Print: Report written: workspace/reports/{co}-strategy-review.md
Then present same AskUserQuestion as quick mode.
Rules
- Read-only — no board.json writes, no Linear API calls, no PRD modifications
- 15 prd.json reads max — prevent timeout on large boards
- No HTML — this command is text/markdown only
- No brainstorm.md — that is
/brainstorm. This command ROUTES to it - 1 AskUserQuestion max for clarification (Step 1). 1 for action routing (Step 5/6). Never batched together
- Skip archived projects — don't surface, don't count
- Staleness = story completion % — primary signal.
updated_atis unreliable (mass-set dates). Say "0/8 stories complete" not "inactive for 30 days" - Graceful on missing data — no prd_path → skip story count, show "no PRD". No objectives → skip OKR sections. No KRs → flag as "needs KRs"
- Company isolation — scope all reads to
companies/{co}/. Never mix company data - Deep mode writes exactly 1 file —
workspace/reports/{co}-strategy-review.md - Do NOT use TodoWrite or EnterPlanMode
Signals
- GitHub stars
- 84
- Forks
- 15
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
strategize- Source
- github.com/indigoai-us/hq-core