Skip to content
cccskills
FreePublished on GitHubEnglish overview

scope-creep-detector

Compare a Git diff with its stated purpose to flag potentially unrelated files, added dependencies, API renames, and configuration changes. Receive recommendations to keep, split, or justify changes, with a proposed grouping for follow-up work.

OriginalShow the original description

Analyzes git diffs against a stated intent to detect scope creep, unrelated files, broad pull requests, changes that grew beyond a fix, dependency additions, public API renames, config or CI edits, oversized hunks, and formatting-only files. Use when the user asks whether a change grew beyond the fix, a PR is too broad, or what unrelated stuff they touched, and wants keep, split, or justify guidance. Operates locally and offline.

AI rating90/ 100See how to install

Good for

  • Check scope before opening a pull request
  • Find unexpected changes in a bug fix
  • Review whether staged changes are too broad
  • Plan how to split a mixed change

Overview

What it does

scope-creep-detector compares a Git diff with the stated purpose of a change to check whether the work has expanded beyond it. It flags files with weak connections to that purpose, added dependencies, public API renames, configuration and CI edits, oversized sections of changes, and files changed only by formatting. Using these signals, it recommends keeping a change, splitting it into separate work, or explaining why it is necessary.

When it helps

Use it when a small fix has spread across many files, or before opening a pull request. It can inspect working changes, staged changes, differences against a base branch, and saved diffs. For mixed changes, it provides a proposed split that names the relevant files or sections.

Example requests

  • “Check whether this diff goes beyond fixing the parser bug.”
  • “Identify staged changes that could go into a separate PR.”
  • “Help explain to reviewers why the configuration change is needed.”

Notes

It uses a Python 3 script and runs locally, without network communication or working-tree changes. Signals include matches between filenames and words in the stated purpose, so a flag alone does not prove a change is unrelated. Reviewing correctness, security, or test quality is outside its scope.

This overview was written by AI (OpenAI Codex) from the public SKILL.md. Check the original below for the exact behavior.

Objective evaluation

AI rated this skill on four points using only the contents of its SKILL.md. Stars and popularity are not taken into account.

Clear instructionsIs it clear when to use it and what it does?
AGoodIt compares diffs with stated intent and defines keep, split, and justify recommendations.
Concrete stepsAre steps, inputs, outputs, and examples spelled out?
AGoodIt provides scope_creep.py commands, JSON field definitions, and a six-part report structure.
SafetyAre sending data, deleting files, and running commands disclosed?
AGoodIt specifies no network calls or working-tree changes and requires confirmation before splitting, reverting, staging, or committing.
Easy setupDoes it need few tools or API keys, and are they documented?
BPartly lackingCommands show python3 and Git usage, but installation instructions are absent.

The total counts each point as A = 25, B = 15, C = 5. Rated by AI (OpenAI Codex) as of Oct 20, 2026. Treat it as a guide and read the original before installing.

Disagree? Request a re-evaluation

Tell us which point is wrong and why. No login needed. We will check it against the SKILL.md, redo the evaluation, and show the result here.

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

Files included (4)

  • SKILL.md5.0 KB
  • README.md1.2 KB
  • references/scope-signals.md3.2 KB
  • scripts/scope_creep.py18.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Scope Creep Detector

A one-line fix should not require a reviewer to reverse-engineer fourteen files across three subsystems. This skill compares a git diff with its stated intent, surfaces scope signals, and turns them into keep, split, or justify decisions.

Everything runs locally. The script makes no network calls and does not change the working tree, index, commits, or branches.

When to use

  • Before opening a pull request whose diff may have grown beyond its intent
  • When a bug fix touches unexpected files or subsystems
  • When the user asks whether staged changes are too broad
  • When a diff includes dependency, public API, config, CI, or build changes
  • When the user wants a concrete split plan for a mixed change

When not to use

  • Formatting code, running a linter, or writing a commit message
  • Reviewing correctness, security, or test quality inside an agreed scope
  • Measuring historical project growth across many commits
  • Editing or reverting files without the user's approval

Establish the intent

Use the user's one-line intent when available. Keep it concrete, such as fix null dereference in parser or add retry limit to webhook delivery.

If no intent was given, the script falls back to the current branch name. If that name is generic, detached, or unrelated to the work, ask for one line of intent before treating relatedness as meaningful.

Run the classifier

Run from this skill directory and point --repo at the target repository.

Working tree diff:

python3 scripts/scope_creep.py --repo /path/to/repo \
  --intent "fix null dereference in parser" --json

Staged diff:

python3 scripts/scope_creep.py --repo /path/to/repo --staged \
  --intent "fix null dereference in parser" --json

Branch diff against a merge base:

python3 scripts/scope_creep.py --repo /path/to/repo --base main \
  --intent "fix null dereference in parser" --json

Saved diff or stdin:

