melodic-software

Point, don't copy

"Re-anchor pointer-over-copy discipline, then audit the work in flight for copied content, internal-name coupling, and closed capability lists, and correct by pointing at the living source. Use when: 'point don't copy', 'you copied that', 'don't duplicate the docs', 'cite instead of paste', 'link don't restate', 'you enumerated the tools', 'that couples to internal names', 'this will drift', or at conversation start on documentation work."

melodic-software 12 Updated 3w ago

Resources

1
GitHub

Install

npx skillscat add melodic-software/claude-code-plugins/plugins-discipline-skills-point-dont-copy

Install via the SkillsCat registry.

SKILL.md

Point, don't copy

A drift corrector for pointer-over-copy discipline. The method —
re-anchor, audit the work in flight, correct forward, report, and the tone
that firing this is not an accusation — lives in
`${CLAUDE_PLUGIN_ROOT}/context/re-anchor-audit-correct.md`.
Read it; this file adds only what is specific to duplication discipline.

The discipline this re-anchors

Point at the living source; do not copy what it owns. This doctrine is
already owned by convention docs — re-anchor THEM, do not restate their
content here. Resolve the source of truth per the method doc's ladder:

  • Facts you own (in-repo). Your organization's reference-don't-duplicate
    convention — every fact has one source of truth; consumers cite it by a
    stable anchor rather than restate it; literal versus semantic duplication;
    the describe / use / expose roles a file plays toward a fact.
  • Facts an upstream owns (external). Your organization's
    documentation-and-citations convention — cite the upstream and fetch it at
    read time; do not recap upstream-owned catalogs, schemas, flag
    inventories, or defaults into tracked files; place the citation at the
    sentence that defers to it; a stored external value needs a recheck
    trigger.

Read those where they live. When a consuming project declares none of them,
re-anchor the portable baseline: provide a link or citation to the living
source and never restate the facts it owns — a reworded paraphrase drifts
exactly as a verbatim copy does
, because both are a second copy that goes
stale when the source moves.

This skill's own pins — beyond what the conventions state

  • Threshold two, not three. The reference-don't-duplicate smell signals
    fire at "three or more" occurrences; this skill pins the trigger at two
    — the second copy is already duplication to resolve by pointing, not
    something to tolerate until a third appears. A deliberate, tighter
    refinement (and a candidate change to that convention). Weigh a genuine
    case for local divergence on its merits, but the default at two copies is
    to consolidate to one source and point at it.
  • Point at public contracts, not internals. Reference the stable public
    contract — a tool's invocation surface, the command and its arguments —
    never the internal script or file names behind it, which are rename blast
    radius that breaks every citation the moment they move. (The conventions
    cover citing stable anchors; this names the specific trap of citing an
    internal name where the public contract exists.)
  • No capability enumeration. Phrase your OWN duties open-ended, not just
    upstream-owned inventories. A closed list of what something can do goes
    stale as the surface evolves; name current mechanisms only as
    clearly-marked examples — "mechanisms such as X and Y (examples, not a
    fixed list)" — never as the definition.

What is NOT a copy

Owning a fact is not copying it. A config genuinely adapted for this repo, a
constraint this project itself pins, a one-shot dated research deliverable,
and an error string empirically observed in this environment are content
THIS project authors and owns — they follow the conventions' "describe" and
"empirical findings / operator recipes the repo records" carve-outs, not the
copy prohibition. Do not flatten them into pointers.

Audit — what to look for

Name concrete, located findings (per the method doc's step 2, self-audit):

  • copied or paraphrased content — external, local, or cross-repo — that a
    named source already owns;
  • extracted value tables or verbatim config blocks lifted from a source's
    docs;
  • hard-coded tool schemas or capability lists in a durable doc;
  • a reference to an internal script or file name where the public
    invocation contract would do;
  • a closed enumeration of duties or mechanisms that will drift as the
    surface evolves;
  • the same passage, literal, or concept appearing in two or more places.

Correct each forward now: replace the copy with a pointer to its owner,
swap an internal-name reference for the public contract, and reopen a
closed enumeration into a general duty with marked examples. Where content
is genuinely this project's own to hold (an adapted config, a self-pinned
constraint, a dated research deliverable), say so and leave it.

What this skill does NOT do

  • Does not strip legitimate local content. An adapted config, a
    self-owned constraint, a one-shot research snapshot, and an observed
    error string are not copies — do not flatten them into pointers.
  • Does not fabricate a violation. A doc that already points rather than
    copies audits clean; say so.

Gotchas

  • The subtle case is the paraphrase — it reads as original prose but
    restates a fact another source owns. Judge by ownership, not by whether
    the words match.
  • A pointer is only durable if it targets the public contract. Pointing at
    an internal name trades a copy-drift problem for a rename-drift one.