refactoring

A guide for reorganising code without changing what it does. Refactoring means improving code structure, and tests are checks that help confirm the behaviour stayed the same.

In plain words
What is it for?
It is for restructuring code, adding tests before a refactor when needed, and verifying that tests pass before and after each change.
Why use it?
It reduces the risk of introducing bugs while cleaning up technical debt or preparing code for future work.

Skill for Claude CodeCodex

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.

agentmods
npx agentmods add skills/jeremydev87/codingbuddy/refactoring
Any agent
npx skills add JeremyDev87/codingbuddy --skill refactoring
Clone the repo
git clone --depth 1 https://github.com/JeremyDev87/codingbuddy

Made for: Claude Code, Codex.

Per session 23 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,684 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00023 $0.01684
Opus 5 $0.00012 $0.00842
Sonnet 5 $0.00005 $0.00337
Haiku 4.5 $0.00002 $0.00168

Measured 2d ago against content hash 3cd3b6ba08aa, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

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 2d 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.

packages/rules/.ai-rules/skills/refactoring/SKILL.md · 194 lines

How it starts

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

Refactoring

Overview

Refactoring improves code structure without changing behavior. Tests must pass before AND after.

Core principle: Behavior preservation is non-negotiable. If tests fail, you changed behavior.

Violating the letter of this process is violating the spirit of refactoring.

The Iron Law

NO REFACTORING WITHOUT TESTS PASSING FIRST AND AFTER

Refactored with failing tests? You introduced bugs. Revert immediately.

No exceptions:

  • "Tests don't cover this code" → Add tests first
  • "I'll run tests after all changes" → One refactoring, verify, commit
  • "IDE did it automatically" → Verify tests anyway

When to Use

digraph when_refactor {
    "Want to change code?" [shape=diamond];
    "Adding/changing behavior?" [shape=diamond];
    "Tests passing?" [shape=diamond];
    "Use TDD skill" [shape=box];
    "Make tests pass first" [shape=box];
    "Apply this skill" [shape=box, style=filled, fillcolor="#ccffcc"];

    "Want to change code?" -> "Adding/changing behavior?" [label="yes"];
    "Adding/changing behavior?" -> "Use TDD skill" [label="yes"];
    "Adding/changing behavior?" -> "Tests passing?" [label="no"];
    "Tests passing?" -> "Make tests pass first" [label="no"];
    "Tests passing?" -> "Apply this skill" [label="yes"];
}

Use for: Code cleanup, technical debt, preparing for features Don't use for: Bug fixes, new features (use TDD skill)

The Safe Refactoring Loop

1. VERIFY GREEN     - Run tests, confirm all pass
2. IDENTIFY         - Pick ONE code smell (see Quick Reference table)
3. SELECT PATTERN   - Choose refactoring from refactoring-catalog.md
4. APPLY            - Make minimal structural change
5. VERIFY GREEN     - Run tests, confirm still pass
6. COMMIT           - One refactoring per commit
7. REPEAT or STOP

REQUIRED SUB-SKILL: Use superpowers:test-driven-development for test verification.

Pattern Selection: The refactoring-catalog.md file in this directory contains 24 patterns with before/after examples. Match your code smell to the pattern, review the example, then apply.

Read the full file on GitHub · 194 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

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. 2d ago First seen · 194 lines · 23 tokens per session scan A 3cd3b6ba08aa

Subscribe to this mod's changes

refactoring is a skill published in the GitHub repository JeremyDev87/codingbuddy (31 stars, last pushed 4mo ago), licensed MIT. It adds 23 tokens to every session and 1,684 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-08-30.

Related

Other skills, from other repositories

om-integration-builder

Build integration provider packages for the Open Mercato Integration Marketplace (payment, shipping, data-sync, webhook). Scaffolds the npm package, adapter, credentials, widget injection, webhook processing, health checks, i18n, tests. Triggers on "build integration", "add provider", "integrate with…

open-mercato/open-mercato · 73 tokens

om-ds-guardian

Design System Guardian for Open Mercato. Use for frontend UI work, design-system compliance reviews, semantic token migration, hardcoded color or typography cleanup, DS-compliant page scaffolding, and common DS violations such as arbitrary text sizes, raw color classes, or missing shared states. Prefer this skill…

open-mercato/open-mercato · 76 tokens

om-integration-tests

Run and create QA integration tests (Playwright TypeScript), including executing the full suite, converting optional markdown scenarios, and generating new tests from specs or feature descriptions. Defers all environment boot/reuse to the om-prepare-test-env skill and attaches to the shared descriptor it writes. Use…

open-mercato/open-mercato · 99 tokens

om-create-agents-md

Create or rewrite AGENTS.md files for Open Mercato packages and modules. Use this skill when adding a new package, creating a new module, or when an existing AGENTS.md needs to be created or refactored. Ensures prescriptive tone, the Always/Ask First/Never/Validation Commands boundary structure, MUST-style rules…

open-mercato/open-mercato · 85 tokens

om-smart-test

Run only the tests affected by changed code. Use when the user says "run affected tests", "run smart tests", "test only what changed", "run tests for this PR", "run tests for my changes", "selective tests", or asks to run tests without running the full suite.

open-mercato/open-mercato · 64 tokens

om-auto-qa-scenarios

Generate a human QA report for a window of merged PRs (date floor, PR-number floor, or default last 7 days) and ship it as a docs-only PR against develop. Groups work into P0/P1/P2 testing routes with click paths, verification points, and risk callouts. Writes markdown + HTML under .ai/analysis/. Hands off to…

open-mercato/open-mercato · 99 tokens