Resolve a change request into an EXACT edit target before touching code, then gate the edit on tests — the localize → edit → validate loop. Use for a bug fix, an issue, or a feature change where the right files/symbols are not already obvious, or when the user says "이거 고쳐줘", "어디를 고쳐야 해?", "fix this issue", "where does this live?". Produces a localization artifact (targets + evidence + uncertainty) first; edits only after it, validates with a focused test then a regression run.
Installs into .claude/skills of the current project.
Are you the author of Localize?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/jhlee0409-localize)
---
name: localize
description: >-
Resolve a change request into an EXACT edit target before touching code, then
gate the edit on tests — the localize → edit → validate loop. Use for a bug fix,
an issue, or a feature change where the right files/symbols are not already
obvious, or when the user says "이거 고쳐줘", "어디를 고쳐야 해?", "fix this
issue", "where does this live?". Produces a localization artifact (targets +
evidence + uncertainty) first; edits only after it, validates with a focused
test then a regression run.
argument-hint: "<issue / change description>"
allowed-tools: Read, Grep, Glob, Bash, Edit, Write
---
# localize — localize → edit → validate
Do NOT start editing from the first plausible file. Empirically, a staged
**localize → repair → validate** loop resolves real repository issues at a
fraction of the cost of broad autonomous exploration (Agentless, arXiv
2407.01489), and the benchmark contract for "resolved" is a change whose tests
pass (SWE-bench, arXiv 2310.06770). This skill enforces that discipline: name the
target with evidence, make the minimal edit, then prove it with tests.
## 1. LOCALIZE — produce the target before editing
From the request, find the exact edit site(s). Do NOT edit in this phase.
- Extract the concrete signals from the request: error text, stack trace,
symptom, endpoint / field / component name, the file it mentions.
- Search from those signals: `grep` the error string / symbol; `glob` the module;
read the suspected files. For a symbol you will change, run
`/harness-kit:blast-radius <symbol>` to enumerate everything that depends on it,
so the edit scope is known up front (not discovered after a half-fix).
- If tests exist, use the failing test (or write one that reproduces the symptom)
to point at the fault — a failing test IS localization evidence.
**Localization artifact (write it down, BLUF):**
- **Targets**: each `file:line` + symbol you intend to change, with the evidence
that put it there (the grep hit / the failing test / the reference).
- **Impact**: the blast-radius set for any changed signature (callsites that must
move together).
- **Uncertainty**: what you are NOT sure about + the candidate you'd check next.
Non-empty is honest; a confident-but-wrong target is the failure mode here.
## 2. EDIT — minimal, scoped to the target
Make the smallest change that addresses the request at the localized site. Update
every callsite the blast-radius set named — do not leave a half-migrated signature.
Match the surrounding idioms.
## 3. VALIDATE — tests gate the change
- **Focused first**: run the specific test covering the change (or the reproducer
from step 1). It must go from failing → passing.
- **Regression next**: run the stack's test command (the repo's detected
`test_cmd`). Report pass/fail counts.
- **Real-run evidence** for a "feature works" claim: a real input → real output,
not just green unit tests (per the kit's `0.3 No premature done`).
- Record the commands run + outcomes in the handoff / verify artifact.
## Constraints
- The localization artifact (step 1) is REQUIRED before any edit — no "edit first,
find the rest later".
- A change is not done until its focused test passes AND the regression run is
green (or the failures are pre-existing and named). "Compiles" / "200 OK" is not
validation.
- No blind retries: if two edits don't pass, re-localize (the target was wrong),
don't loop on the same site — broad retry loops compound error, they don't fix
localization.
- Bounded autonomy: this is one change → one validation → the human gate, not an
open-ended fix loop.