Skip to content
Development
Skill

/pre-modification

Use before modifying, refactoring, or deleting files in a codebase that has Repowise indexed (indicated by a .repowise/ directory). Activates when Claude is about to edit code, especially shared utilities, core modules, or files the user didn't explicitly mention. Helps assess

From plugin
repowise
8.1k8 skills17 commands1 MCP

Claude Code

$ npx -y skills add repowise-dev/repowise --skill pre-modification --agent claude-code

SKILL.md

pre-modification.SKILL.md
name: pre-modification
description: >
  Use before modifying, refactoring, or deleting files in a codebase that has Repowise indexed
  (indicated by a .repowise/ directory). Activates when Claude is about to edit code, especially
  shared utilities, core modules, or files the user didn't explicitly mention. Helps assess
  impact and avoid breaking things.
user-invocable: false

Pre-Modification Check with Repowise

Before modifying files in a Repowise-indexed codebase, assess the impact.

Before editing a file

Call `get_risk(targets=["path/to/file.py"])`. Per file it returns `hotspot_score`, `trend`, `risk_type`, `impact_surface` (top 3), `dependents_count`, `co_change_partners`, `primary_owner`, `test_gap`, and `security_signals`. Read it for:

  • **Bug-fix history** (`defect_profile`) — present only on files with counted

fixes: `fix_count` over the trailing 6 months, `last_fix_days_ago`, a `bug_magnet` flag for sustained recent fix pressure, and `top_symbols` (the per-symbol counts are approximate — read them as "mostly here"). A file that keeps getting fixed is the strongest single signal that the next edit breaks something; lead with it.

  • **Hotspot status** (`hotspot_score`, `trend`) — high-churn × complex? Extra care needed.
  • **Dependents** (`dependents_count`, `impact_surface`) — how wide is the blast radius?
  • **Co-change partners** — files that change together with this one (often without an import link); you may need to update them too.
  • **Ownership / bus factor** — who owns it, and whether a single author maintains it.
  • **Test gap & security signals** — flag untested or security-sensitive files before touching them.

When modifying multiple files

Batch all targets into one call: `get_risk(targets=["file1.py", "file2.py", "module/"])`.

When to warn the user

If `get_risk` shows:

  • A `defect_profile` with `bug_magnet` set — say so plainly: this file has been fixed repeatedly and recently
  • Hotspot score above 90th percentile — mention this is a frequently-changed, high-risk file
  • More than 10 dependents — list the top dependents; API changes here will break consumers
  • Bus factor of 1 — note that a single person maintains this code
  • Risk type is "bug-prone" or "high-coupling" — flag explicitly before making changes

Before refactoring or moving code

Call `get_context(targets=["file.py"])` first to understand the full context: what uses this file, what decisions govern it, and why it's structured this way. This prevents accidentally violating architectural decisions.

For a heavy refactor, also call `get_health(targets=["file.py"])` — the marker findings (complexity, deep nesting, low cohesion, duplication) tell you *what* to improve while you're in there, and give you a before/after score.

Error handling

If `get_risk` returns a tool error, the MCP server may not be running. Proceed with the modification but note that risk assessment was unavailable.

Read more
@repowise-dev
Ships withrepowise

Codebase intelligence for AI and humans: code health scores, auto-generated docs, git analytics, dead code detection, and architectural decisions via MCP.

8.1k8 skills1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
8.1k
Star history of repowise-dev/repowise on GitHub, a chart by star-history.com

Other skills on repowise.

change-review

change-review

Use when reviewing a set of changes before they merge — a PR, a branch diff, or the working-tree changes you just made — in a…

code-health

code-health

Use when the user asks about code health, code quality, complexity, technical debt, which files are risky or hard to maintain,…

codebase-exploration

codebase-exploration

Use when exploring, understanding, or answering questions about a codebase that has Repowise indexed (a .repowise/ directory in…

dead-code-cleanup

dead-code-cleanup

Use when the user asks about cleanup, removing unused code, refactoring, reducing bundle size, or identifying dead code in a…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about pre-modification.

Which coding agents can use pre-modification?
pre-modification installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.