Guide · Agent skill
How to use the Scope Creep Detector agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
The Scope Creep Detector is an agent skill that compares a git diff with a one-line statement of what the change is meant to do. It lists files and signals that look unrelated to that intent, then suggests whether each item should be kept, split into a separate change, or justified. This guide is for developers and reviewers who have not used agent skills before. By the end you will know how to install the skill, how to ask for it in plain language, and how to read and act on its report.
Quick start
- 1Download and unzip the skill. Download the scope-creep-detector ZIP from this page and unzip it. Keep the scope-creep-detector folder intact.
- 2Place it where the agent can find it. Copy the folder to ~/.claude/skills/ for personal use, or to .claude/skills/ inside a project. Alternatively, upload it under Settings, Capabilities, Skills in the Claude apps.
- 3Check the requirements. Confirm Python 3.11 or later is installed, and that git is available if you are analyzing a repository.
- 4Ask for a scope check. Describe your change in one line of intent and ask whether the diff has grown beyond it, or whether it is too broad for one pull request.
- 5Act on the keep, split or justify output. Review each flagged file and hunk. Ask the agent before any split, revert, staging or commit, and verify the connection of any zero-overlap file yourself.
What the skill makes the agent do
An agent skill is a folder of instructions and optional scripts that an AI agent loads when a request matches the skill's description. This one is for checking whether a change has grown beyond its purpose. You give it a short intent, such as fix null dereference in parser, and it analyzes the diff against that intent.
The skill flags files whose paths share no words with the intent, along with signals such as new dependencies, renamed public functions or classes, config or CI edits, and oversized hunks. It then recommends keep, split, or justify for each flagged item. The skill works locally and does not modify the repository.
Install the Scope Creep Detector skill
Download the ZIP of the scope-creep-detector skill from the page where you found this guide. Unzip it so the scope-creep-detector folder sits in one of these locations:
For a personal skill that is available across your projects, place it in ~/.claude/skills/. For a skill that only applies to one project, place it in that project's .claude/skills/ folder.
If you use the Claude apps instead, open Settings, go to Capabilities, then Skills, and upload the skill there.
- Personal: ~/.claude/skills/scope-creep-detector
- Project only: .claude/skills/scope-creep-detector inside your repository
Trigger the skill with a natural request
You do not need to type a command to use the skill. Ask the agent a question about your change in ordinary language. The skill's description covers requests such as whether a change grew beyond the fix, whether a PR is too broad, or what unrelated files you touched.
Good requests state the change and the goal. Include the intent in one line when you can, because the skill uses it to decide what counts as related. If you do not give an intent, the skill falls back to the current branch name, and it asks you for one line of intent if that name is generic or unrelated to the work.
- Did my change grow beyond the parser fix I intended?
- Is my staged change too broad for one pull request?
- Which files in this branch are unrelated to adding retry limits to webhook delivery?
- Give me keep, split, or justify guidance for this diff.
Run the classifier directly
The agent runs a deterministic Python script behind the scenes. You can also run it yourself from the skill directory and point --repo at the target repository. Use --staged for staged changes, --base with a branch name to compare against a merge base, or --diff with a saved diff file.
The script's output is JSON with sections for in_scope, likely_creep, new_deps, api_renames, config_edits, and stats.
- Working tree diff, run from the skill directory with the intent in quotes
- Staged diff: add --staged
- Branch diff: add --base main (or another base branch)
- Saved diff or stdin: use --diff change.diff, or --diff - to read from standard input
python3 scripts/scope_creep.py --repo /path/to/repo --intent "fix null dereference in parser" --jsonRead the report and decide keep, split, or justify
Treat the output as triage evidence, not proof. An empty list means no signal was detected, not that the diff is guaranteed to be in scope. A file with no word overlap with the intent may still be necessary, so check the connection before you split it out.
For each item in likely_creep, the skill gives one disposition. Keep means the file is necessary and directly connected to the intent. Split means the item can land on its own or belongs to another area. Justify means a cross-cutting edit cannot be separated safely, and the report should name the invariant or build constraint that requires it. When the evidence is ambiguous, the skill prefers split.
- Keep: necessary for the intent, with the connection explained in one sentence
- Split: can land independently, belongs elsewhere, or adds a dependency, API rename, config edit or large hunk not needed for the intent
- Justify: cannot be separated safely; state the reason and the reviewer risk
Safety, requirements and limits
The script makes no network calls and does not change the working tree, index, commits, or branches. The skill is set to ask before any split, revert, staging, or commit operation, so you stay in control of changes to your repository.
You need Python 3.11 or later. The script uses only the standard library, so there are no third-party packages to install. You need git installed if you run it against a repository, but not if you pass it a saved diff file.
The skill does not judge code correctness, security, or test quality, and it only looks at a single diff rather than project history across many commits. A clean report does not mean the code works.
- Requires Python 3.11 or later, standard library only
- Requires git when pointing at a repository; a saved diff file works without it
- Runs scripts: yes. Uses network: no
- Licence: Apache-2.0
What people use it for
- Checking a bug fix before opening a pull request to see if unrelated files slipped in
- Triaging a large mixed change from a teammate to decide what to ask them to split out
- Getting a consistent first-pass scope check before a human review
- Identifying new dependencies, public API renames, or CI and config edits hidden in a small-looking change
Frequently asked questions
How do I install the Scope Creep Detector agent skill?
Download the scope-creep-detector ZIP from the page and unzip it. Put the folder in ~/.claude/skills/ for personal use or in a project's .claude/skills/ folder for one project. In the Claude apps, you can instead upload it under Settings, Capabilities, Skills.
What do I need to run the Scope Creep Detector?
You need Python 3.11 or later. The script uses only the standard library, so no third-party packages are required. You also need git if you analyze a repository rather than a saved diff file.
Is the Scope Creep Detector free and what is its licence?
The skill is listed under the Apache-2.0 licence. The source does not state pricing, so check the directory page for any cost details before you rely on it.
Does the skill send my code to the internet?
No. The skill is described as running locally and offline. The script makes no network calls and does not change your working tree, index, commits or branches.
Does the Scope Creep Detector check whether my code is correct or secure?
No. It is built to judge scope only. It explicitly excludes code correctness, security and test quality, and a clean scope report does not mean the code works.
What should I do if it flags a file that is actually needed?
Mark it as keep and explain the connection in one sentence. The skill treats its output as triage evidence, and a file with no word overlap with your intent can still be necessary.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
This skill suits developers preparing a pull request who want a quick, repeatable check on whether it is too broad, and reviewers triaging a sprawling change. It is not the right tool for judging correctness, security or test quality, for analyzing history across many commits, or for anyone without git or a saved diff file.
Download the skill