Agent skill

Refactor

by gnomeria in gnomeria/usbtree

Behavior-preserving restructuring done safely — test net first, small verified steps, no mixed-in feature changes.

MITAuto-check passedDevelopment

Install Refactor

skills CLI
$ npx skills add gnomeria/usbtree --skill refactor -a claude-code

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

GitHub CLI
$ gh skill install gnomeria/usbtree 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/gnomeria/usbtree.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/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
688
Token cost
~669 tokens
SKILL.md length
331 words
Files
1
Skills in repo
5
Repo updated
First seen
Licence
MIT

At a glance

Behavior-preserving restructuring done safely — test net first, small verified steps, no mixed-in feature changes.

  • Works in 5 steps: Worth it? → Safety net → Small steps, verify each → …
  • The user says refactor
  • SKILL.md covers Step 0 — Worth it?, Step 1 — Safety net, Step 2 — Small steps, verify… and Step 3 — Hard rules, plus 2 more sections
  • Calls cargo and git

What it does

Refactor is an agent skill from gnomeria/usbtree. Behavior-preserving restructuring done safely — test net first, small verified steps, no mixed-in feature changes. Use when the user says "refactor", "clean up", "restructure", "extract", "rename", "split this file/function", "reduce duplication", or "make this testable".

Its SKILL.md is about 670 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Refactoring. It works with Rust. The repository describes itself as: Live USB device tree in your terminal. Rust TUI, no root, no libusb. Full activity metrics on Linux; device tree on macOS/Windows. The licence is MIT.

When your agent uses it

  • The user says refactor
  • Split this file/function
  • Reduce duplication
  • Make this testable

Example prompts

  • “refactor”
  • “clean up”
  • “restructure”
  • “/refactor”

Workflow steps

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

  1. Worth it?
  2. Safety net
  3. Small steps, verify each
  4. Hard rules
  5. Finish

What it can do on your machine

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

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • cargo
    • git

    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 669 tokens when it runs. Until then it costs about 70 tokens; SKILL.md has 331 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~70
When it runs · the whole SKILL.md, loaded when a task matches
~669

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 passed

The automated check found no risky patterns in SKILL.md.

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 gnomeria/usbtree at commit 8ba6a5e, republished under its MIT licence (© gnomeria). 331 words, ~669 tokens.

