Cascade dedup
Strip duplicate and conflicting directives across the system-prompt cascade family: the canonical baseline, the six output-style embeds, and the two external harness embeds.From its SKILL.md
npx -y skills add OutlineDriven/odin-claude-plugin --skill cascade-dedupAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
4.5 KB, as published. Nobody here has run it
Cascade dedup
The cascade family replicates one canonical prompt across three harnesses. Dedup means: verify the intentional replication byte-for-byte, strip the accidental repetition, and resolve conflicts with the canonical as winner.
| File | Role | Zones |
|---|---|---|
system-prompt-baseline.md | Canonical; wins every conflict | Whole file is the source of truth |
output-styles/{axiom-mode,builder,duet,linus,odin,benchmark}.md | Style embeds | Persona prefix above the charter <role> (the second <role> per file) = strip zone. Tail from the charter <role> = byte-identity invariant zone, never a dedup target |
output-styles/benchmark.md auto-gen preamble (margin-runner header) | Generated | Never touch. Repairs to benchmark.md's cascade tail require explicit user authorization first |
~/.omp/agent/AGENTS.md, ~/.codex/AGENTS.md | Harness embeds | Harness-adapted tool sections are legitimate divergence; targets are internal duplication and accidental drift. Outside the repo: editable, never committable |
Step 1 — Verify the invariant before dedup
Extract the canonical: cp system-prompt-baseline.md /tmp/canon.md (its charter <role> is line 1, so the canonical is the whole file). Per output-style:
diff -q /tmp/canon.md <(tail -c "$(wc -c < /tmp/canon.md)" output-styles/X.md)
Drift here is a sync bug, not duplication. Repair means replacing the file's entire tail (from its charter <role> to EOF) with the canonical content, as one block; dedup edits inside the invariant zone stay forbidden. For benchmark.md, get explicit user authorization before repairing.
Completion criterion: 6/6 byte-identical (after repair where needed), each diff result recorded.
Step 2 — Strip-zone scan (persona prefixes)
benchmark.md has no eligible strip zone — its entire persona prefix sits inside the auto-generated margin-runner block — so Step 2 covers the five hand-authored styles and skips benchmark.md completely. Classify every sentence of each persona prefix as voice | duplicate | conflict | unique-directive:
- Normalize (lowercase tokens, stopwords removed). Jaccard >= 0.65 against a baseline rule → duplicate: strip it; the baseline copy stands.
- Jaccard >= 0.45 plus opposing modal verbs (must/never, always/must-not) → conflict: the baseline wins; delete or rewrite the prefix line.
- Persona voice — identity, tone, register — is not a directive: keep.
- Unique directives (persona-specific rules with no baseline pair): keep.
Completion criterion: every prefix sentence classified; every strip cites its baseline pair.
Step 3 — Harness embeds
Per external file (~/.omp/agent/AGENTS.md, ~/.codex/AGENTS.md):
- Internal duplication within the file, same thresholds as Step 2.
- Directive-level comparison against the baseline. Classify each divergence:
harness-adaptation— names that harness's tools or commands: keep.accidental drift— same rule, mutated wording: align to the baseline wording.conflict— the baseline wins, unless the divergence exists to fit harness-specific tooling.
Completion criterion: a divergence ledger with exactly one classification per divergence — none unclassified.
Step 4 — Apply and verify
- Repo files: one atomic commit. Any
benchmark.mdchange (tail repair included) ships only with explicit user authorization recorded in this run. Re-run the Step 1 diffs after editing; runprek run --all-files. - Strips and conflict resolutions are doctrine changes → patch-bump all three manifest version fields (
plugin.json.version,marketplace.json.versionand.plugins[0].version) from the origin/main base in the same commit. A run that only re-syncs an embedded baseline, zero strips, is a pure sync change → no bump. - External files: edit in place, never commit; end the report with an explicit warning listing every externally edited path for user review.
- Output styles load at session start — smoke-test doctrine effects in a fresh session.
Completion criterion: final report contains strips per file with citations, conflicts resolved with the winner named, kept harness-adaptations, externally edited paths, the prek result, and the invariant re-verified 6/6.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most prompt engineering skills give
Counted across 542 of the 575 authors here whose files we hold, read 2026-09-06
- Provide few-shot examples for complex tasksin 17 of 542, across 16 files
- Ask clarifying questions if information is ambiguousin 16 of 542, across 14 files
- Output a complete optimized prompt for the userin 15 of 542, across 9 files
- Validate structured outputs against schemasin 15 of 542, across 13 files
- Analyze the draft prompt for intent and gapsin 14 of 542, across 8 files
- Detect project tech stack from local filesin 14 of 542, across 8 files
- Recommend a model based on task scopein 13 of 542, across 7 files
- Present results in the specified output formatin 13 of 542, across 7 files
- Match intent and scope to ECC componentsin 13 of 542, across 7 files
- Ask one question at a timein 13 of 542, across 12 files
- Respond in the same language as the user inputin 12 of 542, across 6 files
- Ask up to three clarification questions if context is missingin 11 of 542, across 5 files
Said here and by no other author read
- verify canonical baseline byte-identity for all style embeds
- replace style embed tails with canonical content if drifted
- strip duplicate directives using Jaccard similarity threshold
- resolve directive conflicts favoring the canonical baseline
- align accidental drift in harness embeds to baseline wording
- patch manifest versions for doctrine changes
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once.