Scope creep check — current scope versus the original plan. Flags additions, quantifies bloat, recommends cuts. 'Any scope creep?'
67
84%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
This skill is read-only — it reports findings but writes no files.
Compares original planned scope against current state to detect, quantify, and triage scope creep.
Argument: $ARGUMENTS — the whole string: a feature name (it may be several words), sprint number, or milestone name.
Locate the baseline scope document for the given argument:
design/gdd/[feature].md or matching file in design/sprint-3) → read production/sprints/sprint-003.md (the name /sprint-plan writes) or similarproduction/milestones/[name].mdIf the document is not found, report the missing file and stop. Do not proceed without a baseline to compare against.
Check what has actually been implemented or is in progress:
git log --oneline --since=[start-date])Produce the comparison report:
## 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]
> **If Phase 4 will return NOT ASSESSED, do not render the numeric block below.**
> Replace the counts and the Bloat Score with
> `[Baseline | Current state] unusable — see verdict` (whichever side could not
> be read) and give the reason. A rendered
> `Original items: 0 / Net scope change: 0%` one section above a NOT ASSESSED
> verdict re-creates the exact "0% reads as on track" hazard Phase 4 exists to
> kill, one phase earlier — and readers trust a number over a caveat.
### Scope Additions (not in original plan)
| Addition | Source | 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]Assign a canonical verdict based on net scope change:
| Net Change | Verdict | Meaning |
|---|---|---|
| ≤10% | PASS | On Track — within acceptable variance |
| 10–25% | CONCERNS | Minor Creep — manageable with targeted cuts |
| 25–50% | FAIL | Significant Creep — must cut or formally extend timeline |
| >50% | FAIL | Out of Control — stop, re-plan, escalate to producer |
Before applying that table, check that the percentage means something. Emit NOT ASSESSED instead — never a computed percentage — when any of:
[TO BE CONFIGURED]). Phase 1 stops when the file is absent;
this is the case where it is present and empty, and it is the more dangerous
one, because zero items yields a 0% net change that renders as PASS — On
Track. Nothing was compared. Nothing was on track.NOT ASSESSED outranks PASS (a comparison that never happened has not shown
scope is on track) and ranks below CONCERNS and FAIL (measured creep is more
actionable than an unmeasurable baseline).
Output the verdict prominently:
**Scope Verdict: [PASS / CONCERNS / NOT ASSESSED / FAIL]**
Net change: [+X%] — [On Track / Minor Creep / Significant Creep / Out of Control]
[or: NOT ASSESSED — [which side could not be read, and why]]After presenting the report, offer concrete follow-up:
/sprint-plan update to formally re-scope./sprint-plan update for re-planning or /estimate to re-baseline timeline.End every verdict except NOT ASSESSED with:
"Run
/scope-check [name]again after cuts are made to verify the verdict improves."
(NOT ASSESSED ends with what would make it assessable, above — a re-run against the same inputs would repeat the non-answer.)
b21fa0f
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.