Download SKILL.mdSave it as .claude/skills/refactor/SKILL.md (or your agent's skills folder).
name
refactor
description
Behavior-preserving restructuring done safely — test net first, small verified steps, no mixed-in feature changes. Use when the user says "refactor", "clean up", "restructure", "extract", "rename", "split this file/function", "reduce duplication", or "make this testable".

Refactor

Structure changes, behavior never. Behavior changes = feature or bug fix — separate change.

Step 0 — Worth it?

  • Purpose required: enables concrete upcoming change, kills duplication that bit someone, or makes untestable testable. "Could be cleaner" alone = say so, stop.
  • Name target shape in one or two sentences before touching code. No target = wandering diff.

Step 1 — Safety net

  • Baseline: cargo test green, cargo clippy -- -D warnings clean. Note it.
  • Uncovered code: characterization tests first — pin what it does now (odd behavior included). Extra check: --demo --dump output before vs after must be byte-identical.
  • Working tree clean before starting; git checkout . is the escape hatch.

Step 2 — Small steps, verify each

  • One named refactoring at a time: extract fn, inline, rename, move, split module. Finish, verify, next.
  • Verify each step: cargo test + clippy. Red → undo last step only. Never push forward on red planning to "fix at the end".
  • Rename via rust-analyzer / cargo tooling where available — tool can't miss call site, regex can.
  • Commit-sized steps. Long refactor → stop at green checkpoints. 40-file big-bang diff "should work" = failure.

Step 3 — Hard rules

  • No behavior changes. Bug found mid-refactor → note it, checkpoint, fix separately (see debug skill).
  • No fmt churn. Repo bans blind cargo fmt — hand-aligned blocks (theme, match tables). Diff only what the refactor touches.
  • Respect // ponytail: comments — known deliberate tradeoffs. Don't "clean up" without reason.
  • No test rewrites to fit refactor. Tests fail after "behavior-preserving" change → change wasn't behavior-preserving. Exception: tests coupled to now-gone internals; update minimally, say why.
  • No scope creep. Step 0 shape is boundary. New ideas → list at end, don't do.

Step 4 — Finish

  • Full cargo test + clippy green. --demo --dump unchanged. Dead code deleted, not commented out.
  • Report: shape achieved, steps taken, things found-not-done.

Direction

  • Extract functions over introducing traits/structs; trait only at genuine seam (multiple impls exist or test needs one).
  • Rule of three: two similar blocks may stand; third occurrence earns abstraction — right shape now visible.
  • Don't abstract for testability when passing plain value/fn does it.

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

Files

Just SKILL.md in .agents/skills/refactor of gnomeria/usbtree.

Open the folder on GitHubat commit 8ba6a5e

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 skillgnomeria/usbtree688—~669Automated safety check: PassMIT
Migrate Core Code to Submodulestinyhumansai/openhuman41k—~2.6kAutomated safety check: PassGPL-3.0
Rust Best Practicesfarm-fe/farm5.6k3 repos~1.1kAutomated safety check: PassMIT
RTK Rust Design Patternsrtk-ai/rtk83k—~1.9kAutomated safety check: PassApache-2.0
RTK Rust Code Simplifierrtk-ai/rtk83k—~1.1kAutomated safety check: PassApache-2.0
Rust Hygiene Audittsz-org/tsz572—~1.5kAutomated safety check: PassApache-2.0

Similar skills

  • Migrate Core Code to Submodules

    tinyhumansai/openhuman

    Plans and carries out moving non-host-specific code and its tests from the OpenHuman core into vendored tiny submodule libraries, then releases the submodule and re-pins the host.

    41k GitHub stars~2.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Guide for writing idiomatic Rust code based on Apollo GraphQL's best practices handbook.

    5.6k GitHub starsUsed in 3 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Describes seven Rust design patterns for the RTK CLI filter modules, with when to use each, RTK examples, and notes on when a pattern is overkill.

    83k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check passed
  • Reviews RTK's Rust code for over-engineering and verbose patterns, applying idioms like iterator chains and early returns while protecting a specific list of constraints from being simplified away.

    83k GitHub stars~1.1k tokensUpdated today
    DevelopmentAuto-check passed
  • Run a deep DRY + code-hygiene audit of the Rust workspace and turn the findings into verified, deduplicated, hierarchical GitHub tech-debt issues.

    572 GitHub stars~1.5k tokensUpdated 27 days ago
    DevelopmentAuto-check passed
  • Coding Agent

    mastra-ai/mastra

    Authoring playbook for building agents that write, edit, review, or refactor code.

    29k GitHub stars~2.3k tokensUpdated today
    DevelopmentAuto-check passed

More from gnomeria/usbtree

  • Knowledge Graph

    gnomeria/usbtree

    Set up and maintain a lightweight, file-based knowledge graph of the repo — entities, typed relations, decisions, gotchas — so agents load context fast instead of re-exploring the codebase every…

    688 GitHub stars~1.5k tokensUpdated 1 mo ago
    Auto-check passed
  • CI GitHub Actions

    gnomeria/usbtree

    GitHub Actions CI pipeline conventions — job shape, caching, permissions, and action pinning.

    688 GitHub stars~1.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Debug

    gnomeria/usbtree

    Systematic root-cause debugging — reproduce, isolate, fix at the source, prove the fix.

    688 GitHub stars~715 tokensUpdated 1 mo ago
    Auto-check passed
  • Write Tests

    gnomeria/usbtree

    Author tests that match the repo's stack and existing test style, at the cheapest level that catches the regression.

    688 GitHub stars~622 tokensUpdated 1 mo ago
    Auto-check passed

Works with

Categories

Questions about Refactor

What does Refactor do?

Behavior-preserving restructuring done safely — test net first, small verified steps, no mixed-in feature changes. Refactor is an agent skill from gnomeria/usbtree. Behavior-preserving restructuring done safely — test net first, small verified steps, no mixed-in feature changes.

When should I use Refactor?

Refactor fits situations like: the user says refactor; split this file/function; reduce duplication; make this testable.

How do I install Refactor in Claude Code?

Run `npx skills add gnomeria/usbtree --skill refactor -a claude-code`. Or copy the skill folder (.agents/skills/refactor in gnomeria/usbtree) 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 gnomeria/usbtree --skill refactor -a codex`. Or copy the skill folder (.agents/skills/refactor in gnomeria/usbtree) 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 gnomeria/usbtree --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 (cargo and git).

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 no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. 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 669 tokens (SKILL.md is roughly 2.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Refactor?

Skills that share tags, products or a category with Refactor: Migrate Core Code to Submodules (tinyhumansai/openhuman, 41k stars), Rust Best Practices (farm-fe/farm, 5.6k stars), RTK Rust Design Patterns (rtk-ai/rtk, 83k stars) and RTK Rust Code Simplifier (rtk-ai/rtk, 83k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Refactor?

gnomeria (a GitHub user) maintains it in gnomeria/usbtree, which has 688 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on August 20, 2026.

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