Agent skill

Refactor

by sd0xdev in sd0xdev/sd0x-harness

Multi-target refactoring orchestrator. An agent skill from sd0xdev/sd0x-harness.

MITAuto-check: notesDevelopment

Install Refactor

skills CLI
$ npx skills add sd0xdev/sd0x-harness --skill refactor -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install sd0xdev/sd0x-harness refactor --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/sd0xdev/sd0x-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/refactor .claude/skills/refactor && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
refactor
GitHub stars
192
Token cost
~3k tokens
SKILL.md length
1,066 words
Files
5 (incl. references)
Skills in repo
89
Repo updated
First seen
Licence
MIT

At a glance

Multi-target refactoring orchestrator. An agent skill from sd0xdev/sd0x-harness.

  • Works in 3 steps: Target Detection & Planning → Incremental Refactor Loop → Report & Handoff
  • : cleaning up messy code/docs
  • SKILL.md covers Trigger, When NOT to Use, Prohibited Actions and Arguments, plus 8 more sections
  • Calls git and node

What it does

Refactor is an agent skill from sd0xdev/sd0x-harness. Multi-target refactoring orchestrator. Use when: cleaning up messy code/docs, simplifying code, restructuring documents, batch cleanup. Not for: new features (use feature-dev), bug fixes (use bug-fix), code understanding (use code-explore). Output: refactored code/docs + review gate.

Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/behavioral-gate.md`, `references/output-template.md` and `references/refactor-catalog.md`).

It sits in Development, covering Refactoring, Debugging and Human-in-the-loop approvals. The repository describes itself as: The harness layer for Claude Code — a reference implementation of harness engineering with hook-enforced dual review, state-machine gates that survive context compaction, and… The licence is MIT.

When your agent uses it

  • : cleaning up messy code/docs
  • Simplifying code
  • Restructuring documents

Example prompts

  • “/refactor”

Requirements

  • Pre-approved tools (allowed-tools): Read, Grep, Glob, Edit, Write, Bash, Skill, AskUserQuestion

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Target Detection & Planning
  2. Incremental Refactor Loop
  3. Report & Handoff

What it can do on your machine

Read from SKILL.md and the folder at commit a4d4bc1. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Grep
    • Glob
    • Edit
    • Write
    • Bash
    • Skill
    • AskUserQuestion

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Refactor loads about 3k tokens when it runs, and up to ~5.3k if it reads all its reference files. Until then it costs about 73 tokens; SKILL.md has 1,066 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~73
When it runs · the whole SKILL.md, loaded when a task matches
~3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Grep, Glob, Edit, Write, Bash, Skill, AskUserQuestion

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from sd0xdev/sd0x-harness at commit a4d4bc1, republished under its MIT licence (© sd0xdev). 1,066 words, ~3,050 tokens.

Download SKILL.mdSave it as .claude/skills/refactor/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
refactor
description
Multi-target refactoring orchestrator. Use when: cleaning up messy code/docs, simplifying code, restructuring documents, batch cleanup. Not for: new features (use feature-dev), bug fixes (use bug-fix), code understanding (use code-explore). Output: refactored code/docs + review gate.
allowed-tools
Read, Grep, Glob, Edit, Write, Bash, Skill, AskUserQuestion

Refactor — Multi-Target Refactoring Orchestrator

Trigger

  • Keywords: refactor, cleanup, clean up, simplify code, restructure, tidy up, reduce complexity, batch refactor
  • zh-TW: 重構, 整理, 清理, 簡化

When NOT to Use

ScenarioAlternative
New feature development/feature-dev
Bug fix/bug-fix
Code understanding/code-explore
Doc review only/codex-review-doc
Single file simplify (known target)/simplify directly
Remove AI artifacts (known doc)/de-ai-flavor directly

Prohibited Actions

❌ git add | git commit | git push — per @rules/git-workflow.md

budget:token_budget150000</budget:token_budget>

Arguments

FlagDefaultDescription
--target <path>—Specific file or directory (repo-relative)
--auto—Auto-detect targets using inline metrics
--max-targets N10Maximum targets per run
--mode reference-stability—Narrow pointer-conversion pass (see § Reference-Stability Targets). Requires explicit --target files — repeat the flag for multiple files (--target a.md --target b.js, ≤ 5); incompatible with --auto

Workflow

Phase 0: Target Detection → Phase 2: Incremental Refactor Loop → Phase 3: Report
(Phase 1: reserved for v2 — parallel exploration)

agentctl (optional)

At the start, run node "${CLAUDE_PLUGIN_ROOT}/skills/agentctl-setup/scripts/agentctl-setup.js" status once. Only when state is installed/enabled, offer to draft a task proposal from the ticket per @skills/agentctl-setup/references/workflow-integration.md — the user accepts it with /agentctl accept; any other state, say nothing about agentctl and continue. It is never a gate: every review and precommit obligation in this skill is unchanged, and its evidence is context beside a verdict, never the verdict.

Phase 0: Target Detection & Planning

--mode reference-stability Branch (checked first)

When this mode is passed, Phase 0 takes this branch and bypasses the generic pipeline below entirely — no AI-artifact heuristic, no refactor-catalog classification, and no v2 type skip (the mode accepts any maintained text file its transformation table covers: docs, code, tests, instruction surfaces — a *.test.js target is valid here even though the generic path skips test files as v2). In code and test files, only comment and documentation regions are conversion candidates: executable strings, assertion expectations, fixtures, snapshots, generated content, and ordinary data are never touched — that is INV-005's boundary, and it is what makes skipping the behavioral gate sound (an eligible prose-only comment cannot change runtime behavior — tool-consumed directives and pragmas such as lint/type-checker directives or source-map metadata are not eligible regions, since comments can carry machine semantics; anything that could change behavior is out of this mode's reach):

  1. Validate each --target path (same path-safety rules as below)
  2. Enumerate: more than 5 files (after resolving any directory) → [REFACTOR_BLOCKED] <target>: reference-stability accepts at most 5 enumerated files
  3. Reject --auto: [REFACTOR_BLOCKED] --auto: incompatible with reference-stability
  4. Determine each file's review plane (doc vs code) for step 3 of the mode's loop
  5. Proceed to § Reference-Stability Targets — never to the generic code/doc paths
--target Mode
  1. Validate path (per references/target-detection.md):

    • Reject absolute paths (starts with /)
    • Reject .. traversal
    • Reject symlink escape (resolved path outside repo root)
    • Reject non-existent files
    • On rejection: [REFACTOR_BLOCKED] <path>: <reason>
  2. Detect file type:

    • Use extension mapping from references/target-detection.md
    • For .md files: run AI artifact heuristic (scan for tool names, boilerplate, etc.; 3+ matches → doc-ai, else → doc-structure)
    • v2 types (config/shell/test): log [REFACTOR_SKIPPED] {target}: type not yet dispatched (v2) and skip
  3. Classify refactor types from references/refactor-catalog.md (R01-R09 for v1)

--auto Mode
  1. (Optional) Baseline: Run /project-audit to capture health score

  2. Scan repo for candidate files (code + doc)

  3. Score each candidate:

    score = 0.40 × complexity + 0.35 × change_frequency + 0.25 × isolation
    • complexity: wc -l <file> normalized 0-1
    • change_frequency: git log --oneline -- <file> | wc -l normalized 0-1
    • isolation: 1 - (import_count / max_import_count)
  4. Sort descending, take top --max-targets (default 10)

  5. Classify each target's file type and refactor types


Phase 2: Incremental Refactor Loop

Process each target in priority order. Budget: max --max-targets targets per run.

Code Targets
FOR EACH code target:
  1. /verify fast → capture baseline exit code
     IF baseline exit ≠ 0:
       [REFACTOR_SKIPPED] {target}: baseline failing, cannot verify preservation
       CONTINUE

  2. /simplify {target}

  3. /verify fast → capture post-refactor exit code

  4. Behavioral gate (per references/behavioral-gate.md):
     IF BEHAVIOR_CHANGED (0→non-0):
       [REFACTOR_SKIPPED] {target}: behavioral regression detected
       CONTINUE
     IF NO_TESTS (all steps skipped):
       ⚠️ NO_TESTS: behavioral preservation not verified (advisory, continue)

  5. /codex-review-fast (auto-loop, max 3 rounds)
     IF still blocked:
       [REFACTOR_BLOCKED] {target}: review not passing after max rounds
       CONTINUE

  6. /precommit-fast (lint + test gate, per CLAUDE.md required flow)
     IF ⛔ FAIL:
       [REFACTOR_BLOCKED] {target}: precommit not passing
       CONTINUE

  7. Mark as committable
Doc Targets

Doc targets bypass the behavioral gate entirely — docs have no executable tests.

FOR EACH doc target:
  1. Classify: AI artifact heuristic
     IF doc-ai (3+ matches): dispatch /de-ai-flavor {target}
     ELSE (doc-structure): dispatch /doc-refactor {target}

  2. /codex-review-doc (auto-loop, max 3 rounds)
     IF still blocked:
       [REFACTOR_BLOCKED] {target}: review not passing after max rounds
       CONTINUE

  3. Mark as committable
Show full SKILL.md (500 more words)Show less
Reference-Stability Targets (--mode reference-stability)

A narrow pointer-conversion pass, typically dispatched as the bounded adjustment for an ATTENTION_DIFFUSION / REFERENCE_DRIFT stall (@skills/codex-code-review/references/loop-diagnostics.md § Attention-Diffusion Subtypes and the Banking Sequence). Its contract is deliberately tighter than the generic doc/code paths above:

RuleDetail
TargetsAt most 5 explicitly enumerated files, --target only — never --auto; a directory target only after it resolves to ≤ 5 named files
UnitThe file is the blast-radius unit: each target gets one complete pass over its eligible regions (comments/doc prose — never executable strings, assertions, fixtures, snapshots, or data); the per-file eligible-pointer count is measured and reported before editing, not capped
TransformationHomogeneous only: replace bare path:line pointers with path § heading (docs), path + symbol/function (code), path + named test case (tests), or path + flag/config key (instruction surfaces). A numeric hint survives only as "around line N" paired with a semantic anchor — never the sole locator (@rules/docs-writing.md § Durable References)
ForbiddenUnrelated prose cleanup, restructuring, renaming, or de-AI-flavor riding along. A file whose pointers need per-pointer factual reinterpretation is not a stabilization pass — reclassify (DOC_TOO_LONG / UNVERIFIED_CLAIM) or split by section
Exempt contentPoint-in-time records (requests, ADRs, review logs), review evidence, scope proofs, and generated report formats keep exact file:line — never "updated"
GateEdits re-open the plane; this mode's internal review/precommit are evidence, never the outer terminal verdict. The outer gate is still owed on the whole change afterwards
GitThis mode performs no mutating git operation and creates no checkpoint/stash; it may suggest the user create a stash/WIP branch first — advisory prose, never a step
FOR EACH reference-stability target (≤ 5):
  1. Measure: count eligible bare path:line pointers (comment/doc regions only), report per file
  2. Convert: homogeneous anchor transformation only
  3. /codex-review-doc or /codex-review-fast per file type (auto-loop, max 3 rounds)
  4. Mark as converted — outer whole-change gate still owed
v2 Targets
FOR EACH v2 target (config/shell/test):
  [REFACTOR_SKIPPED] {target}: type not yet dispatched (v2)
  CONTINUE

Phase 3: Report & Handoff

Per-Target Result Table

Output per references/output-template.md:

markdown
| # | Target | Type | Action | Gate | Result |
|---|--------|------|--------|------|--------|
Delta Report (--auto only)

If Phase 0 captured /project-audit baseline:

  1. Run /project-audit again
  2. Compare dimension scores (before vs after)
  3. Output delta table
User Handoff

Generic refactors: list committable files. Suggest /smart-commit --execute (no auto-commit per @rules/git-workflow.md).

Reference-stability mode has its own handoff — no commit suggestion. Report each target as converted with its pointer count, state that the outer whole-change gate remains owed, and return control. /smart-commit --execute may be offered only after that outer pass is noted (the banking sequence in @skills/codex-code-review/references/loop-diagnostics.md § Attention-Diffusion Subtypes and the Banking Sequence); calling converted files "committable" here would offer the commit before the pass.


Review Loop

⚠️ Per @rules/auto-loop.md: fix → re-review → ... → ✅ Pass

After editing...Immediately run
Code files/codex-review-fast
Doc files/codex-review-doc

Verification Checklist

Generic refactors:

  • All code targets passed behavioral gate (/verify fast PRESERVED)
  • All targets reviewed (/codex-review-fast or /codex-review-doc)
  • Skip log complete for all skipped/blocked targets
  • No git add/commit/push executed

Reference-stability mode (the behavioral gate does not apply — the mode runs no /simplify):

  • Eligible-pointer counts (comment/doc regions only) measured and reported per file before editing
  • Every change is a homogeneous anchor conversion inside an eligible region; no executable strings, assertions, fixtures, snapshots or data touched; no unrelated edits
  • Exempt content (records, review evidence, scope proofs, report formats) untouched
  • Each target reviewed per its plane (/codex-review-fast or /codex-review-doc)
  • No mutating git operation; no checkpoint/stash created
  • Handoff states the outer whole-change gate is still owed — no commit suggestion

Examples

bash
/refactor --target src/utils.ts           # Refactor single code file
/refactor --target docs/guide.md          # Refactor single doc file
/refactor --target src/                   # Refactor all code in directory
/refactor --auto                          # Auto-detect up to 10 targets
/refactor --auto --max-targets 5          # Auto with budget cap
/refactor --mode reference-stability --target docs/features/<feature>/2-tech-spec.md --target scripts/lib/<module>.js
                                          # Pointer conversion only; handoff reports
                                          # "converted; outer gate owed" — no commit suggestion

© sd0xdev, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files (references) in skills/refactor of sd0xdev/sd0x-harness.

  • SKILL.md
  • references/behavioral-gate.md
  • references/output-template.md
  • references/refactor-catalog.md
  • references/target-detection.md

Open the folder on GitHubat commit a4d4bc1

Compare with similar skills

Refactor next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Refactor compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Refactor this skillsd0xdev/sd0x-harness192—~3kAutomated safety check: NotesMIT
Code Review Graph Navigatorhandsontable/handsontable22k—~939Automated safety check: PassCustom licence
Andrej Karpathy Skillduolahypercho/andrej-karpathy-skills248—~793Automated safety check: PassMIT
Verdaccio Change Implementationverdaccio/verdaccio18k—~1.3kAutomated safety check: PassMIT
RoamCranot/roam-code517—~2.4kAutomated safety check: PassApache-2.0
Debugging Devtools Extensionsflutter/devtools1.7k—~839Automated safety check: PassBSD-3-Clause

Similar skills

  • Code Review Graph Navigator

    handsontable/handsontable

    Queries a pre-built, Tree-sitter-based code graph of the whole monorepo instead of grepping call chains, for exploring, debugging, refactoring or reviewing code.

    22k GitHub stars~939 tokensUpdated today
    DevelopmentAuto-check passed
  • Andrej Karpathy Skill

    duolahypercho/andrej-karpathy-skills

    Apply Andrej Karpathy-inspired coding-agent guidelines in Codex.

    248 GitHub stars~793 tokensUpdated 4 mo ago
    DevelopmentAuto-check passed
  • A workflow for implementing a Verdaccio bug fix, feature or refactor: pick the release lines, check existing options, edit the owning layer, test and add a changeset.

    18k GitHub stars~1.3k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Roam

    Cranot/roam-code

    Codebase comprehension via roam-code CLI. An agent skill from Cranot/roam-code.

    517 GitHub stars~2.4k tokensUpdated 4 days ago
    DevelopmentAuto-check passed
  • Guidelines and step-by-step workflow for debugging DevTools extensions locally, including stub mode, fixed-port launching, browser auto-opening, URL query parameters, target app connection, and…

    1.7k GitHub stars~839 tokensUpdated today
    DevelopmentAuto-check passed
  • Odoo Workflow

    unclecatvn/agent-skills

    Mandatory pre-code gate and definition-of-done for ANY Odoo change (add field, override method, inherit view/xpath, OWL/JS patch, wizard, cron, controller, report, security, migration, bug fix…

    143 GitHub stars~4.7k tokensUpdated 13 days ago
    DevelopmentAuto-check passed

More from sd0xdev/sd0x-harness

All 89 skills in this repo
  • Adr

    sd0xdev/sd0x-harness

    Write an Architecture Decision Record (ADR) for a feature — Context / Decision / Status / Consequences / Alternatives, filed as docs/features/<feature/adr-<NNN-<title.md with a 3-digit zero-padded…

    192 GitHub stars~4.8k tokensUpdated today
    Auto-check passed
  • Load PR Review

    sd0xdev/sd0x-harness

    Load GitHub PR review comments into AI session — analyze, triage, plan.

    192 GitHub stars~4.4k tokensUpdated today
    Auto-check passed
  • Next Step

    sd0xdev/sd0x-harness

    Change-aware next step advisor. An agent skill from sd0xdev/sd0x-harness.

    192 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Obsidian CLI

    sd0xdev/sd0x-harness

    Obsidian vault integration via official CLI. An agent skill from sd0xdev/sd0x-harness.

    192 GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Orchestrate

    sd0xdev/sd0x-harness

    Agent-driven workflow orchestration (v1 report-only). An agent skill from sd0xdev/sd0x-harness.

    192 GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • PR Comment

    sd0xdev/sd0x-harness

    Post friendly review comments to a GitHub PR — prepare locally, preview, then submit as atomic review.

    192 GitHub stars~1.5k tokensUpdated today
    Auto-check passed

Categories

Questions about Refactor

What does Refactor do?

Multi-target refactoring orchestrator. An agent skill from sd0xdev/sd0x-harness. Refactor is an agent skill from sd0xdev/sd0x-harness. Multi-target refactoring orchestrator.

When should I use Refactor?

Refactor fits situations like: : cleaning up messy code/docs; simplifying code; restructuring documents.

How do I install Refactor in Claude Code?

Run `npx skills add sd0xdev/sd0x-harness --skill refactor -a claude-code`. Or copy the skill folder (skills/refactor in sd0xdev/sd0x-harness) into .claude/skills/refactor in your project. Claude Code loads it when a task matches its description.

How do I install Refactor in Codex?

Run `npx skills add sd0xdev/sd0x-harness --skill refactor -a codex`. Or copy the skill folder (skills/refactor in sd0xdev/sd0x-harness) into .agents/skills/refactor in your project. Codex loads it when a task matches its description.

Can I use Refactor in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sd0xdev/sd0x-harness --skill refactor -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/refactor, .gemini/skills/refactor, .github/skills/refactor and .opencode/skills/refactor in your project.

What does Refactor need to run?

Going by SKILL.md and its folder, Refactor needs the command-line tools its instructions call (git and node). Its frontmatter pre-approves these tools: Read, Grep, Glob, Edit, Write, Bash, Skill, AskUserQuestion.

Does Refactor access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Refactor safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Refactor use?

Refactor is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Refactor use?

About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.3k tokens, read only when the agent opens those files.

What are the alternatives to Refactor?

Skills that share tags, products or a category with Refactor: Code Review Graph Navigator (handsontable/handsontable, 22k stars), Andrej Karpathy Skill (duolahypercho/andrej-karpathy-skills, 248 stars), Verdaccio Change Implementation (verdaccio/verdaccio, 18k stars) and Roam (Cranot/roam-code, 517 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Refactor?

sd0xdev (a GitHub user) maintains it in sd0xdev/sd0x-harness, which has 192 GitHub stars. The repository holds 89 skills in this directory. The repository was last updated on October 8, 2026.

Source: sd0xdev/sd0x-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.