From gigachang-skills
Use when the user explicitly asks to research the scope of a requirement or proposed change against the current codebase — e.g. "research the scope of this requirement", "what would adding X touch in this codebase", "do scope research on this spec", "/scope-research". Surveys the codebase to surface concrete facts about which files/areas a change would touch and the relevant facts about each touchpoint (callers, prior similar changes, current test state, conventions in use, data/interface contracts), with an honest LOC range per touchpoint. Presents facts neutrally — does not assign t-shirt sizes, time estimates, or risk ratings. When unsure about something material, asks the user clarifying questions before writing the report. Manual-trigger only — never auto-invoke. Skip for trivial single-file or one-line changes where research adds no value.
How this skill is triggered — by the user, by Claude, or both
Slash command
/gigachang-skills:scope-researchThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Survey the codebase against a proposed requirement and report the concrete
Survey the codebase against a proposed requirement and report the concrete facts a reader would need to assess scope themselves — which areas would be touched, and what is true about each of those touchpoints right now. The skill states facts; the reader draws the conclusions.
A scope assessment expressed as a t-shirt size or a single LOC number hides the reasoning that produced it. Naming the touchpoints — each with an honest LOC range and the facts around it (callers, prior changes, test state, conventions) — gives the reader something they can actually weigh, and surfaces the questions worth asking before the work begins.
/scope-research.~5–20 lines), never as a single number or bucket label. It surfaces
facts only.The requirement can arrive as:
specs/new-feature.md) — read it
directly,Read what the user provided. If the requirement is too vague to research
(e.g. "make the app faster"), ask clarifying questions with
AskUserQuestion before going to the codebase. Do not guess at intent.
Before exploring, check the project's rule files for any prescribed code-search system — an MCP server (e.g. Serena, a code-index server), a custom indexer, a documented architecture map, or any other navigation convention. Look in this order:
CLAUDE.md (repo root, then .claude/CLAUDE.md)AGENTS.md.cursor/rules/ or .cursorrules.github/copilot-instructions.mdREADME.md / CONTRIBUTING.md — sections on code navigationIf the project prescribes a tool, use it instead of (or in addition to) the generic Read/Grep/Glob path. If nothing is prescribed, fall back to the generic tools.
The main agent does a first pass to locate likely-affected areas: grep for the key nouns/verbs from the requirement, read the top hits, and form a rough picture of where the change would land.
If the scope is broader than one area, dispatch scope-research-surveyor
agents in parallel (single message, multiple Agent tool calls) —
typically 1–3, but as many as the requirement honestly warrants. Each
surveyor gets a distinct, specific search focus — examples:
<symbol> and the call sites' surrounding context."git log -S, git log --grep)."<X> — which test files cover it, what
they assert, what they do not."<area> for <concern>."Two principles govern how many to dispatch — there is no hard cap:
Pass each surveyor: the requirement (as currently understood), its specific
focus, the repository path, and any context already gathered. The
surveyor's contract — stance, tool boundaries, no-fabrication rule, the
required Focus / Facts / Coverage output format, and the per-fact
Change size LOC-range field — is defined in
agents/scope-research-surveyor.md. Do not re-specify any of that in the
dispatch call.
For tightly scoped requirements, skip this step entirely — the main agent's direct exploration is enough.
If anything material to the report is still unclear after exploration, ask
the user with AskUserQuestion. Examples of material uncertainty:
Keep asking until no remaining material questions. Uncertainty is not an output category — it is resolved before the report exists.
Present the report in chat in this shape:
Restate what the skill understood the requirement to be, after any clarifications. The user can correct here before reading further.
A single line at the top of the report, after the requirement restatement:
Estimated total change: ~A–B lines
A and B are the sums of the lower and upper bounds of the per-touchpoint
Change size ranges below. This is an additive sum of honest per-touchpoint
ranges, not a grand-judgment "size". If any touchpoint's Change size is
n/a, exclude it from the sum and say so on a follow-up line.
A list. Each entry:
<path> — modify / add / delete — Change size: ~X–Y lines —
one sentence on the role this file plays in the change.Group by subsystem if helpful. Use file:line references where a specific
location matters. The Change size per touchpoint mirrors what the
surveyors reported in their Facts items — use their numbers, do not
re-estimate.
For each touchpoint (or for the change overall), state neutral facts:
file:line references)Facts are stated, not labelled as "risks" and not weighted. Do not write "this is risky because…" or "low risk". Write the fact; the reader decides.
If the report is long (≥150 lines, ≥5 H2/H3 sections, or simply a lot to
scan), suggest the user run /html-report on it. Otherwise skip the hint.
Agent. Same shape as ab-review./html-report on the report after the fact.npx claudepluginhub gigayaya/gigachang-skills --plugin gigachang-skillsGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.