refactor-skill
Skill142 starsChanged 22 days agoMITView on GitHub
Use when about to refactor or refine an existing skill, its SKILL.md or sibling files, from a full restructure down to a one-line wording fix; a change that looks too small to need this skill is not an exemption. Not for creating a skill from scratch
3 other projects use a version of this.
Adopted by
Most recently taken up by
- jd-opensource/xllmtheir own version, first seen Nov 8, 2026
- joeloverbeck/skill-evidencetheir own version, first seen Aug 23, 2026
- shawn-dumas/claude-code-skillstheir own version, first seen Mar 24, 2026
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- jd-opensource/xllm★ 1.6ksame name
- shawn-dumas/claude-code-skills★ 1same name
- joeloverbeck/skill-evidence★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository14 other files it gives its agents.
- AGENTS.mdAGENTS.md
- publish-pluginsSkill
- upgrade-playbooksSkill
- audit-agent-settingsSkill
- best-practicesSkill
- blindspotSkill
- commitSkill
- differenceSkill
- fuck-over-engineeringSkill
- prSkill
- refactor-agents-mdSkill
- refactor-memorySkill
- simple-englishSkill
- write-like-meSkill
The file
We split this skill into the rules it gives an agent
1 rule. 0 are common, 0 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 13
Use AskUserQuestion in Claude Code or request_user_input in Codex when available.
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Overview
Refactor a skill. A skill spends two budgets. Its description is loaded into every session, so each word there must do triggering work. Its body enters the context on invocation and stays there for the rest of the session, so each line there must guide every path through the skill. Conditional material moves behind a pointer; unnecessary material leaves the skill.
Instructions
Use AskUserQuestion in Claude Code or request_user_input in Codex when available.
- Pick the target. If the invocation names one, resolve it to its
SKILL.md. Otherwise ask which skill. For a full audit, readSKILL.mdand every sibling file in its directory. For a targeted change, readSKILL.md, affected files, and references needed to assess their interactions. That change sets the scope: the verdicts below cover the lines it adds or touches, the rest of the skill stays as it is, and anything noticed there is a follow-up. - Fetch the guides. The platform and model guides below calibrate the delete, demote, and rewrite verdicts. Read each page's full text, not a fetch tool's summary of it: a summary misquotes long pages and misses parts of them.
- Fetch one model guide, picked by the target skill's
model:frontmatter. Unset orinheritmeans the most capable model of the family running this skill:fableunder Claude,gpt-6-astraunder a GPT model. Read the matching reference and fetch the pages it lists:- Claude Code (
fable,opus,sonnet): references/claude-code.md. - Codex (
gpt-6-astra): references/codex.md.
- Claude Code (
- Fetch one model guide, picked by the target skill's
Audit. Give every frontmatter key, body instruction, and sibling file in scope exactly one verdict, judged against its bar below. Done when nothing in scope lacks a verdict.
- contradiction: conflicts with another instruction, or the frontmatter promises what the body does not deliver, such as a
context: forkskill whose body assumes conversation history. Record both sides. - delete: fails the no-op test, meaning the model the skill targets would behave the same without it, or the fetched pages say to remove it because it was written for an earlier model's habits. Judge defaults against those pages, not memory. Covers explanations of what the model already knows, emphasis that carries no instruction, and sibling files nothing points to.
- demote: real content that only some runs of the skill reach. Destinations: a file under
references/linked fromSKILL.md, one level deep; a script underscripts/when the steps are deterministic; a separate skill only when it needs its own trigger or another skill must reach it. Name the destination. - rewrite: right meaning, phrasing falls short of the fetched pages: a description that names features instead of triggers, a step with no completion criterion, a prohibition with no positive target, a rule shouted in capitals instead of explained. Also a rewrite when the line carries words that fail the no-op test on their own: a duplicate of another line, a definition of a term the model knows, or emphasis; a rationale or example stays, since both steer the model. Among wordings that pass the bar, the shortest wins. Voice follows the system prompt: the body addresses the model as "you" and names the human as "the user", so "I" or "my" for the human, and "Claude" or "the agent" for the model, are rewrites; words quoted as user speech keep their own voice.
- keep: earns its cost as written, and no shorter wording has the same effect.
The bar per part:
- Frontmatter (each key a decision, judged before the body):
disable-model-invocation: truewhen only the user ever names the skill; omitted when the agent must reach the skill on its own, or another skill or aCLAUDE.mdline invokes it.user-invocable: falsewhen the human never runs it by hand.context: forkwhen the arguments fully specify the work and the body needs no conversation history.modelandeffortonly when a run at the inherited value failed, andmodelonly on acontext: forkskill or one that owns the whole turn.argument-hintpresent when the skill takes arguments, absent when it does not. - Description (loaded into every session): every word does triggering work. Leads with when to use, names each distinct trigger once, marks the near miss it must not fire on. A user-invoked skill gets a one-line human-facing summary with no trigger list.
- Body (in context from invocation to session end): actions, constraints, completion criteria, or reference every path through the skill needs. Require a fixed order only where correctness depends on it; route conditional workflows to supporting files. Written as standing instructions, since the body is never re-read.
- Sibling files (loaded only when reached): each has a pointer in
SKILL.mdstating what it is and when to read it, or for a script, when to run it. A file with no pointer is unreachable.
- contradiction: conflicts with another instruction, or the frontmatter promises what the body does not deliver, such as a
- Get decisions. Reuse changes and verdicts the user already authorized. Resolve contradictions from instruction priority and explicit user intent where possible; for each unresolved one, ask with
AskUserQuestionorrequest_user_input, each conflicting version an option. Present any remaining delete and demote proposals and collect sign-off. Preserve explicit review boundaries and leave unapproved proposals untouched. - Rewrite. Apply the authorized changes and verdicts in one pass, without asking again. Apply only those: anything else noticed while editing is a follow-up to report in the final message. Keep the directory name and the
namefield, since renaming changes the slash command. Done when every audited item landed where its verdict says: kept, rewritten, demoted, or deleted. When the description changed, name a trigger test in the final message:claude plugin evalwith atool_used: Skillgrader in Claude Code, or theskill-creatorskill's forward-testing in Codex.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

