dry-judge

dry-judge is an agent for Claude Code from closedloop-ai/claude-plugins. It costs 17 tokens per session (4,913 once invoked), scanned A, original, Apache-2.0.

A review tool that checks an implementation plan for repeated work that should be shared or combined. DRY means “Don't Repeat Yourself,” a software practice that avoids maintaining the same logic in multiple places.

In plain words
What is it for?
Use it to compare plan tasks, group similar actions, and identify duplicated structures, setup steps, or implementation patterns.
Why use it?
It helps reveal copy-and-paste tasks, repeated configuration, and missed opportunities for shared modules or utilities. This can make plans easier to maintain.

Agent for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: model in frontmatter.

Part of the judges plugin — 3 skills, 22 agents shipped together

Good fit Use it to compare plan tasks, group similar actions, and identify duplicated structures, setup steps, or implementation patterns.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/closedloop-ai/claude-plugins/dry-judge
Install

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.

Clone the repo
git clone --depth 1 https://github.com/closedloop-ai/claude-plugins

Made for: Claude Code.

Or install judges, the plugin that ships this one along with the rest of its 3 skills, 22 agents.

Wrote 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.

agentmods badge for dry-judge

README.md
[![agentmods](https://agentmods.dev/badge/agents/closedloop-ai/claude-plugins/dry-judge.svg)](https://agentmods.dev/agents/closedloop-ai/claude-plugins/dry-judge)
Your own site
<a href="https://agentmods.dev/agents/closedloop-ai/claude-plugins/dry-judge"><img src="https://agentmods.dev/badge/agents/closedloop-ai/claude-plugins/dry-judge.svg" alt="Measured on agentmods" height="20"></a>
Per session 17 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 4,913 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00017 $0.04913
Opus 5 $0.00009 $0.02457
Sonnet 5 $0.00003 $0.00983
Haiku 4.5 $0.00002 $0.00491

Measured today against content hash 74e4d625bc28, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

dry-judge 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 today.

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.

plugins/judges/agents/dry-judge.md · 457 lines

How it starts

The opening of the file, as written. The whole thing — 457 lines — stays where its author put it; the contents beside it link to each section on GitHub.

DRY Judge

Your task is to analyze implementation plans and score them based on DRY adherence.

<analysis_instructions> You MUST perform your analysis in a structured, step-by-step manner. Wrap all analytical thinking in <thinking> tags before producing your final JSON output.

Step 1: Parse and Inventory Tasks

  1. Extract all tasks from the envelope's source-of-truth artifacts with their IDs, descriptions, and acceptance criteria
  2. Group tasks by their primary action verbs (e.g., "create", "add", "validate", "configure")
  3. Identify tasks that reference shared modules, utilities, or base classes
  4. Note any explicit dependency relationships that indicate abstraction

Step 2: Detect Duplication Patterns

Compare tasks systematically to identify these specific patterns:

Pattern Type A: Identical Task Structures

Detection signals:

  • Same verb phrase with only the target entity changing
  • Example: "Add auth middleware for /users", "Add auth middleware for /posts", "Add auth middleware for /comments"
  • Keywords: "add", "create", "implement" + repeated structure

Pattern Type B: Copy-Paste Configuration

Detection signals:

  • Repeated setup/initialization tasks for different components
  • Example: "Configure logging for UserService", "Configure logging for OrderService"
  • Keywords: "configure", "setup", "initialize", "install"

Pattern Type C: Redundant Validation

Detection signals:

  • Validation logic that could be centralized
  • Example: "Validate email format in signup", "Validate email format in profile update"
  • Keywords: "validate", "check", "verify", "sanitize"
  • Check if validation rules are identical or could share a common validator

Read the full file on GitHub · 457 lines

Changes

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.

  1. today First seen · 457 lines · 17 tokens per session scan A 74e4d625bc28

Subscribe to this mod's changes

dry-judge is an agent published in the GitHub repository closedloop-ai/claude-plugins (103 stars, last pushed yesterday), licensed Apache-2.0. It adds 17 tokens to every session and 4,913 once invoked, about $0.0001 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-09-07.

Related

Other agents, from other repositories

flutter-reviewer

Flutter and Dart code reviewer. Reviews Flutter code for widget best practices, state management patterns, Dart idioms, performance pitfalls, accessibility, and clean architecture violations. Library-agnostic — works with any state management solution and tooling.

affaan-m/ECC · 50 tokens

vue-reviewer

Expert Vue.js code reviewer specializing in Composition API correctness, reactivity pitfalls, component architecture, template security, and Vue-specific performance. Use for any change touching .vue, .ts/.js files with Vue imports, or Vue ecosystem code (Pinia, Vue Router, Nuxt). MUST BE USED for Vue projects.

affaan-m/ECC · 68 tokens

harmonyos-app-resolver

HarmonyOS application development expert specializing in ArkTS and ArkUI. Reviews code for V2 state management compliance, Navigation routing patterns, API usage, and performance best practices. Use for HarmonyOS/OpenHarmony projects.

affaan-m/ECC · 49 tokens

csharp-reviewer

Expert C# code reviewer specializing in .NET conventions, async patterns, security, nullable reference types, and performance. Use for all C# code changes. MUST BE USED for C# projects.

affaan-m/ECC · 44 tokens

php-reviewer

Expert PHP code reviewer specializing in PSR-12 compliance, PHP type system, Eloquent ORM patterns, security, and performance. Use for all PHP code changes. MUST BE USED for PHP projects.

affaan-m/ECC · 44 tokens

fastapi-reviewer

Reviews FastAPI applications for async correctness, dependency injection, Pydantic schemas, security, OpenAPI quality, testing, and production readiness.

affaan-m/ECC · 33 tokens