Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/nicolasyusim/better-codebase/better-duplicationnpx skills add NicolasYusim/better-codebase --skill better-duplicationgit clone --depth 1 https://github.com/NicolasYusim/better-codebaseWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/nicolasyusim/better-codebase/better-duplication)<a href="https://agentmods.dev/skills/nicolasyusim/better-codebase/better-duplication"><img src="https://agentmods.dev/badge/skills/nicolasyusim/better-codebase/better-duplication.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00069 | $0.01023 |
| Opus 5 | $0.00034 | $0.00511 |
| Sonnet 5 | $0.00014 | $0.00205 |
| Haiku 4.5 | $0.00007 | $0.00102 |
Grade A, and why
better-duplication scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 116 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Remove repeated knowledge, not every repeated line
Treat duplication as a change-coupling problem. Two blocks deserve one source of truth when they represent the same knowledge and should change for the same reason.
Own repeated knowledge
Own findings where a rule, decision, invariant, mapping, validation, transformation, schema, or workflow is encoded in multiple places.
Do not own general system boundaries, local readability, or speculative generality. Coordinate with better-architecture, better-maintainability, and better-simplicity when the proposed extraction changes those concerns.
Review workflow
1. Find candidates
Search for exact and near duplication, but also inspect conceptually repeated behavior that uses different syntax. Useful candidates include:
- business rules repeated across entry points;
- authorization, validation, pricing, state transition, or eligibility logic;
- mappings and data transformations that must stay synchronized;
- constants, schemas, protocol values, or error classification copied across modules;
- copy-pasted orchestration with small divergent fixes;
- parallel implementations whose tests describe the same contract;
- duplicated test setup that obscures intent or makes policy changes expensive.
Treat clone detectors and textual search as discovery tools, not verdicts.
2. Classify the relationship
Classify each candidate:
- Shared knowledge: the same rule or contract appears more than once.
- Structural repetition: the same mechanical shape recurs but represents different concepts.
- Coincidental similarity: code looks alike now but has independent reasons to change.
- Intentional duplication: separation protects ownership, deployment, performance, compatibility, or failure isolation.
- Premature abstraction: existing shared machinery forces unrelated cases together.
Ask whether the locations should change together when the underlying requirement changes. If the answer is unclear, inspect names, owners, tests, call sites, and history before extracting.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 116 lines · 69 tokens per session scan A 8daf7486e1d2
better-duplication is a skill published in the GitHub repository NicolasYusim/better-codebase (1 stars, last pushed 25d ago), licensed MIT. It adds 69 tokens to every session and 1,023 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
issue-triage
Issue triage: audit open issues, categorize, detect duplicates, cross-ref PRs, risk assessment, post comments. Args: "all" for deep analysis of all, issue numbers to focus (e.g. "42 57"), "en"/"fr" for language, no arg = audit only in French.
performance
CLI performance optimization - startup time, memory usage, token savings benchmarking.
build-teaql-app
Build or change a TeaQL application in Java, Rust, Go, Swift, Python, C#/.NET, or TypeScript, including Kotlin/JVM applications that consume Java-generated libraries. Mandatory order: first draft and save a complete KSML model, then verify the client and evaluate that saved model, repair it through repeated evaluation…
moai-kanban-foreman
One unattended kanban foreman iteration: watch the backlog queue, dispatch the next operator-picked card to an isolated worker, collect completion evidence on read (not on claims), and report. This is the body the project's loop.md driver invokes each iteration of a bare /loop; it can also be invoked directly to test…
moai-ref-ui-polish
UI polish and interface-completion reference: the small visual details — concentric border radius, optical alignment, shadow-vs-border, motion easing, typography smoothing, tabular numbers, icon stroke weight, hit areas — that separate polished interfaces from generic ones. Agent-extending skill that amplifies…
self-assessment
Interactive skill assessment with personalized learning path generation.