---
name: scope-check
type: workflow
description: "Analyzes a feature or sprint for scope creep by comparing current scope against the original plan, flagging additions and recommending cuts. Use when a sprint feels bloated or when the user mentions scope creep, scope check, or feature bloat."
argument-hint: "[feature-name or sprint-N]"
user-invocable: true
allowed-tools: Read, Glob, Grep
context: |
!git diff --stat HEAD~20 2>/dev/null
effort: 3
when_to_use: "Use when a sprint or feature feels bloated, when scope has grown beyond the original plan, or when the user mentions scope creep, feature bloat, or scope check."
When this skill is invoked:
Read the original plan — Find the relevant document:
If a feature name: read the design doc from design/docs/
If a sprint number: read the sprint plan from production/sprints/
If a milestone: read the milestone definition from production/milestones/
Read the current state — Check what has actually been implemented or is in progress:
Scan the codebase for files related to the feature/sprint
Read git log for commits related to this work
Check for TODO comments that indicate unfinished scope additions
Compare original vs current scope:
## Scope Check: [Feature/Sprint Name]
Generated: [Date]
### Original Scope
[List of items from the original plan]
### Current Scope
[List of items currently implemented or in progress]
### Scope Additions (not in original plan)
| Addition | Who Added | When | Justified? | Effort |
|----------|-----------|------|------------|--------|
| [item] | [commit/person] | [date] | [Yes/No/Unclear] | [S/M/L] |
### Scope Removals (in original but dropped)
| Removed Item | Reason | Impact |
|-------------|--------|--------|
| [item] | [why removed] | [what's affected] |
### Bloat Score
- Original items: [N]
- Current items: [N]
- Items added: [N] (+[X]%)
- Items removed: [N]
- Net scope change: [+/-N] ([X]%)
### Risk Assessment
- **Schedule Risk**: [Low/Medium/High] — [explanation]
- **Quality Risk**: [Low/Medium/High] — [explanation]
- **Integration Risk**: [Low/Medium/High] — [explanation]
### Recommendations
1. **Cut**: [Items that should be removed to stay on schedule]
2. **Defer**: [Items that can move to a future sprint/version]
3. **Keep**: [Additions that are genuinely necessary]
4. **Flag**: [Items that need a decision from producer/creative-director]
Output the scope check with a clear verdict:
On Track: Scope within 10% of original
Minor Creep: 10-25% scope increase — manageable with adjustments
Significant Creep: 25-50% scope increase — need to cut or extend timeline
Out of Control: >50% scope increase — stop and re-plan
Rules
Scope creep is additions without corresponding cuts or timeline extensions
Not all additions are bad — some are discovered requirements. But they must be acknowledged and accounted for.
When recommending cuts, prioritize preserving the core user experience over nice-to-haves
Always quantify scope changes — "it feels bigger" is not actionable, "+35% items" is
Protocol
Question: Reads feature name, sprint number, or milestone from argument
Options: Skip
Decision: Skip — findings are advisory
Draft: Scope check report shown in conversation only
Approval: Skip — read-only; no files written
Output
Deliver exactly:
Scope delta: +X% items vs original plan (quantified, not subjective)
Additions list: new items not in original plan, each tagged as discovered requirement or gold-plating
Recommended cuts: specific items to remove to restore original scope (or "None needed")
Verdict: ON TRACK / MINOR CREEP / SIGNIFICANT CREEP / OUT OF CONTROL — RE-PLAN
1---2name: scope-check3description: ---4---5---6name: scope-check7type: workflow8description: "Analyzes a feature or sprint for scope creep by comparing current scope against the original plan, flagging additions and recommending cuts. Use when a sprint feels bloated or when the user mentions scope creep, scope check, or feature bloat."9argument-hint: "[feature-name or sprint-N]"10user-invocable: true11allowed-tools: Read, Glob, Grep12context: |13 !git diff --stat HEAD~20 2>/dev/null14effort: 315when_to_use: "Use when a sprint or feature feels bloated, when scope has grown beyond the original plan, or when the user mentions scope creep, feature bloat, or scope check."16---17When this skill is invoked:18191. **Read the original plan** — Find the relevant document:20 - If a feature name: read the design doc from `design/docs/`21 - If a sprint number: read the sprint plan from `production/sprints/`22 - If a milestone: read the milestone definition from `production/milestones/`23242. **Read the current state** — Check what has actually been implemented or is in progress:25 - Scan the codebase for files related to the feature/sprint26 - Read git log for commits related to this work27 - Check for TODO comments that indicate unfinished scope additions28293. **Compare original vs current scope**:3031 ```markdown32 ## Scope Check: [Feature/Sprint Name]33 Generated: [Date]3435 ### Original Scope36 [List of items from the original plan]3738 ### Current Scope39 [List of items currently implemented or in progress]4041 ### Scope Additions (not in original plan)42 | Addition | Who Added | When | Justified? | Effort |43 |----------|-----------|------|------------|--------|44 | [item] | [commit/person] | [date] | [Yes/No/Unclear] | [S/M/L] |4546 ### Scope Removals (in original but dropped)47 | Removed Item | Reason | Impact |48 |-------------|--------|--------|49 | [item] | [why removed] | [what's affected] |5051 ### Bloat Score52 - Original items: [N]53 - Current items: [N]54 - Items added: [N] (+[X]%)55 - Items removed: [N]56 - Net scope change: [+/-N] ([X]%)5758 ### Risk Assessment59 - **Schedule Risk**: [Low/Medium/High] — [explanation]60 - **Quality Risk**: [Low/Medium/High] — [explanation]61 - **Integration Risk**: [Low/Medium/High] — [explanation]6263 ### Recommendations64 1. **Cut**: [Items that should be removed to stay on schedule]65 2. **Defer**: [Items that can move to a future sprint/version]66 3. **Keep**: [Additions that are genuinely necessary]67 4. **Flag**: [Items that need a decision from producer/creative-director]68 ```69704. **Output the scope check** with a clear verdict:71 - **On Track**: Scope within 10% of original72 - **Minor Creep**: 10-25% scope increase — manageable with adjustments73 - **Significant Creep**: 25-50% scope increase — need to cut or extend timeline74 - **Out of Control**: >50% scope increase — stop and re-plan7576### Rules77- Scope creep is additions without corresponding cuts or timeline extensions78- Not all additions are bad — some are discovered requirements. But they must be acknowledged and accounted for.79- When recommending cuts, prioritize preserving the core user experience over nice-to-haves80- Always quantify scope changes — "it feels bigger" is not actionable, "+35% items" is8182## Protocol8384- **Question**: Reads feature name, sprint number, or milestone from argument85- **Options**: Skip86- **Decision**: Skip — findings are advisory87- **Draft**: Scope check report shown in conversation only88- **Approval**: Skip — read-only; no files written8990## Output9192Deliver exactly:9394- **Scope delta**: +X% items vs original plan (quantified, not subjective)95- **Additions list**: new items not in original plan, each tagged as discovered requirement or gold-plating96- **Recommended cuts**: specific items to remove to restore original scope (or "None needed")97- **Verdict**: `ON TRACK` / `MINOR CREEP` / `SIGNIFICANT CREEP` / `OUT OF CONTROL — RE-PLAN`
Run npx skillmds@latest add tranhieutt/scope-check in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
--- It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
tranhieutt (@tranhieutt) published this skill. Their other Agent Skills are listed on their SkillMD profile.