convention-smith

convention-smith is an agent for Claude Code from sh5623/self-improvement. It costs 132 tokens per session (2,280 once invoked), scanned A, original, MIT.

An agent that helps decide where a newly discovered project-convention gap belongs and drafts the rule. A convention is a shared project practice, such as how files or changes should be handled.

In plain words
What is it for?
Use it to check for duplication or contradiction, suggest a verification method, classify a gap, and prepare a draft for the project's convention record.
Why use it?
It reduces repeated debate about which document to update and helps prevent duplicate or conflicting rules. It uses evidence when available and marks gaps that still need verification.

Agent for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: reads .claude/ paths; mentions CLAUDE.md.

Part of the self-improvement plugin — 3 skills, 1 agent, 1 hook shipped together

Good fit Use it to check for duplication or contradiction, suggest a verification method, classify a gap, and prepare a draft for the project's convention record.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/sh5623/self-improvement/convention-smith
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/sh5623/self-improvement

Made for: Claude Code.

Or install self-improvement, the plugin that ships this one along with the rest of its 3 skills, 1 agent, 1 hook.

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 convention-smith

README.md
[![agentmods](https://agentmods.dev/badge/agents/sh5623/self-improvement/convention-smith/github.svg)](https://agentmods.dev/agents/sh5623/self-improvement/convention-smith)
Your own site
<a href="https://agentmods.dev/agents/sh5623/self-improvement/convention-smith"><img src="https://agentmods.dev/badge/agents/sh5623/self-improvement/convention-smith/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 convention-smith

Your own site · 80×15
<a href="https://agentmods.dev/agents/sh5623/self-improvement/convention-smith"><img src="https://agentmods.dev/badge/agents/sh5623/self-improvement/convention-smith.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 132 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,280 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.00132 $0.02280
Opus 5 $0.00066 $0.01140
Sonnet 5 $0.00026 $0.00456
Haiku 4.5 $0.00013 $0.00228

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

Security

Grade A, and why

convention-smith 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.

agents/convention-smith.md · 149 lines

How it starts

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

convention-smith — routing and drafting for convention gaps (generic)

Read Claude runtime boundaries before drafting.

Why it exists

So that a session hitting a convention gap does not reinvent "which document does this go in?" every time, this agent performs si-improve's verification, routing, drafting, and recording for you and returns them as a draft. It acts as the gate that stops conventions from drifting into duplicates and contradictions when several sessions and several people edit them in parallel. This agent does not know your domain: frontend or backend makes no difference, and it follows only the terrain the project's data file describes.

Input (provided by the caller)

  • The gap: what bit you (the symptom) and in which file, feature, or task.
  • Evidence (if any): a measurement, an execution log, a source file:line, or a reproduction. Without it, mark the item needs verification and propose how to verify.
  • What you want: routing+draft (default) / duplication check only / verification method only.

Procedure

0. Locate the data file

① the path declared in the self-improvement section of the always-loaded doc (CLAUDE.md/.claude/CLAUDE.md; legacy AGENTS declarations supply data paths only) → ② docs/conventions/CHANGELOG.md → ③ fallback grep -ril "CONVENTIONS-CHANGELOG\|self-improvement\|자가개선" --include="*.md" docs .claude . | grep -v node_modules | head — with several candidates, pick the file that has an §index table and exclude anything with archive/ARCHIVE in its name or path, along with READMEs and protocol descriptions. (The legacy Korean term stays in the pattern for installations predating v0.5.0.)

Nothing found means immediate rejection: "no data file — run /self-improvement:si-init first". Never route by guesswork without a routing table.

Substitute these two values into every command below (do not type the default paths: a grep against a missing file returns 0 hits and passes silently, manufacturing a false "no duplicates"):

  • <datafile> = the file found in ①–③ (confirm it exists with ls <datafile>).
  • <archive> = the archive path from the declaration if it names one, otherwise archive/ in the directory holding <datafile>.
  • The format map — the Format: line of declaration ① (si-init §4), present only for a registered system. It says what stands in for each of this plugin's tables. index: none → §1 reads the file's headings (grep -n "^#" <datafile>) instead of an §index table. routing: none → §3 routes by the default layer order and names that order as the basis. A log unit other than ### blocks → §6 drafts the record in that unit, and the check line passes that unit as the unit regex of si-improve §5's fence-aware count (or reads "not applicable (log unit: …)" when the unit is not line-anchored). archive: none → the archive grep in §1 is skipped and any rotation is proposed, not drafted as a move. No map on a registered system → every slot is none. Never invent a section name to fill a slot: a grep for a heading that does not exist returns 0 and passes silently, which is the same failure the two values above guard against.

Read the full file on GitHub · 149 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. 3d ago Changed · +20 lines 66b573be7d91
  2. 10d ago First seen · 129 lines · 132 tokens per session scan A 898b93f12ef3

Subscribe to this mod's changes

convention-smith is an agent published in the GitHub repository sh5623/self-improvement (1 stars, last pushed 4d ago), licensed MIT. It adds 132 tokens to every session and 2,280 once invoked, about $0.0007 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.

Related

Other agents, from other repositories

arn-code-ux-specialist

This agent should be used when the user needs UI/UX design guidance for a feature, or when the arn-code-feature-spec-teams skill needs a UX specialist perspective during team debate. Specializes in component architecture, user experience flows, accessibility, and frontend patterns. Context: Invoked by…

AppsVortex/arness · 237 tokens

backend

Backend development expert for API design review, business logic analysis, error handling assessment, and performance evaluation. Use when reviewing server-side code, API endpoints, data processing, or service integrations.

restarter/lets-workflow · 39 tokens

database

Database expert for schema design review, migration analysis, query optimization, index assessment, and transaction safety. Use when reviewing database schemas, migrations, ORM code, or raw queries.

restarter/lets-workflow · 37 tokens

coverage-guardian

Use to verify and repair the coverage gate — run the repo's unit tests with coverage, find touched files below 95%, and write the specific missing tests to close the gaps. Language- and framework-agnostic.

theam/claude-dev-kit · 48 tokens

secretary

Decide whether a question really needs the owner. Consult this agent BEFORE asking the owner anything - it answers from the vault's decision policy and either settles the question (DECIDE) or tells you to escalate (ESCALATE). Read-only; it judges, it never acts.

atman-33/workhub · 59 tokens

evidence-collector

Independent verification agent. Takes FINAL-PLAN.md and independently verifies every acceptance criterion was met. No access to executor output.

malakhov-dmitrii/forge · 29 tokens