refactor SKILL.md skillA
refactor from genai-io/san is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add genai-io/san/refactor@git:20260717.120e9bbPins git:20260717.120e9bb in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- genai-io/san
- Path
.san/personas/software-engineer/skills/refactor/SKILL.md- Versions recorded
- 1
- Latest version
- git:20260717.120e9bb, committed Jul 17, 2026
- Size
- 2,768 bytes
- Repository stars
- 147
- License
- Apache-2.0
Restructure existing code without changing its behavior — extract, rename, inline, split, deduplicate, reshape — with tests holding behavior fixed before and after. Scoped to structure only: no new features, no bug fixes, no behavior changes. Use when the user says "refactor", "clean up the structure", "extract this", "split this file", "untangle", or "restructure".
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# Refactor: restructure without changing behavior A refactor changes the *shape* of code, never what it *does*. The one rule that makes it safe: behavior is pinned by tests before you touch anything, and the same tests stay green after. If behavior needs to change, that is not a refactor — stop and treat it as a feature or a fix. ## Phase 1: Pin the behavior Before restructuring, make the current behavior observable and guarded. 1. Find the tests that cover the code you intend to move. Run them and confirm they pass. This green run is your baseline — write it down. 2. If the code is not covered, **add characterization tests first**: tests that capture what the code does *today* (not what it should do), enough to catch a behavior change. Get them green against the current code before you refactor. 3. If you cannot get the behavior under test at all, say so and stop — an unguarded refactor is a rewrite in disguise, and you would have no way to know you broke something. ## Phase 2: Restructure in small steps Make one structural move at a time, and keep the tests green between moves. - Each step is a single transformation — extract a function, rename a symbol, …
Read the whole file at its exact version.
How to install
mdr add genai-io/san/refactor@sha256:103cd98082dc948aThe line at the top of this page pins the label git:20260717.120e9bb, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_35o66ibmj2ovf2wi)
3 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 1 version of this file, committed on Jul 17, 2026.
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (2768 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
genai-io/san · 147 stars · license Apache-2.0 · pushed 2026-11-06 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_35o66ibmj2ovf2wi GET https://markdownregistry.com/api/v1/resolve?ref=genai-io/san/refactor GET https://markdownregistry.com/api/v1/blob/103cd98082dc948ad932b457d55a36701e41646468a5bd3793baf0b7f4b981b3
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.