drydry

Detects duplicated code, prose, and design patterns through scoped quick checks or full audits.

4|Updated Jun 9, 2026
One-click install
npx skills add https://github.com/laicluse/agent-fieldkit --skill drydry-laicluse
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: drydry
Source: https://github.com/laicluse/agent-fieldkit/tree/main/.agents/plugins/generated/drydry/skills/drydry
Command: npx skills add https://github.com/laicluse/agent-fieldkit --skill drydry-laicluse

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Codebases accumulate parallel implementations of the same logic, copy, and UI patterns that silently drift apart. This Skill answers "have I seen this before?" with a disciplined duplication-detection methodology instead of a vibe-check, producing verifiable findings rather than guesses. ## Core Features & Use Cases - Quick mode: Answers scoped "are these two paths duplicates?" questions inline in seconds, with a drift hypothesis and a runnable verifier command for every verdict. - Audit mode: Runs a full eight-chapter discipline over a directory or project, formulating a codebase-specific checklist, running an independent contrarian review, and writing findings and checklist artefacts to disk. - Sub-skill dispatch: Routes to sweep, triage, checklist, learn, upstream, and instructions sub-skills for detection passes, triage classification, framework-convention checks, and agent-instruction audits. - Use Case: While writing a new date-formatting helper, ask whether one already exists; the Skill greps the scope, compares candidates, and returns a verdict with a rg command that re-verifies the duplication without the LLM. ## Quick Start Ask the agent to check whether the two functions you just pasted are duplicates of existing code in the src directory.

Frequently Asked Questions about drydry

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

FAQPage Schema
How do I check if two pieces of code are duplicates?▼

Invoke quick mode by naming or pasting the two candidates. The Skill reads both, writes a drift hypothesis describing what breaks if they diverge, produces a runnable grep or rg verifier command, and returns a verdict: converge, needs design, or not a duplicate.

How do I run a full duplication audit on a codebase?▼

Pass a directory, package, or project root with the audit keyword. The Skill formulates a six-to-ten item checklist from the actual code, runs a contrarian review of that checklist, sweeps for hits, triages findings, and writes findings and checklist markdown artefacts to the project root.

What is the difference between quick mode and audit mode?▼

Quick mode answers a scoped duplicate question inline with no artefact, suited to one or two files or snippets. Audit mode sweeps an entire scope, applies the full eight-chapter discipline including contrarian passes, and produces persistent findings documents.

Does the duplication audit work for non-code content like prose or design tokens?▼

Yes. The checklist formulation prompts cover user-facing copy variants, parallel UX surfaces, and design-system patterns alongside code. Domain hints such as Swift, Rails, prose, or design tokens steer the audit toward the relevant duplication shapes.

Why does the audit reject findings without a verifier command?▼

The verifier-burden discipline requires every finding to include a runnable grep, rg, or find command that re-confirms the duplication without the LLM. Hits that cannot be independently re-verified are dropped to prevent hallucinated duplicates.

When should I use parity-audit instead of drydry?▼

Use drydry when asking whether something specific already exists. Use drydry:parity-audit when the question is whether all entry points of the same action still behave identically, such as sweeping every path that triggers the same underlying operation.