north-star-review
Run the north-star review engine against every active thought in the project. The engine reads each thought's anti-patterns, greps the live codebase for hits, and emits a ranked list of suggested next
Files1
View on GitHubSKILL.mdskills/north-star-review/SKILL.md
GitHub/north-star-review — Read aspirations, compute gaps, emit suggestions
When invoked, run .claude/scripts/north_star_review.py and present the ranked output to the user.
Step 1: Run the review
py -3 ".claude/scripts/north_star_review.py" --project <project-name>
Defaults: if no --project argument is provided, the script discovers every project under .claude/north-stars/ and reviews them all. To review one project, pass the project.name slot of .claude/project-profile.md as the argument.
Optional flags the user may pass after /north-star-review:
--update— rewrite theCurrent gapandSuggested next stepssections of each thought file in place. Without this flag, the script only prints; the files stay untouched.--single <slug>— review one thought only.--repo-root <path>— override the codebase root used for grep (defaults to the project's known location).--json— machine-readable JSON output.
Step 2: Present the report
The script output already has the shape the user wants — pass it through verbatim. It lists, per active north-star:
- Title, slug, status
- Gap signals (count + concrete file paths from the anti-pattern grep)
- Suggested next steps (count +
/design-firstinvocations to advance toward the aspiration)
Step 3: Offer the update step
After presenting the dry-run, ask via AskUserQuestion:
"Write these gap signals and suggested next steps into the thought files? (
--updaterewritesCurrent gapandSuggested next stepsin each.md; the rest of each file stays verbatim.)"
If the user confirms, re-run with --update and confirm the writes landed.
Step 4: Offer to act on top suggestions
For the ranked suggestion list, ask the user via AskUserQuestion:
"Pick a suggested next step to draft now via
/design-first, or skip."
Options should be the top 3 suggestions across all north-stars (one per north-star, prioritized by gap count). If the user picks one, invoke /design-first with the suggested task title — this hands off to the data-architect, which will then read the aspirations in its Step 0.5 and produce a contract that explicitly cites the north-star it advances.
Step 5: If nothing actionable, say so
When all north-stars return zero gap signals (no anti-pattern hits in the codebase), tell the user:
"All active north-stars are unblocked at the file-grep level. No anti-patterns currently in the codebase. Next move is to define richer anti-patterns OR to add feature work that ACTIVELY advances each aspiration — not remediation. Re-run after the next contract lands."
Notes on the engine
The script is fail-soft: missing CodeGraph CLI, missing repo, parse errors — all degrade gracefully and emit warnings to stderr. The script never modifies anything without --update.
What this skill does NOT do
- Does NOT create new north-stars — use
/north-star "<aspiration>"for that. - Does NOT promote a suggestion into a contract automatically — the user must invoke
/design-firstexplicitly after picking from the suggestion list. - Does NOT modify thought files without
--update.
Periodic auto-review
The user can schedule this skill via /schedule or a CronCreate-style routine for weekly runs. The recommended cadence: weekly on Monday morning, with --update enabled so the thought files accumulate a longitudinal gap-signal history.
/schedule "Weekly north-star review" --cron "0 9 * * 1" --command "/north-star-review --update"
Output of scheduled runs lands in stdout — pair with the existing notification pipeline to surface the gap-signal changes vs the previous week.