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.

Install it, pinned
mdr add gems-uff/noworkflow/safe-refactor@git:20261019.85a4863

Pins 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

The exact contents, by fingerprint
mdr add gems-uff/noworkflow/safe-refactor@sha256:06e07223da6e29c9

The 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.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_oilnhfbjhf4owtjk.svg)](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.

versioncommittedcommitsizeaudit
git:20261019.85a4863 latest2026-10-19 85a4863 15,543 BA view · diff
git:20261019.d7804ba2026-10-19 d7804ba 15,544 BA view · diff
git:20261016.b563fd92026-10-16 b563fd9 16,142 BA view · diff
git:20261015.94fc5752026-10-15 94fc575 15,678 BA view · diff
git:20261014.7cc6fd32026-10-14 7cc6fd3 15,559 BA view · diff
git:20261014.b631a272026-10-14 b631a27 15,130 BA view

Audit of the latest version

A  17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • 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

GitHub

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

dependencies SKILL.md skill
gems-uff/noworkflow · .claude/skills/dependencies/SKILL.md · Decides how a dependency is declared in pyproject.toml, judges whether a version pin still has a reason, and carries…
git:20261021.ab3d214 · audit A · 130 stars
golden-run SKILL.md skill
gems-uff/noworkflow · .claude/skills/golden-run/SKILL.md · Compares noWorkflow before and after a change by running the same corpus through `now` on both versions — the outputs…
git:20261023.2ff336b · audit A · 130 stars
merge-downstream SKILL.md skill
gems-uff/noworkflow · .claude/skills/merge-downstream/SKILL.md · Brings main into an issue branch and checks that it came in whole — including what git cannot see. Use when bringing a…
git:20261019.85a4863 · audit A · 130 stars
prove-candidate SKILL.md skill
gems-uff/noworkflow · .claude/skills/prove-candidate/SKILL.md · Turns a suspected defect into a confirmed, refuted or declaredly plausible finding — a reproduction with a control and…
git:20261014.b631a27 · audit A · 130 stars
python-matrix SKILL.md skill
gems-uff/noworkflow · .claude/skills/python-matrix/SKILL.md · Runs the suite on every Python version of the CI matrix — locally with uv, on Linux x86_64 in the reference container…
git:20261021.ab3d214 · audit B · 130 stars
rebuild-vis SKILL.md skill
gems-uff/noworkflow · .claude/skills/rebuild-vis/SKILL.md · Rebuilds the vis bundle (src/noworkflow/now/vis/static/dist/bundle.js) from src/frontend the way the `frontend` job of…
git:20261022.db5de4c · audit B · 130 stars
release SKILL.md skill
gems-uff/noworkflow · .claude/skills/release/SKILL.md · Cuts a release of noWorkflow from an integrated main — the prerequisites, what ships and the version number, the bump…
git:20261106.5bfa13a · audit A · 130 stars
review-pr SKILL.md skill
gems-uff/noworkflow · .claude/skills/review-pr/SKILL.md · Takes a pull request of this repository from start to finish — read the issue and the diff, decide what is ours and…
git:20261020.bc296c5 · audit A · 130 stars
AGENTS.md AGENTS.md file
gems-uff/noworkflow · AGENTS.md
git:20261026.aa52dc2 · audit A · 130 stars
CLAUDE.md CLAUDE.md file
gems-uff/noworkflow · CLAUDE.md
git:20261013.372b7bc · audit B · 130 stars
noworkflow SKILL.md skill
gems-uff/noworkflow · skills/noworkflow/SKILL.md · Captures and analyzes the provenance of Python scripts with noWorkflow (the `now` command) — runs a script as a…
git:20261026.aa52dc2 · audit A · 130 stars

Every file in gems-uff/noworkflow

Other files named safe-refactor

safe-refactor SKILL.md skill
juliusbrussee/caveman · skills/safe-refactor/SKILL.md · Restructure code while preserving behavior. Use for extraction, consolidation, ownership moves, or cleanup where…
git:20260811.82864c8 · audit A · 118,366 stars
safe-refactor SKILL.md skill
jpeetz/agent-skills · skills/development/safe-refactor/SKILL.md · Use this skill when refactoring code — change structure without changing behavior, in small verified steps with tests…
v1.0.0 · audit A · 16 stars
safe-refactor SKILL.md skill
yeaight7/agent-powerups · plugins/codebase-maintenance/skills/safe-refactor/SKILL.md · Use when code needs restructuring without changing observable behavior.
git:20260606.26a6bfa · audit A · 8 stars

Browse by kind, by grade A, or by owner.