python3 scripts/scope_creep.py --diff change.diff --intent "parser fix" --json
git diff --staged | python3 scripts/scope_creep.py --diff - \
  --intent "parser fix" --json

Use --hunk-threshold only when the repository has a documented reason to change the default churn threshold. Do not tune the threshold merely to make a warning disappear.

Interpret the JSON

Read references/scope-signals.md before making a recommendation. Treat the classifier as triage evidence, not proof of authorial intent.

  • in_scope: file paths with at least one intent/path keyword overlap
  • likely_creep: paths without overlap, with the reason and detected signals
  • new_deps: dependencies introduced in supported manifest formats
  • api_renames: nearby removed and added public function or class declarations
  • config_edits: CI, container, build, YAML, and TOML changes
  • stats: churn, subsystem counts, oversized hunks, and formatting-only files

Empty arrays are evidence too. Say that no signal was detected, not that the diff is guaranteed to be in scope.

Recommend keep, split, or justify

Give every item in likely_creep one disposition:

  1. Keep when the path is necessary for the stated intent and the connection is direct. Explain the connection in one sentence.
  2. Split when it can land independently, belongs to another subsystem, or introduces a dependency, API rename, config edit, or large hunk that is not required for the intent. Name the files or hunks for the follow-up change.
  3. Justify when a cross-cutting edit cannot be separated safely. State the invariant or build constraint that requires it and call out reviewer risk.

Prefer split when evidence is ambiguous. Never claim that a zero overlap score proves a file is unrelated. Path vocabulary is a cheap, deterministic proxy.

Write the scope report

Use this compact structure:

  1. Intent and diff source
  2. Files and subsystems touched, with total additions and deletions
  3. In-scope changes
  4. Likely creep with signal evidence
  5. Keep, split, or justify table
  6. Proposed follow-up grouping, if any

Name file paths and hunk headers. For an oversized mixed hunk, explain that the script cannot split it automatically and describe the smallest coherent edit. Ask before applying any split, revert, staging, or commit operation.

Files

  • scripts/scope_creep.py: deterministic unified-diff parser and classifier
  • references/scope-signals.md: signal definitions, thresholds, and limits

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

advisor-orchestrator-worker

FreeSummaryAI rating 80

Coordinate large research or generation tasks across a model team. An orchestrator plans and checks the work, workers execute subtasks in parallel, and an advisor reviews the plan and draft before the results are combined.

  • Research multiple competitors in parallel
  • Split a large generation task across multiple models
  • Have an advisor review plans and drafts
Shubhamsaboo/awesome-llm-apps142.7KUpdated Oct 23, 2026

chatgpt-app-builder

FreeSummaryAI rating 70

Develop ChatGPT apps with interactive React widgets using mcp-use and OpenAI Apps SDK. Guidance covers app scope, server tools, shared state, and display settings. This skill is deprecated and points users to mcp-app-builder.

  • Define the scope of a ChatGPT app
  • Build React widgets connected to server tools
  • Share widget state with ChatGPT
Shubhamsaboo/awesome-llm-apps142.7KUpdated Oct 23, 2026

commit-archaeologist

FreeSummaryAI rating 100

Investigate why a file or function exists using local Git history. Trace its introduction, later edits, authorship, and files often changed alongside it, then summarize likely intent and change risks while distinguishing evidence from inference.

  • Understanding why an unfamiliar function exists
  • Reviewing historical constraints before a refactor
  • Tracing the background of a workaround
Shubhamsaboo/awesome-llm-apps142.7KUpdated Oct 23, 2026

dependency-doctor

FreeSummaryAI rating 100

Inspect Python and JavaScript dependency files for missing version constraints, duplicate entries, conflicting exact versions, and outdated Python compatibility packages. Get plain-language explanations and focused repair suggestions, with offline checks by default.

  • Check dependency files before investigating installation failures
  • Find outdated Python compatibility packages
  • Review duplicate entries and conflicting exact versions
Shubhamsaboo/awesome-llm-apps142.7KUpdated Oct 23, 2026

first-reader

FreeSummaryAI rating 100

Simulate readers encountering a draft for the first time to see whether they open it, where their attention fades, and what they remember. Receive reader comments alongside the text without rewrites or suggested fixes.

  • Check whether a post earns a full read
  • Find where readers lose interest
  • Compare reader reactions after revisions
Shubhamsaboo/awesome-llm-apps142.7KUpdated Oct 23, 2026

mcp-apps-builder

FreeSummaryAI rating 70

Build MCP servers that let AI access actions and data using mcp-use. The guide covers project setup, reusable prompts, interactive React interfaces, authentication, error handling, and deployment, with reference files for each area.

  • Create a new MCP server with mcp-use
  • Add actions, data resources, or reusable prompts
  • Build interactive React interfaces for browsing and selection
Shubhamsaboo/awesome-llm-apps142.7KUpdated Oct 23, 2026

See all skills by Shubhamsaboo

Report a problem with this skill