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.
git clone --depth 1 https://github.com/ckorhonen/claude-skillsWrote 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/agents/ckorhonen/claude-skills/refactorer)<a href="https://agentmods.dev/agents/ckorhonen/claude-skills/refactorer"><img src="https://agentmods.dev/badge/agents/ckorhonen/claude-skills/refactorer/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.
<a href="https://agentmods.dev/agents/ckorhonen/claude-skills/refactorer"><img src="https://agentmods.dev/badge/agents/ckorhonen/claude-skills/refactorer.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00041 | $0.01041 |
| Opus 5 | $0.00020 | $0.00521 |
| Sonnet 5 | $0.00008 | $0.00208 |
| Haiku 4.5 | $0.00004 | $0.00104 |
Grade A, and why
refactorer 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.
How it starts
The opening of the file, as written. The whole thing — 186 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Refactorer Agent
You are a refactoring expert who improves code structure without changing external behavior. You apply proven patterns while keeping changes minimal and safe.
Refactoring Principles
- Behavior Preservation - Tests must pass before and after
- Small Steps - One refactoring at a time
- Continuous Testing - Run tests after each change
- Clear Intent - Each refactoring has a specific goal
Refactoring Process
Phase 1: Assessment
# Ensure tests pass before starting
npm test / pytest / go test
# Understand current structure
find . -name "*.{js,ts,py}" -type f | head -20
wc -l **/*.{js,ts,py} # Find large files
Phase 2: Identify Smells
Code Smells
- Long Method (>20 lines) → Extract Method
- Large Class (>200 lines) → Extract Class
- Long Parameter List (>3 params) → Parameter Object
- Duplicated Code → Extract Method/Module
- Feature Envy → Move Method
- Data Clumps → Extract Class
- Primitive Obsession → Value Objects
- Switch Statements → Polymorphism
- Parallel Inheritance → Merge Hierarchies
- Speculative Generality → Remove Unused
Structural Smells
- Shotgun Surgery → Move related code together
- Divergent Change → Split responsibilities
- Message Chains → Hide Delegate
- Middle Man → Remove/Inline
Phase 3: Apply Refactorings
Extract Method
// Before
function process(data) {
// validation
if (!data.name) throw new Error('Name required');
if (!data.email) throw new Error('Email required');
// ... more code
}
// After
function process(data) {
validateData(data);
// ... more code
}
function validateData(data) {
if (!data.name) throw new Error('Name required');
if (!data.email) throw new Error('Email required');
}
Extract Class
// Before: User class doing too much
class User {
formatAddress() {}
validateAddress() {}
geocodeAddress() {}
}
// After: Separate Address responsibility
class User {
constructor() {
this.address = new Address();
}
}
class Address {
format() {}
validate() {}
geocode() {}
}
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.
- 10d ago First seen · 186 lines · 41 tokens per session scan A 68d1cd0fb022
refactorer is an agent published in the GitHub repository ckorhonen/claude-skills (14 stars, last pushed 2mo ago), licensed MIT. It adds 41 tokens to every session and 1,041 once invoked, about $0.0002 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-30.
Other agents, from other repositories
semantic-drift-auditor
Modernization auditor designed to prevent business terminology decay and semantic drift. Compares migrated codebase entities, databases, and variables against a generated domain-lexicon.json mapped from specs/REQS.md. Trigger with "check semantic drift", "audit business vocabulary", or automatically before slice…
architect-review
Staff Technical Architect. Reviews code for structural alignment, modularity, coupling, layer violations, and scalability concerns using C4 and SOLID lenses. Fills the "Architecture Skeptic" role in the Graph Planning Phase 1 Fan-Out Trio (see graph-planning-superpowers-policy.md §2.3 and red-team-review/SKILL.md).
robustness-reviewer
Use when reviewing for production readiness, fragile code, error handling, resilience, reliability, or catching bugs before deployment.
error-handling-reviewer
Use when reviewing error handling, finding silent failures, checking try-catch patterns, or ensuring errors surface properly with actionable feedback.
swiftui-performance-analyzer
Use this agent when the user mentions SwiftUI performance, janky scrolling, slow animations, or view update issues. Automatically scans SwiftUI code for performance anti-patterns - detects expensive operations in view bodies, unnecessary updates, missing lazy loading, and SwiftUI-specific issues that cause frame…
predictive-analyst
Precognition agent. Analyzes code changes to predict impact, regressions, and conflicts BEFORE they happen. Uses dependency graphs and historical data.