# Pre Modification Check

Use before modifying, refactoring, or deleting files in a codebase that has Repowise...

- Repository: https://github.com/repowise-dev/repowise (8087 stars)
- Category: AI and agents
- License: AGPL-3.0
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add repowise-dev/repowise --skill pre-modification-check -g -a claude-code -y`
Codex: `npx skills add repowise-dev/repowise --skill pre-modification-check -g -a codex -y`
Cursor: `npx skills add repowise-dev/repowise --skill pre-modification-check -g -a cursor -y`
Gemini CLI: `npx skills add repowise-dev/repowise --skill pre-modification-check -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add repowise-dev/repowise`

## 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.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 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

The rest: https://github.com/repowise-dev/repowise/blob/HEAD/plugins/claude-code/skills/pre-modification/SKILL.md
