iopsystems/skills-mcp/define-scope
Claude Code and agent skill by iopsystems/skills-mcp
- community
Checking that the SKILL.md file is still in the repository.
Define a new **scope** — a stable reference frame (service, domain, surface, cross-cutting concern) that the vault cares about for years rather than the duration of a narrative arc. Use this when the user says things like "we need a scope for X", "add a scope", "register the billing service", "document this as a domain we care about". Scopes are flat (no hierarchy), they don't have arcs' narrative lifecycle, and they retire rather than close. Don't create a scope lightly — scope proliferation is a smell. If it's a short-lived effort, use `open-arc` instead.
Install
npx vskill@latest install iopsystems/skills-mcp/define-scopeSKILL.md
Define scope
You are defining a scope in the knowledge-iop vault. Scopes are the vault's stable reference frames — the named areas the vault cares about for years. A service (billing), a domain (observability), a surface (public-api), a cross-cutting concern (reliability).
Before defining — check you actually want a scope
- Invoke
vault-searchwithtype: scopeand keywords from the
proposed name. Check for existing scopes that overlap.
- Check the four gotchas below; if any applies, redirect:
| If the thing you're about to define is... | Do this instead | |
|---|---|---|
| A short-lived effort (weeks–quarters) | open-arc | |
| A sub-area of an existing scope | Extend the scope's body, don't create a child | |
| A dependency you don't control | Add to upstream_deps: on an existing scope | |
| A specific topic being discussed now | discuss and see what survives |
Scopes should accumulate slowly. If the vault gains a new scope every week, something is miscategorized.
Frontmatter shape
id: is a plain slug, not dated — scopes don't carry creation dates in their id because they're meant to outlast any given moment. Choose carefully; renaming is expensive.
repos: is the grounding hook — the scope exists in part because real code lives in real repos. If you can't name repos, ask whether this is truly a scope or just a conversation topic.
Filename
Write to scopes/<id>.md.
Body — the living description
A scope's body is a living description that gets amended (not superseded) as the scope evolves. Cover:
- What this scope is. One paragraph that a newcomer could use
to decide whether a question or artifact belongs here.
- What it contains. Systems, services, repos, docs — the
concrete territory.
- What it doesn't. Adjacent things that might confuse. Name
them and link to their scopes.
- Interfaces. How this scope relates to others — upstream
dependencies, downstream consumers, handoffs.
- Ownership and health. Who owns what. Where to find runbooks
or oncall info (or note their absence).
- Norms. Anything specific about how work happens in this
scope that a visitor should know (review norms, deploy cadence, SLA expectations).
Scopes are flat. auth is not a sub-scope of security. Use related_scopes: to note the adjacency, but don't encode a tree.
Drafting workflow
- Search; confirm no existing scope covers this.
- Ask the user to name owners and repos. Push back on empty owner
lists — an unowned scope is a smell.
- Propose frontmatter + body as a diff.
- Write on approval.
- Commit: `git add scopes/<id>.md && git commit -m "Scope:
<id>"`.
Amending a scope
Scope bodies are living. When the scope grows, shrinks, or shifts:
- Edit the file directly.
- Commit with a clear message: `git commit -m "Scope <id>:
<what changed>"`.
Do not supersede a scope unless its identity genuinely changed (e.g. a rename from one slug to another).
Retiring a scope
When a scope is no longer relevant:
- Update frontmatter:
status: retired,retired: <today>. - Add a closing paragraph at the bottom of the body: when, why,
what took its place (if anything).
- Commit.
Retired scopes stay in the vault. Grep still finds them. History is honest.
Do not
- Do not nest scopes. The flat list is the point.
- Do not create a scope you don't plan to maintain. Unowned
scopes rot fastest.
- Do not supersede a scope to rename it casually. Think about
whether the old id is load-bearing for references elsewhere first.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/vault/define-scope/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/iopsystems/skills-mcp/define-scope)