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/romilly/claude-code-helpersWrote 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/commands/romilly/claude-code-helpers/refactoring)<a href="https://agentmods.dev/commands/romilly/claude-code-helpers/refactoring"><img src="https://agentmods.dev/badge/commands/romilly/claude-code-helpers/refactoring/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/commands/romilly/claude-code-helpers/refactoring"><img src="https://agentmods.dev/badge/commands/romilly/claude-code-helpers/refactoring.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.00000 | $0.01558 |
| Opus 5.5 | $0.00000 | $0.00623 |
| Sonnet 5.5 | $0.00000 | $0.00312 |
| Haiku 4.5 | $0.00000 | $0.00156 |
Grade A, and why
refactoring 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 1mo 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 — 243 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Python Refactoring Guide
Code Smells and Their Refactorings
1. isinstance Chains → Dictionary Dispatch
Smell: Multiple isinstance checks to handle different types:
# Before - isinstance chain
for node in ast.walk(tree):
if isinstance(node, ast.ClassDef):
handle_class(node, defined, graph)
elif isinstance(node, ast.FunctionDef):
handle_function(node, defined, graph)
Refactoring: Use a dictionary mapping types to handler functions:
# After - dictionary dispatch
_node_handlers = {
ast.ClassDef: _handle_class_def,
ast.FunctionDef: _handle_function_def,
}
for node in ast.walk(tree):
handler = _node_handlers.get(type(node))
if handler:
handler(node, defined, graph)
Benefits:
- Open for extension (add new types without modifying dispatch logic)
- Explicit mapping of types to behavior
- Unknown types handled uniformly (silently skipped or raise, your choice)
2. Complex Boolean Conditions → Named Helper Functions
Smell: Long boolean expression that's hard to understand:
# Before - inline complex condition
if (type(func) is ast.Attribute
and type(func.value) is ast.Name
and func.value.id == "self"
and class_name is not None):
# handle self.method() call
Refactoring: Extract to a well-named function. Use TypeGuard when the condition narrows a type:
# After - named helper with TypeGuard
from typing import TypeGuard
def _is_self_method_call(func: ast.expr, class_name: str | None) -> TypeGuard[ast.Attribute]:
"""Check if func is a self.method() call within a class."""
return (type(func) is ast.Attribute
and type(func.value) is ast.Name
and func.value.id == "self"
and class_name is not None)
# Usage - type checker knows func is ast.Attribute after this
if _is_self_method_call(func, class_name):
qualified = f"{class_name}.{func.attr}" # No assert needed
Benefits:
- Self-documenting code (the function name explains intent)
- TypeGuard eliminates need for asserts or casts
- Reusable across multiple call sites
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.
- 1mo ago First seen · 243 lines · 0 tokens per session scan A 310bfe1efb16
refactoring is a command published in the GitHub repository romilly/claude-code-helpers (2 stars, last pushed 8mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,558 tokens. 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.
Other commands, from other repositories
qa-changes
This skill should be used when the user asks to "QA a pull request", "test PR changes", "verify a PR works", "functionally test changes", or when an automated workflow triggers QA validation of code changes. Provides a structured methodology for setting up the environment, exercising changed behavior, and reporting…
react-native
Command "react-native" from getsentry/toolkit, covering examples, also associate with a release and distribution(s), xcode build step (react-native xcode) and important notes.
doctor
Diagnosticar y reparar problemas del framework Don Cheli, git y entorno. Usa cuando el usuario dice "doctor", "problemas del framework", "don cheli no funciona", "repair Don Cheli", "debug setup", "setup broken", "framework broken", "reparar entorno". Detecta y repara issues de configuración, git y dependencias…
doctor
Badi configuration validation. Checks all Badi components and produces a diagnostic report.
http-service
Build, review or debug a Bun HTTP service. Loads the http-service skill, then works the task through its workflow.
auditar-cascading
Invoca cascading-failures-auditor — audita serviço para 5 triggers de cascade (sem timeout, retry sem jitter, sem circuit breaker, sem deadline, queue unbounded) e gera CASCADING-AUDIT.md.