scope
Skill1 starsChanged 57 days agoMITView on GitHub
Break a planned item, plan, spec, or the current conversation into dispatchable openDebt entries in the project's APP_MAP.json, each carrying the file:line evidence the queue extractor and the builder both read. Use when work is agreed but not yet buildable, or when a plannedWork.backlog item needs scoping.
42 other projects use a version of this.
Adopted by
Most recently taken up by
- sanmidable/skillstheir own version, first seen Nov 8, 2026
- lilly-builds/senior-engineer-modetheir own version, first seen Nov 8, 2026
- Kreycin/scopetheir own version, first seen Nov 8, 2026
- mblauberg/provenanttheir own version, first seen Nov 8, 2026
- 0xUrsanomics/utopia-ostheir own version, first seen Nov 1, 2026
- fynnhaupt/skillstheir own version, first seen Nov 1, 2026
Used with
Projects with it also use frames, develop and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
sanmidableSkillframes
Also in 3 projects that use this
hong9LeeSkilldevelop
빌드, 아키텍처, git 관련 작업 시 OMS MSA 공통 인프라 규칙을 적용한다. 기술 스택, 빌드 명령, 헥사고날 아키텍처 구조, git 워크플로우, AI Context 동기화 규칙을 다룬다. 코드 작성 컨벤션은 /convention, 테스트 컨벤션은 /test-guide 스킬을 참조.
Also in 6 projects that use this
minhtran3124Skillvisual
Skill graph visualizer — scans all SKILL.md files in skills/, builds a directed relationship graph from explicit `relationships` frontmatter (falling back to content inference), and generates both a Mermaid markdown summary and an interactive HTML graph at .docs/skill-graph.html. Trigger: /visual
Also in 3 projects that use this
MicrosoftSkillsync
Sync the current session branch with its upstream branch, or publish the current session branch to a remote. Use when the user asks to sync a branch, pull latest changes, rebase onto upstream, push current branch, publish branch, or set upstream.
Also in 7 projects that use this
nicolasestremSkilldocument
Create focused documentation for specific components or features
Also in 5 projects that use this
Skeln-ioSkillcopy
Direct response copywriting using proven frameworks. Brand-aware — reads ICP, voice, and tone from your brand config. Covers product descriptions, SEO meta, email, social, press angles.
Also in 3 projects that use this
Other versions42 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 42
- jsmastery-pro/skills★ 1.4ksame name
- suboss87/FDEOps★ 940same name
- AlexZio00/sovereign-skills★ 157same name
- crisandrews/ClawCode★ 64same name
- raphaelsalaja/skills★ 62same name
- Dan-Cleary/fdestack★ 40same name
- YuriNachos/claude-scope★ 11same name
- jack4world/auditstack★ 9same name
- Kreycin/scope★ 4same name
- klmiing1229-a11y/Vague_Goal_To_Clear_Plan★ 3same name
32 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository27 other files it gives its agents.
- blast-radiusSkill
- codebase-designSkill
- code-reviewSkill
- create-verification-skillSkill
- designingSkill
- domain-modelingSkill
- handoffSkill
- hf-cliSkill
- howSkill
- implementSkill
- improve-codebase-architectureSkill
- interrogateSkill
- laziness-protocolSkill
- maintain-verification-skillSkill
- navigatorSkill
- no-commentsSkill
- prototypeSkill
- recallSkill
- redesign-from-first-principlesSkill
- researchSkill
- review-unpushedSkill
- show-me-your-workSkill
- technical-writingSkill
- tracerSkill
- unslopSkill
- whiteboardSkill
- writing-for-agentsSkill
The file
Files
plannedWork is defined as wanted, not yet dispatchable. These need scoping first. This skill is that step: it takes an item nobody can build yet and produces openDebt entries a builder can be handed.
navigator / architecture review --> plannedWork.backlog --> scope --> openDebt
(agreed) (dispatchable)
|
extract-queue --> QUEUE.json --> buildersThis is the phase after a map exists. Before one does, work is sized for feedback rather than for parallelism. Call the Skill tool for tracer instead, which slices vertically and builds serially until there is enough system to map.
The whole job is one transition, and its bar is a single question, taken from openDebt's own $comment: can a builder open the cited file and see the thing? Where the answer is no, the item is not scoped yet, whatever else you know about it.
Read docs/MAP_GUIDE.md from the sprint-harness kit before writing an entry. Use a local checkout if there is one, otherwise fetch it from the repo. It is the writing standard for all four fields, and this skill does not restate it. Write no entry from memory of it.
Why this may write facts
codemod.py may never write a mechanism and intake.py may never promote into openDebt, both for the same reason: nothing in them has read the repo. This skill has. That license is the entire content of the step. You are converting a claim into a finding by going and looking, and it is spent the moment you write an entry you did not verify. An unverified evidence line is worse than no entry: the builder checks the citation before changing anything, and a wrong one turns into a staleEvidence report and a wasted node.
1. Read the source
Work from what the user points at: a plannedWork.backlog item by its n, an effort doc under docs/app-maps/efforts/, a spec path, or the conversation. Take the whole thing. A backlog item's ref names the decision it came from, and that decision's answer in decisionsSettled usually carries the constraint the fix has to preserve.
Then read the map: invariants, evolutionTraps, acceptedRisks, and the open openDebt. An entry that duplicates live debt, restates an accepted ceiling, or targets something that no longer exists is the common way this step wastes a batch.
2. Go and look
For each piece of work, open the code and find where it actually lives. Two rules decide the file set, and both come from real failures:
- Cite where a thing is BUILT, not only where it is declared. For anything that adds a field to a model or a case to a rule, grep for where the thing is constructed and cite that file too. A builder handed only the declaration site cannot construct the field, and correctly cuts the feature rather than touching a file it was not given, which reads as a failure and is not one.
- Name only the files you intend to EDIT.
citedFilesscrapes path-shaped tokens out of the whole entry and unions them into its file set, so a path mentioned in passing manufactures a collision edge and serialises work that could have run in parallel. Describe comparisons and cross-references without paths.
Companion files are granted automatically and should not be cited: a pairedArtifacts counterpart, and anything in the extractor's COMPANIONS table. Citing a test file that does not exist yet only produces an unresolved-citation warning.
3. Draft the entries
The unit is one openDebt entry with its four fields, at a severity (high, medium, low).
Size by file set, not by layer. This is where a tracer-bullet instinct goes wrong here: a slice cutting cleanly through schema, API and UI touches enough files to collide with nearly everything, and the collision graph serialises the batch it was meant to parallelise. Size each entry so its file set is the smallest one that leaves the repo working, and let the graph decide what runs beside what.
Do not declare blocking edges. The dependency graph is derived. citedFiles builds it and plan-batch.mjs partitions from it. Hand-written "blocked by" lines duplicate that graph and will eventually disagree with it. Where two entries genuinely must land in order for a reason no file set expresses, say so in fix and expect them in separate batches.
An item that cannot be built yet does not become debt. Leave it in plannedWork.backlog with scope: "held" and a note saying who held it and what releases it. The extractor refuses a held item with no note. A refusal decided by evidence belongs beside the evidence, not in a batch note.
4. Wide refactors: expand-contract
A wide refactor is one mechanical change, such as renaming a column or retyping a shared symbol, whose blast radius fans across the codebase, so a single edit breaks thousands of call sites and no entry can land green. It also breaks everything downstream of the file set: scope-gate.sh refuses the diff, the collision graph makes every entry collide with every other, and worktree isolation stops paying.
Sequence it instead of slicing it:
- Expand. One entry that adds the new form beside the old, breaking nothing.
- Migrate. One entry per batch of call sites, sized by directory or package so each file set is disjoint and each lands green on its own, since the old form still exists. Disjoint file sets are what lets these run in parallel; that is the whole reason to batch by directory.
- Contract. One entry deleting the old form once no caller remains.
Order is carried by the file sets: expand touches the definition, contract touches it again, so the graph serialises them against every migrate batch on its own. Where a migrate batch genuinely cannot stay green alone, say so in fix and take the batches on a shared integration branch, with green promised only at the end.
5. Quiz the user
Present the draft as a numbered list before writing anything. Per entry: summary, severity, the file set (this is the part that decides parallelism, so it is the part worth reading), and what it delivers.
Ask three questions:
- Does the granularity feel right? Anything to merge or split?
- Is any file in a file set there by accident? A stray path is invisible in a diff and is the one thing here that can damage a sprint.
- Anything that should be
heldrather than dispatched?
Iterate until the user approves. Write nothing before they do.
6. Write the map
- Append each entry under its severity in
openDebt, with an id in the map's own naming. Read the stems already there (S#7→S#8), and check the result against every id in the map, not just that section's. The extractor exits 1 on a duplicate wherever its twin lives. - Remove the source backlog item in the same edit.
plannedWork.backlogis walked, so a scoped item left in place is dispatched twice: once as vague scope and once as the debt it became. This is the edit that gets skipped. - Stamp
openDebt.verifiedOnwith today's date. You verified these citations today, and that is what the field records. - Commit the map. Worktrees materialize only tracked files, so an uncommitted map is invisible to every builder. Branch first; never commit to
main.
7. Verify the partition
Scoping is done when the machinery agrees:
bin/appmap drift # exit 1 on a structural error
node <extractor> && cat QUEUE.json # the entries became queue itemsRead the partition, not just the count. Every new entry should appear with a real scope rather than unscoped. An unscoped item is refused at dispatch and means a citation did not resolve. Two entries you expected to run in parallel landing in the same batch means their file sets overlap: go back and find the shared path, because it is usually a passing mention rather than a real edit.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

