clarify-code

Renames opaque identifiers and aligns nearby prose while preserving code behavior.

9|Updated Jul 17, 2026
One-click install
npx skills add https://github.com/Yassimba/loom --skill clarify-code-yassimba
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: clarify-code
Source: https://github.com/Yassimba/loom/tree/main/skills/clarify-code
Command: npx skills add https://github.com/Yassimba/loom --skill clarify-code-yassimba

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Working code often contains opaque names that force readers to inspect implementations or memorize hidden context, slowing down onboarding and maintenance. This Skill performs a semantic-preserving clarity pass so the code explains itself on first read. ## Core Features & Use Cases - Identifier Classification: Classifies every identifier in scope as precise, opaque, or contract (storage, wire, CLI, public API) before touching anything. - Behavior-Preserving Renames: Builds a rename map with full blast radius, then updates definitions, callers, tests, type annotations, and documents using the project's domain vocabulary. - Prose Alignment: Invokes the write-simply skill to align docstrings and comments with the new vocabulary, removing narration and stale claims. - Use Case: A new team member cannot tell what proc, tmp2, or handleIt do in a billing module. Run this Skill on that module to rename each identifier after the concept it holds, verify old names are gone, and pass the repository's required checks. ## Quick Start Use the clarify-code skill to rename the opaque identifiers in this module so a first-time reader understands it, without changing any behavior.

Frequently Asked Questions about clarify-code

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I rename variables and functions without breaking code behavior?

Rename at the owning definition, then update every caller, test, type annotation, and relevant document. Build a rename map first so each change has a known blast radius, then run the focused checks and the repository's required gate to confirm behavior is preserved.

How to make legacy code readable for new team members?

Classify each identifier as precise, opaque, or contract, then rename opaque names using the project's domain vocabulary so each name reveals the concept at its use site. Align nearby docstrings and comments with the new vocabulary and remove stale claims.

Should I rename public API or database column names during a cleanup?

Contract names such as storage, wire, CLI, environment, and public API identifiers should be preserved by default. Change them only when explicitly requested, and add a compatibility alias only when compatibility is requested.

When should I not do a renaming pass on code?

Avoid folding design problems into a clarity pass; keep existing abstractions, control flow, validation, and error behavior in place and report design issues separately. Also skip renaming when identifiers are already precise at their use sites.

How do I verify a large rename did not break anything?

Search for every old name to confirm none remain, run the focused checks covering the changed seams, then run the repository's required gate. Finally read the diff cold to confirm each new name reveals its concept without relying on the rename map.