skill-scope
Decide how to scope a Claude skill before building or restructuring it: what belongs in one skill, what splits off, what merges, whether the work needs a new skill at all. Use BEFORE skill-creator whenever the user is (1) creating a new skill, (2) significantly restructuring or expanding an existing skill, (3) splitting one skill into two or merging two into one, or (4) unsure whether a workflow needs a new skill vs. extending an existing one. Skill-creator should not start scaffolding until skill-scope has run. Fires on: "create a skill", "make a skill", "new skill", "design a skill", "build a skill", "scope this skill", "should this be one skill or two", "is this skill too big", "is this skill too narrow", "where does this skill belong", "split this skill", "merge these skills", restructuring an existing skill, or `/skill-scope`. Skip for trivial edits where scope is settled (typos, trigger phrase tweaks, body rewording, packaging) — these don't reopen scope decisions.
What this skill does
# Skill Scope
Decide the shape of a Claude skill before `skill-creator` builds it. Run four phases: fast-path check, scoping tests, explicit verdict, handoff.
---
## Workflow
1. **Fast-path check** — if scope is already settled, confirm in one line and skip to handoff.
2. **Apply scoping tests** — run the relevant tests below. Don't read all of them on every invocation; pull only the ones that fit the situation.
3. **State the verdict** — exactly one of: `NEW` / `EXTEND` / `SPLIT` / `MERGE`. No hedging.
4. **Hand off** — to `skill-creator` with the verdict and a one-sentence responsibility statement.
---
## Phase 1 — Fast-path check
Scope is already settled when the user's message:
- Names a clear single responsibility and a unique skill name (e.g., "make a skill for converting CSV files to Markdown tables").
- Explicitly states the verdict ("I want to add a new phase to `pr-create`", "split `monolith-skill` into X and Y").
- Confirms a previous scoping discussion ("we already agreed it's a new skill, just build it").
In those cases:
> "Scope checks out: <verdict> — <one-sentence responsibility>. Handing off to skill-creator."
Then go straight to Phase 4. Do not run the test suite.
Scope is **not** settled when the user:
- Asks "should this be one skill or two?" or any phrasing of the scope question itself.
- Describes a workflow without committing to it being a skill.
- Names an existing skill that might already cover the work.
- Proposes a skill whose responsibility overlaps multiple existing skills.
Continue to Phase 2.
---
## Phase 2 — Scoping tests
Apply only the tests relevant to the situation. Each test is a yes/no question with a consequence. Name the test by number in your response so the user can follow your reasoning.
### Test 1 — Atomic responsibility
> Does this have one logical responsibility, even if it takes multiple steps?
Atomic ≠ one step. Multi-phase skills are normal *when all phases serve one responsibility*. The real test:
> If you split it, do the pieces share state — objectives, history, intermediate artifacts — that would be painful to pass between separate skill invocations?
- Shared state → keep it together.
- No shared state → split candidate.
### Test 2 — Trigger timing
> Do all the parts fire on the same user intent?
A skill is invoked by description-matching. If parts fire on different intents ("draft a PRD" vs "review a PRD"), they want separate descriptions — and separate skills.
### Test 3 — Overlap with existing
> Does an existing skill already cover this responsibility, or part of it?
New skills cost description tokens in every session, forever. Default to extending an existing skill unless:
- The responsibility is genuinely distinct.
- Trigger phrases don't overlap with the existing skill (forced ambiguity is a tax on Claude's trigger choice).
- The existing skill's body would have to grow substantially to absorb the new work.
### Test 4 — Scope drift in an existing skill
> Has an existing skill grown past one responsibility?
Symptoms:
- Multiple unrelated trigger-phrase clusters in the description.
- Body sections that don't reference each other.
- Two natural names you could give the skill.
If yes → `SPLIT`.
### Test 5 — Duplicate responsibility across skills
> Do two skills serve the same responsibility from different angles?
Symptoms:
- Overlapping trigger phrases that confuse trigger choice.
- Users invoke them interchangeably.
- Both bodies repeat the same domain content.
If yes → `MERGE`. **But** distinct trigger phrases usually signal distinct intents — leave them alone unless the overlap is clear.
---
## Phase 3 — State the verdict
Pick exactly one:
| Verdict | Fires when |
|---|---|
| **`NEW`** | Tests 1–3 pass; responsibility is distinct from anything existing. |
| **`EXTEND`** | Test 3 fires; the work fits inside an existing skill. |
| **`SPLIT`** | Test 4 fires; an existing skill has drifted past one responsibility. |
| **`MERGE`** | Test 5 fires; two existing skills cover the same responsibility. |
State the verdict explicitly, in this format:
> **Verdict: `<NEW | EXTEND | SPLIT | MERGE>`**
> Responsibility: `<one sentence>`
> Name(s): `<proposed-name>` or `<target-skill-to-modify>`
> Reasoning: tests `<numbers>` fired.
If you can't pick exactly one verdict, that's the signal. Surface to the user and don't hand off — the scope question isn't settled yet.
---
## Phase 4 — Hand off
| Verdict | Handoff |
|---|---|
| `NEW` | Invoke `skill-creator` with the verdict block. Scope is done; let it build. |
| `EXTEND` | Name the target skill and the proposed addition. Hand off to `skill-creator`'s update path. |
| `SPLIT` | Produce a one-line responsibility statement for each resulting skill *before* any restructuring. Hand off one skill at a time. |
| `MERGE` | Produce a single responsibility statement for the merged skill and a list of trigger phrases to consolidate. Hand off as an `EXTEND` of the surviving skill, plus a delete of the other. |
---
## Anti-patterns
- **One step per skill.** Atomic means responsibility, not step count. Multi-phase skills are normal.
- **Splitting prematurely.** If the pieces share state, keep them together. Awkward state-passing between skills is worse than a longer skill.
- **Forking when extending would do.** New skills cost description tokens in every session, forever; extensions are cheap.
- **Merging for tidiness.** Distinct trigger phrases usually serve distinct user intents — leave them alone unless overlap is concrete.
- **Re-litigating settled scope.** If the user has stated the verdict, Phase 1 exits. Don't run tests for show.
- **Hedged verdicts.** "Probably a new skill, maybe an extension" is not a verdict — surface the ambiguity to the user instead.
Related in Design
contribute
IncludedLocal-only OSS contribution command center. Auto-refreshes the user's in-flight PR and issue state on invoke so conversations start with full context — no need to brief Claude on what's in flight. Helps the user find issues to contribute to on GitHub, builds per-repo dossiers of what each upstream expects (CLA, DCO, branch convention, AI policy, draft-first, review bots, issue templates), runs deterministic gates before any external action so AI-assisted contributions don't reach maintainers as slop. State is markdown-only: candidate files at ~/.contribute-system/candidates/, repo dossiers at ~/.contribute-system/research/, append-only event log at ~/.contribute-system/log.jsonl. No database, no cloud calls. Use when the user asks about their PRs / issues / contributions, wants to find new work to take on, claim an issue, build/refresh a repo's dossier, or draft a Design Issue or PR. Trigger with "/contribute", "what's my PR status", "find a contribution", "claim issue X", "draft a Design Issue for Y", "refresh dossier for Z".
architectural-analysis
IncludedUser-triggered deep architectural analysis of a codebase or scoped subtree across eight modes — information architecture, data flow, integration points, UI surfaces, interaction patterns, data model, control flow, and failure modes. This skill should be used when the user asks to "diagram this codebase," "map the architecture," "show the data flow," "give me an ERD," "trace control flow," "find the integration points," "verify the layout pattern," "audit the UX architecture," or any similar request whose primary deliverable is mermaid diagrams plus cited reports under docs/architecture/. Dispatches haiku/sonnet sub-agents in parallel for per-mode exploration, then verifies every citation mechanically before any node lands in a diagram. Not for one-off prose explanations of code (use code-explanation) or for high-level system design from scratch (use system-design).
mcp
IncludedModel Context Protocol (MCP) server development and tool management. Languages: Python, TypeScript. Capabilities: build MCP servers, integrate external APIs, discover/execute MCP tools, manage multi-server configs, design agent-centric tools. Actions: create, build, integrate, discover, execute, configure MCP servers/tools. Keywords: MCP, Model Context Protocol, MCP server, MCP tool, stdio transport, SSE transport, tool discovery, resource provider, prompt template, external API integration, Gemini CLI MCP, Claude MCP, agent tools, tool execution, server config. Use when: building MCP servers, integrating external APIs as MCP tools, discovering available MCP tools, executing MCP capabilities, configuring multi-server setups, designing tools for AI agents.
react-native-skia
IncludedDesign, build, debug, and optimise high-polish animated graphics in React Native or Expo using @shopify/react-native-skia, Reanimated, and Gesture Handler. Use when the user wants canvas-driven UI, shaders, paths, rich text, image filters, sprite fields, Skottie, video frames, snapshots, web CanvasKit setup, or performance tuning for custom motion-heavy elements such as loaders, hero art, cards, charts, progress indicators, particle systems, or gesture-driven surfaces. Also use when the user asks for fluid, glow, glass, blob, parallax, 60fps/120fps, or GPU-friendly animated effects in React Native, even if they do not explicitly say "Skia". Do not use for ordinary form/layout work with standard views.
plaid
IncludedProduct Led AI Development — guides founders from idea to launched product. Six capabilities: Idea (discover a product idea), Validate (pressure-test the idea against fatal flaws, problem reality, competition, and 2-week MVP feasibility), Plan (vision intake + document generation), Design (translate image references into a design.md spec), Launch (go-to-market strategy), and Build (roadmap execution). Use when someone says "PLAID", "plaid idea", "help me find an idea", "product idea", "idea from my business", "idea from my expertise", "plaid validate", "validate my idea", "pressure-test", "is this idea good", "find fatal flaws", "validate the problem", "plan a product", "define my vision", "generate a PRD", "product strategy", "plaid design", "design from image", "translate image to design", "create design.md", "extract design tokens", "plaid launch", "go-to-market", "launch plan", "GTM strategy", "launch playbook", "plaid build", "build the app", "start building", or "execute the roadmap".
nextjs-framer-motion-animations
IncludedAdds production-safe Motion for React or Framer Motion animations to Next.js apps, including reveal, hover and tap micro-interactions, whileInView, stagger, AnimatePresence, layout and layoutId transitions, reorder, scroll-linked UI, and lightweight route-content transitions. Use when the user asks to add, refactor, or debug Motion or Framer Motion in App Router or Pages Router codebases, especially around server/client boundaries, reduced motion, LazyMotion, bundle size, hydration, or route transitions. Avoid for GSAP-style timelines, WebGL or 3D scenes, heavy scroll storytelling, or CSS-only effects unless Motion is explicitly requested.