agentsclimarketplace

Reuse first

Skill NVZver/claude-marketplace/core/skills/reuse-first

Claude Code plugins for spec-first development: every agent claim cites a source, every code change traces to a requirement, and ceremony scales to the weight of the task.

Install
npx -y skills add NVZver/claude-marketplace --skill reuse-first

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Apply on any coding task before writing code — implement a feature, fix a bug, refactor, add code, write a function, wire up a component. Walks a 7-rung reuse ladder (understand the flow → YAGNI → existing code → stdlib → native platform → installed dependency → shortest working diff), stopping at the first rung that holds, so the change reuses over rewrites and adds only the minimum. Stays silent on prose, analysis, explanation, and review tasks that author no code.

SKILL.md

4.9 KB, as published. Nobody here has run it

Trace. On load, print first: =============== [core/skills/reuse-first/SKILL.md] [core] ===============

Reuse First

The reuse ladder catches reinvention and over-delivery before the diff exists, not after — the authoring-time reflex between the spec ("what") and lsa:reconcile's after-the-fact "only" check. On prose/analysis tasks (no code to author) this skill stays silent.

Goal

Stop at the first ladder rung that holds — so the change reuses existing capability and adds only the minimum: shortest working diff, or no code at all.

Input

  • A coding task: implement / fix / refactor / add code / write a function / wire up a component.
  • The current repo state (read as needed to trace the flow and grep for existing capability).

Steps

Evaluate the rungs in order. Stop at the first rung that holds — a higher rung that answers the need makes every lower rung moot.

  1. Understand the real end-to-end flow first. Trace the actual path the change touches — callers, data, and the code already on that path — per ground-rules Rule 3 Read the real source. Observable result: the end-to-end flow the change touches is named (entry point → the code on the path → effect) before any rung below is chosen.

  2. Does it need to exist at all (YAGNI)? Question whether the code is needed before asking how to write it. Observable result: an explicit keep-or-drop decision on the proposed code, with the reason it is (or is not) required by the task.

  3. Reuse existing in-codebase capability. Grep the repo for a helper, util, type, or pattern that already provides the behavior, and reuse it rather than reimplement. Observable result: the grep is run and either the existing symbol (file:line) is named and reused, or a no-match is recorded before descending.

  4. Use the standard library or language builtin. Where a stdlib function or language builtin provides the behavior, use it rather than hand-roll an equivalent. Observable result: the stdlib/builtin API is named and used, or its absence for this need is recorded before descending.

  5. Prefer a native platform feature. Where the platform covers the need natively — CSS over JS, a DB constraint over app-code validation, a framework primitive over custom wiring — prefer it over custom code. Observable result: the native feature is named and used, or its absence for this need is recorded before descending.

  6. Use an already-installed dependency. Where a dependency already in the manifest solves the need, use it; never add a new dependency for what a few lines cover. Observable result: the installed dependency is named and used, or the decision to write a few lines instead of adding a new dependency is recorded.

  7. Otherwise, the shortest working diff. When no higher rung holds, write the minimum: prefer deletion over addition and boring over clever, and show the resulting change inline per core/output Rule 7. Observable result: the diff is the smallest change that makes the task work, with any available deletion taken over an addition.

Root cause, not symptom (bug fixes). When fixing a bug, grep every caller of the function you are about to touch and fix it once in the shared path, not per-symptom. Observable result: the callers of the target function are enumerated (grep) and the fix lands once in the shared path they route through, not repeated at each symptom site.

Output

The ladder applied — rungs evaluated in order with the holding rung named — and the resulting change: a reuse of existing capability, the shortest working diff, or no code at all. Human-readable.

Constraints


On a prose/analysis task with no code to author, this skill does not fire. Every output an agent produces still obeys core/ground-rules (content) and core/output (format).

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.