end-refactor

end-refactor is a skill for Claude Code, Codex from marcoemrich/EXACT-Coding-Exercises. It costs 85 tokens per session (3,633 once invoked), scanned A, original, MIT.

A final code-cleanup pass that measures the whole production codebase and makes one change at a time. It looks for issues such as duplicated code, hard-to-follow functions, and inconsistent names.

In plain words
What is it for?
Use it for a measured review of finished, multi-file TypeScript projects. It helps locate and reduce code smells, complex functions, duplicated code, and naming inconsistencies.
Why use it?
It finds problems that can be missed when files are cleaned up one change at a time. The measurements help focus effort on the largest quality issues after the work is finished.

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/marcoemrich/exact-coding-exercises/end-refactor
Any agent
npx skills add marcoemrich/EXACT-Coding-Exercises --skill end-refactor
Clone the repo
git clone --depth 1 https://github.com/marcoemrich/EXACT-Coding-Exercises

Made for: Claude Code, Codex.

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 end-refactor

README.md
[![agentmods](https://agentmods.dev/badge/skills/marcoemrich/exact-coding-exercises/end-refactor.svg)](https://agentmods.dev/skills/marcoemrich/exact-coding-exercises/end-refactor)
Your own site
<a href="https://agentmods.dev/skills/marcoemrich/exact-coding-exercises/end-refactor"><img src="https://agentmods.dev/badge/skills/marcoemrich/exact-coding-exercises/end-refactor.svg" alt="Measured on agentmods" height="20"></a>
Per session 85 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,633 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.00085 $0.03633
Opus 5 $0.00043 $0.01817
Sonnet 5 $0.00017 $0.00727
Haiku 4.5 $0.00009 $0.00363

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

Security

Grade A, and why

end-refactor 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 4d 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.

.claude/skills/end-refactor/SKILL.md · 322 lines

How it starts

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

This is an optional, manually invoked pass. It is not part of the Red-Green-Refactor loop — the per-cycle refactor agent handles that. Run this when a piece of work is finished and you want a measured quality pass over the whole tree. It costs noticeably more time and tokens than a per-cycle refactor, and it is worth it mainly on multi-file code where cross-file duplication and complexity hot spots have had room to form.

You are the final refactoring specialist. Where a per-cycle refactor polishes each green step in isolation, your job is different: you see the whole module at once, with all tests passing, and you apply a measurement-driven cleanup pass across the entire production codebase.

This pass is built on a single hypothesis: once the design has stabilised, measuring across all production files reveals cross-file duplication, cross-function complexity hot spots, and naming inconsistencies that a per-cycle refactor cannot see.

Your Mission

Run a final, metric-driven refactoring pass over the whole production code:

  1. Measure the current state of the entire src/ (all non-spec .ts files) with ESLint (smells + cognitive complexity)
  2. Compute APP mass and McCabe cyclomatic complexity for every function in every production file
  3. Pick the worst offender as the next refactoring target — this may live in any file
  4. Apply ONE improvement while keeping all tests green
  5. Re-measure to verify the change actually reduced complexity
  6. Document the delta for every metric
  7. Iterate steps 3–6 until no metric improves further (or no further improvement is possible)
  8. Return a summary of all applied changes with their PRE/POST deltas

Refactoring Rules

  • Scope is the whole src/: every .ts file that is NOT a *.spec.ts. Multi-file katas (e.g. cli.ts + domain.ts) are refactored together.
  • Iterate, don't one-shot: keep applying one-change-per-step measurement loops until you genuinely cannot improve any metric without trading off another.
  • Tests must stay green: Never break passing tests. Run npm test after every single change.
  • Apply Simple Design Rules: In priority order (1 → 2 → 3 → 4)
  • Measure pre and post: Smells, cognitive complexity, APP mass, McCabe — all four, every iteration
  • One change at a time: So the post-measurement attributes the delta to that change
  • Naming is first priority: Evaluate if function names still fit purpose now that all tests are in
  • If a measurement got worse: revert the change and try a different angle

Read the full file on GitHub · 322 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. 4d ago First seen · 322 lines · 85 tokens per session scan A 715f5a0e82da

Subscribe to this mod's changes

end-refactor is a skill published in the GitHub repository marcoemrich/EXACT-Coding-Exercises (13 stars, last pushed 14d ago), licensed MIT. It adds 85 tokens to every session and 3,633 once invoked, about $0.0004 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

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.

obra/superpowers · 37 tokens

auto-perf-optimize

Run agent-driven VS Code performance or memory investigations. Use when asked to launch Code OSS, automate a VS Code scenario, run the Chat memory smoke runner, capture renderer heap snapshots, take workflow screenshots, compare run summaries, or drive a repeatable scenario before heap-snapshot analysis.

microsoft/vscode · 62 tokens

chat-perf

Run chat perf benchmarks and memory leak checks against the local dev build or any published VS Code version. Use when investigating chat rendering regressions, validating perf-sensitive changes to chat UI, or checking for memory leaks in the chat response pipeline.

microsoft/vscode · 51 tokens

chat-pet-sprite-creation

Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.

microsoft/vscode · 53 tokens

cpu-profile-analysis

Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…

microsoft/vscode · 71 tokens