structurizelisted
Install: claude install-skill LinardsLiepenieks/honecode
# structurize: name the repetition hiding in an area
Scope: the area the user names (directory, feature, data flow), or with none named whatever the current prompt is about, plus one hop out along imports.
**Leave as is** is a real verdict: occurrences that change for *different* reasons were never one thing, and a module needing more knobs than the occurrences have lines is worse than the occurrences. (`simplify-code` deletes visible duplication in a diff; this asks what repetition should *become*.)
## 1 · Hunt: the real ones are hidden
Copy-paste is the rare, easy case. Repetition usually presents indirectly, as several *related* things rather than one repeated thing:
- **Type-3 / Type-4 clones**: same job, different syntax. Grep cannot see these; read for *intent*, not text.
- **Temporal coupling**: `git log --name-only` over the area. Files that keep changing in the same commit have an implicit dependency and no shared module holding it.
- **Shotgun surgery**: "to add one X you must edit five files." That file list *is* the candidate.
- **Constellations**: a type, its validator, its serializer, its default, each declared separately in every feature. Related, not identical.
- **One domain concept, many models**: the same concept re-modelled per layer or per caller.
- Then the visible ones: repeated control flow over different types, inline field groups, the same `switch` on a type tag, repeated timeout/retry/error boilerplate, `fooA`/`fooB`/`fooC`.
Record each candid