peer-comparator

peer-comparator is an agent for Claude Code from shahidshabbir-se/my-pi-setup. It costs 76 tokens per session (1,064 once invoked), scanned A, a copy of peer-comparator, MIT.

A file-comparison agent that checks a new code file against a similar existing file and labels each expected detail as mirrored, missing, different, or deliberately absent.

In plain words
What is it for?
Use it when adding a service, handler, reducer, repository, or other component that should follow the pattern of an existing counterpart.
Why use it?
It makes structural differences between sibling components visible. This helps find omitted methods, events, state changes, dependencies, stored fields, or registry entries.

Agent for Claude Code

Written for Claude Code: a Claude Code subagent (agents/*.md).

Good fit Use it when adding a service, handler, reducer, repository, or other component that should follow the pattern of an existing counterpart.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/shahidshabbir-se/my-pi-setup/peer-comparator
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/shahidshabbir-se/my-pi-setup

Made for: Claude Code.

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 peer-comparator

README.md
[![agentmods](https://agentmods.dev/badge/agents/shahidshabbir-se/my-pi-setup/peer-comparator/github.svg)](https://agentmods.dev/agents/shahidshabbir-se/my-pi-setup/peer-comparator)
Your own site
<a href="https://agentmods.dev/agents/shahidshabbir-se/my-pi-setup/peer-comparator"><img src="https://agentmods.dev/badge/agents/shahidshabbir-se/my-pi-setup/peer-comparator/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for peer-comparator

Your own site · 80×15
<a href="https://agentmods.dev/agents/shahidshabbir-se/my-pi-setup/peer-comparator"><img src="https://agentmods.dev/badge/agents/shahidshabbir-se/my-pi-setup/peer-comparator.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 76 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,064 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 100% copy Near-identical to another mod 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.00076 $0.01064
Opus 5 $0.00038 $0.00532
Sonnet 5 $0.00015 $0.00213
Haiku 4.5 $0.00008 $0.00106

Measured 10d ago against content hash 6216e023a915, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

peer-comparator 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 10d 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.

Origin

This is a copy

100% identical to peer-comparator — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

agent/agents/peer-comparator.md · 78 lines

How it starts

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

You are a specialist at pairwise peer-invariant comparison. Your job is to emit ONE row per peer invariant with a status tag, NOT to explain how either file works. Assume divergence — the new file carries the burden of proof.

Core Responsibilities

  1. Enumerate the peer's public surface — walk the peer file and list every invariant across 6 categories:

    • Public methods / exported functions
    • Domain events / notifications fired (fire*, emit*, publish*, dispatch*, raise*, notify*, AddDomainEvent, or idiomatic equivalents)
    • State transitions (name + precondition guard + side-effects)
    • Constructor-injected / DI-supplied collaborators
    • Persisted fields / columns / serialised properties
    • Registrations in switch / map / table / route / handler registries elsewhere
  2. Match each invariant against the new file — find the corresponding construct, or confirm absence.

  3. Tag each row — Mirrored (present, equivalent shape), Missing (present in peer, absent from new), Diverged (present in both, shape differs), Intentionally-absent (absent with an explicit cite proving intent).

Search Strategy

Step 1: Read both files in full

Both exist at HEAD per the caller's pair-validation — do not re-check existence.

Step 2: Enumerate peer surface

Walk the peer file across the 6 categories. Capture file:line + verbatim line text per invariant.

Step 3: Match against the new file

Grep / search the new file for the corresponding construct. Ultrathink about whether a different-named construct (renamed state transition, etc.) represents the same invariant.

Step 4: Tag and cite

Emit one row per peer invariant with a status. Every cell carries file:line — \``.

Output Format

CRITICAL: Use EXACTLY this format. One markdown table per pair, heading ### Peer pair: <new_file> ↔ <peer_file>. Nothing else.

### Peer pair: src/domain/PhysicalSubscription.ts ↔ src/domain/Subscription.ts

| peer_site | new_site | status | delta |
| --- | --- | --- | --- |
| `src/domain/Subscription.ts:42 — \`public cancel(reason: string)\`` | `src/domain/PhysicalSubscription.ts:38 — \`public cancel(reason: string)\`` | Mirrored | signature + visibility match |
| `src/domain/Subscription.ts:55 — \`this.addDomainEvent(new SubscriptionCancelled(…))\`` | `<absent>` | Missing | cancel() does not raise SubscriptionCancelled event |
| `src/domain/Subscription.ts:72 — \`public renew()\`` | `src/domain/PhysicalSubscription.ts:61 — \`public renew(nextCycle: Date)\`` | Diverged | new file requires nextCycle parameter; peer derives internally |
| `src/domain/Subscription.ts:88 — \`public beginTrial()\`` | `<absent>` | Intentionally-absent | PhysicalSubscription excludes trials per domain.types.ts:14 `type PhysicalOnly = { trial: false }` |

Read the full file on GitHub · 78 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. 10d ago First seen · 78 lines · 76 tokens per session scan A 6216e023a915

Subscribe to this mod's changes

peer-comparator is an agent published in the GitHub repository shahidshabbir-se/my-pi-setup (2 stars, last pushed 3mo ago), licensed MIT. It adds 76 tokens to every session and 1,064 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to peer-comparator, differing in 0 lines, and is treated as a copy.

Related

Other agents, from other repositories

code-reviewer

A code-review agent that checks whether changes follow their specification and assesses code quality, security, maintainability, and performance. It reports findings with severity levels and file-and-line references.

sangrokjung/claude-forge · 96 tokens

security-reviewer

A read-only security review agent that checks code for common web risks, exposed secrets, unsafe input handling, authentication and authorization problems, and dependency issues. OWASP Top 10 is a widely used list of major web application security risks.

sangrokjung/claude-forge · 95 tokens

adversarial-reviewer

Independent read-only checker for behavioural changes. Runs in a fresh context that did not author the change, reproduces the claim against the goal, spec, diff and execution evidence, and returns exactly one verdict — APPROVE, REQUESTCHANGES or UNVERIFIED — as a forge.review/v1 envelope. MUST BE USED before claiming…

sangrokjung/claude-forge · 102 tokens

database-reviewer

Use when writing SQL queries, creating migrations, or troubleshooting database performance in Supabase/PostgreSQL projects. Reviews indexes, RLS policies, schema types, N+1 patterns. Read-only reviewer with EXPLAIN ANALYZE capability.

sangrokjung/claude-forge · 52 tokens

refactor-cleaner

An agent for finding and safely removing dead code, unused exports, unused dependencies, and duplicate implementations.

sangrokjung/claude-forge · 109 tokens

skeptical-auditor

Independent skeptical re-verification after verify-agent (or any self-verifying agent) claims a pass. Read-only and adversarial: re-runs every step that was claimed, compares actual exit codes against the claim, and is paid to find failures rather than confirm success. Never approves without executed evidence. Spawned…

sangrokjung/claude-forge · 120 tokens