/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
$ npx -y skills add repowise-dev/repowise --skill pre-modification --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/pre-modification
Context preview
The summary Claude sees to decide when to auto-load this skill.
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
SKILL.md
pre-modification.SKILL.mdname: pre-modification-check
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`, `bus_factor`, `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
name: pre-modification-check 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`, `bus_factor`, `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.
Codebase intelligence for AI and humans: code health scores, auto-generated docs, git analytics, dead code detection, and architectural decisions via MCP.
Repo: repowise-dev/repowise
Other skills on repowise.
- /architectural-decisions
Use when encountering questions about WHY code is built a certain way, when about to make architectural changes (new patterns, restructuring, choosing between approaches), or when the user asks about design rationale in a Repowise-indexed codebase (.repowise/ directory exists).
Open skill - /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 Repowise-indexed codebase (.repowise/ directory exists). Activates for "review this PR", "is this safe to merge", "what's the blast radius of these
Open skill - /code-health
Use when the user asks about code health, code quality, complexity, technical debt, which files are risky or hard to maintain, what to refactor next, untested hotspots, or coverage gaps in a Repowise-indexed codebase (.repowise/ directory exists). Also use to get a before/after
Open skill - /codebase-exploration
Use when exploring, understanding, or answering questions about a codebase that has Repowise indexed (a .repowise/ directory in the project root). Activates for "how does X work", "explain the architecture", "where is Y implemented", "what does this module do", or any task that
Open skill - /dead-code-cleanup
Use when the user asks about cleanup, removing unused code, refactoring, reducing bundle size, or identifying dead code in a Repowise-indexed codebase (.repowise/ directory exists). Also activates when discussing technical debt, code hygiene, or repository maintenance.
Open skill - /architectural-decisions
Use when a task asks why code is built a certain way, proposes architectural changes, compares implementation approaches, or mentions decision markers such as WHY, DECISION, TRADEOFF, or ADR in a Repowise-indexed repository.
Open skill

