Loop North Star
Create and refine ideal-state documentation, then break it into approved project milestones.
Installation
- Make sure Claude is on your device and in your terminal.
Skills load from
~/.claude/skills/when Claude Code starts up β so you need it on your machine first. If you don't have it yet, install it once with the command below, then runclaudein any terminal to verify.One-time setupnpm i -g @anthropic-ai/claude-codeAlready have it? Skip ahead.
- Paste into Claude Code or into your terminal.
This copies the whole skill folder into
~/.claude/skills/loop-northstar-rome-os/β the SKILL.md plus any scripts, reference docs, or templates the skill ships with. Safe default: works for every skill.Faster alternative (instruction-only skills)
Skips the clone and grabs only the SKILL.md file. Don't use this if the skill ships Python scripts, reference markdowns, or asset templates β they won't be downloaded and the skill will fail when it tries to load them.
Quick install (SKILL.md only)Sign up to copy - Restart Claude Code.
Quit and reopen Claude Code (or any other agent that loads from
~/.claude/skills/). New skills are picked up on startup. - Just ask Claude.
Skills auto-activate when your request matches the skill's description β no slash command needed. Trigger phrases live in the skill's own frontmatter; you can read them in the βWhat this skill doesβ section above.
Prefer to read the source first? Open on GitHub.
When Claude uses it
Hold an interactive session to create or revise an ideal-state doc, or to slice it into approved repository milestones.
What this skill does
Loop: north star
Goal end-state: the ideal state of the target area is written down and agreed β as a doc PR, and when the session slices it, as approved repository milestones.
This is the interactive half of the reconciliation loop. The autonomous half (loop-reconcile) computes the gap between these artifacts and the codebase and files work issues. This session files no work issues.
The ideal-state doc
The doc lives in docs/northstars/, one file per area, named for the area it describes. It describes the ideal present β what should be true. Never how to get there, and never what used to be. Prose follows WRITING.md.
The body takes whatever form fits the subject β contract tables, flow descriptions, diagrams, examples β with one required section: Statements, a bullet list of checkable claims. Only the Statements section has authority. loop-reconcile computes the gap against it, and everything else is illustration.
Admission rules for every statement:
- Declarative present tense. No "currently", no "we will", no "migrate from", no milestone names.
- Checkable: an agent can verify compliance by reading the code.
- Open: more than one implementation can satisfy it. The test: the statement stands without naming a file, function, or type. A statement only one implementation satisfies is code transcribed into prose.
- A statement asserting that something is answered one way, or once, names the question it answers. Compliance turns on which reads count as the same question, so a uniqueness claim without its question cannot be checked.
Content that never enters the doc:
- Milestones. They go to the repository's milestone list and die there.
- Rationale. It goes to an ADR.
- Migration policy. It lives in
loop-reconcile.
Milestones
A milestone is an intermediate ideal state. Its description is a Statements list β typically a subset or a weakened version of the north star's statements β plus optional notes. The same admission rules apply: what, never how.
- Slice the end state into pillars or layers. Pillars are independent and build in any order. Layers stack and build bottom up.
- A milestone must describe a state worth pausing at indefinitely. If pausing there leaves the codebase incoherent, the slice is wrong.
- Milestones are born approved. Consensus happens in this session, and the record lands as repository milestones. No proposed state exists.
- A milestone that falls behind a revised doc gets fixed here too:
loop-reconcilereports the drift and stops, and the next session revises the milestone. - A session that revises a doc also walks the open milestones and updates any statement the revision changed or removed, while the human is present to confirm.
Flow
- Orient. Read the existing doc if there is one, the repository's open milestones and
loop-reconcileissues, and the code the doc covers. - Discuss to consensus. Draft in chat and iterate with the user. Push back on any statement that fails an admission rule.
- Name each statement's decider. For every statement the session lands, new and existing, name the code a reader opens to decide compliance. A statement whose decider you cannot name is not checkable, and it does not land. This is the step that catches a statement describing a question the code does not ask.
- Check consistency. Walk the full Statements list β new and existing statements together β and surface any two that cannot both hold. A revision session checks against the whole doc, not only the edited part.
- Land the artifacts, only after the user's go-ahead in chat:
- The doc: open a branch and a PR. The user merges.
- The milestones: create each on GitHub with
gh api repos/{owner}/{repo}/milestones -f title=... -f description=...β the title names the slice, the description holds its Statements list. Create layers in build order.
Nothing lands before the go-ahead.
Related skills
Claude API Helper
anthropics
Build, debug, and optimize Claude API applications with caching and model migration support.
Documentation Co-Authoring
anthropics
Guide structured workflows for writing docs, proposals, and technical specs collaboratively.
PPTX Text Extractor
axoviq-ai
Extract text and speaker notes from PowerPoint presentations.
Memory Search
davila7
Search conversation history and recall previous discussions, decisions, and context.