safe-refactor SKILL.md skillA
safe-refactor from gems-uff/noworkflow is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add gems-uff/noworkflow/safe-refactor@git:20261019.85a4863Pins git:20261019.85a4863 in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- gems-uff/noworkflow
- Path
.claude/skills/safe-refactor/SKILL.md- Versions recorded
- 6
- Latest version
- git:20261019.85a4863, committed Oct 19, 2026
- First version recorded
- Oct 14, 2026
- Size
- 15,543 bytes
- Repository stars
- 130
- License
- MIT
Measures the effect of a change locally, comparing the test suite before and after it. Use when refactoring, updating a dependency, fixing a bug or implementing a feature — whenever "what I changed" has to be separated from "what was already like this".
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
# Safe refactoring (local) Measures the change instead of trusting it: runs the suite **before**, makes the change, runs it **after** and compares. It is the same reasoning as `golden-run`, but with the local suite in place of the `now` command run end to end — cheaper and faster, and therefore the first resort. Escalate to `golden-run`, `python-matrix` or `rebuild-vis` when the suite does not reach what changed. ## Steps ### 1. If the change comes from outside, start with the changelog In an upgrade of a dependency, **the changelog is what defines where to look** — not the other way round. Without it you map what you imagine; with it, you map what changed. That is why it comes before everything: before mapping the code, before writing a test, before touching any line. (In a refactoring or a feature there is no changelog: start at step 2.) Read at the right level: **the migration guide and the release notes**, not the complete CHANGELOG of each package. What matters are the changes of behavior and the removals, not the new optional features. **Look first for the library's migration page, and only fall back to the …
Read the whole file at its exact version.
How to install
mdr add gems-uff/noworkflow/safe-refactor@sha256:06e07223da6e29c9The line at the top of this page pins the label git:20261019.85a4863, 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_oilnhfbjhf4owtjk)
3 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 6 versions of this file, between Oct 14, 2026 and Oct 19, 2026, about one every day.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20261019.85a4863 latest | 2026-10-19 | 85a4863 | 15,543 B | A | view · diff |
| git:20261019.d7804ba | 2026-10-19 | d7804ba | 15,544 B | A | view · diff |
| git:20261016.b563fd9 | 2026-10-16 | b563fd9 | 16,142 B | A | view · diff |
| git:20261015.94fc575 | 2026-10-15 | 94fc575 | 15,678 B | A | view · diff |
| git:20261014.7cc6fd3 | 2026-10-14 | 7cc6fd3 | 15,559 B | A | view · diff |
| git:20261014.b631a27 | 2026-10-14 | b631a27 | 15,130 B | A | view |
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 (15543 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
gems-uff/noworkflow · 130 stars · license MIT · pushed 2026-11-06 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_oilnhfbjhf4owtjk GET https://markdownregistry.com/api/v1/resolve?ref=gems-uff/noworkflow/safe-refactor GET https://markdownregistry.com/api/v1/blob/06e07223da6e29c9a023c1b4b06db2358ef85c132fbdd39952c2256d2695b8c3
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.
More from gems-uff/noworkflow
Every file in gems-uff/noworkflow