scope-creep-detector

Analyzes git diffs against a stated intent to flag unrelated files and scope creep.

Updated Aug 7, 2026
One-click install
npx skills add https://github.com/Protremix/EvolvixOS --skill scope-creep-detector-protremix
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: scope-creep-detector
Source: https://github.com/Protremix/EvolvixOS/tree/main/knowledge/skills/scope-creep-detector
Command: npx skills add https://github.com/Protremix/EvolvixOS --skill scope-creep-detector-protremix

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Pull requests and commits often grow beyond their original intent, mixing a focused fix with unrelated dependency additions, config edits, or formatting changes that make review slow and error-prone. This Skill compares a git diff against a one-line intent and produces a structured report so reviewers can decide what to keep, split, or justify. ## Core Features & Use Cases - Intent-vs-diff classification: Tokenizes the stated intent and changed paths to separate in-scope files from likely creep, with relatedness scores and reasons. - Scope signal detection: Flags new dependencies in requirements.txt, package.json, and pyproject.toml, public API renames, CI/build/config edits, oversized hunks, and formatting-only files. - Keep, split, or justify report: Emits a local JSON report with per-file dispositions and a proposed follow-up grouping for mixed changes. - Use Case: Before opening a PR for a parser fix, run the classifier on your staged diff to discover it also touched CI config and added a dependency, then split those into a separate commit. ## Quick Start Ask the agent to check whether your staged changes grew beyond the intended fix, or run python3 scripts/scope_creep.py with --repo, --staged, and --intent to get a JSON scope report.

Frequently Asked Questions about scope-creep-detector

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I check if my pull request is too broad?▼

Run the scope_creep.py script against your branch diff with a one-line intent, for example using --base main and --intent. It returns a JSON report separating in-scope files from likely creep with evidence for each flag.

How to detect unrelated files in a git diff?▼

The classifier tokenizes your stated intent and each changed path, then flags files with no keyword overlap as likely creep. It also attaches signals like new dependencies, config edits, or oversized hunks to explain why a file stands out.

Does scope creep detection work on staged changes?▼

Yes, pass --staged to analyze the index instead of the working tree. You can also pipe any unified diff via stdin using --diff -, or analyze a saved diff file directly.

Can it detect new dependencies added in a commit?▼

Yes, it parses added lines in requirements.txt, package.json dependency sections, and PEP 621 or Poetry sections of pyproject.toml. A package removed and re-added in the same diff is treated as a version edit, not a new dependency.

What are the limitations of intent-based diff analysis?▼

Relatedness is a keyword-overlap heuristic, so a zero score can reflect a vague intent rather than a truly unrelated file. The script cannot split oversized mixed hunks automatically and never proves authorial intent, so results are triage evidence.

Does the scope creep script modify my repository?▼

No, the script is read-only. It makes no network calls, uses only the Python standard library, and never changes the working tree, index, commits, or branches.