refactor-c SKILL.md skillA

refactor-c from univers42/claude-deal-with-the-devil is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add univers42/claude-deal-with-the-devil/refactor-c@git:20260930.dc5adef

Pins git:20260930.dc5adef in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 17 of 17 checks passed
Kind
SKILL.md skill
Repository
univers42/claude-deal-with-the-devil
Path
skills/refactor-c/SKILL.md
Versions recorded
1
Latest version
git:20260930.dc5adef, committed Sep 30, 2026
Size
3,951 bytes
Repository stars
4
License
none declared

C norms: file and function shape, manual memory with a named owner for every allocation, header hygiene and the warning-free build. Use when editing C source or header files.

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

# C Refactoring

## Structure

- Max 40 lines per function (25 under the 42 Norm — see `agents/norminette.md`).
- Max 4 parameters; beyond that pass a `struct`.
- One translation unit per concern. A `.c` over 300 lines is at least two modules.
- `static` everything not in the header. The header is the public surface; keep it small.
- Include-guard every header. Include what you use, nothing more, and never a `.c`.
- No function bodies in headers except a deliberate `static inline`.

## Memory — every allocation has an owner and a free path

- The function that allocates documents who frees. Ownership transfer is stated in the
  header comment, not inferred.
- Every error path frees what it allocated before returning. This is where leaks live:
  the happy path is usually fine.
- `free()` then set the pointer to `NULL` when the variable outlives the call — a
  double-free is worse than a leak.
- Prefer one arena or pool for many short-lived allocations over N `malloc`/`free`
  pairs (`rules/dsa-and-memory.md`).
- Check **every** allocation for `NULL`. `malloc` returning `NULL` and being
  dereferenced three frames later is the classic C crash.

## Safety
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add univers42/claude-deal-with-the-devil/refactor-c@sha256:7f639641b960b97d

The line at the top of this page pins the label git:20260930.dc5adef, 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_5psx34hd3xf23veo.svg)](https://markdownregistry.com/a/art_5psx34hd3xf23veo)

3 badge image fetches in 30 days. What the badge shows.

Versions

The registry has recorded 1 version of this file, committed on Sep 30, 2026.

versioncommittedcommitsizeaudit
git:20260930.dc5adef latest2026-09-30 dc5adef 3,951 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 (3951 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

univers42/claude-deal-with-the-devil · 4 stars · license none declared · pushed 2026-10-19 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_5psx34hd3xf23veo
GET https://markdownregistry.com/api/v1/resolve?ref=univers42/claude-deal-with-the-devil/refactor-c
GET https://markdownregistry.com/api/v1/blob/7f639641b960b97d69a49cce7185ce02b81bced0696b1ad6a51af3ac9578356f

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 univers42/claude-deal-with-the-devil

AGENTS.md AGENTS.md file
univers42/claude-deal-with-the-devil · AGENTS.md
git:20261002.ea97c77 · audit A · 4 stars
api-convention SKILL.md skill
univers42/claude-deal-with-the-devil · skills/api-convention/SKILL.md · REST API conventions: resource-oriented and versioned routes, auth and access control on every surface, and one error…
git:20260930.dc5adef · audit A · 4 stars
api-endpoint SKILL.md skill
univers42/claude-deal-with-the-devil · skills/api-endpoint/SKILL.md · Scaffold a new REST endpoint that mirrors the ones already there. Use when a route is missing, a handler needs wiring…
git:20260930.72181e1 · audit A · 4 stars
brainstorm SKILL.md skill
univers42/claude-deal-with-the-devil · skills/brainstorm/SKILL.md · Diverge wide on the options, then converge on evidence and cost, ending in one recommendation, a smallest experiment…
git:20261017.fcaf2cc · audit A · 4 stars
browser-testing SKILL.md skill
univers42/claude-deal-with-the-devil · skills/browser-testing/SKILL.md · Verifies a change in a real browser and returns the artifact: the steps, the viewport, the console. Use when a page is…
git:20260930.00e2d41 · audit A · 4 stars
caveat SKILL.md skill
univers42/claude-deal-with-the-devil · skills/caveat/SKILL.md · Give every heuristic, sample, regex parser, cache, timeout and derived number the one line saying what it gets wrong…
git:20260930.06ed519 · audit A · 4 stars
commit-craft SKILL.md skill
univers42/claude-deal-with-the-devil · skills/commit-craft/SKILL.md · Turn a working tree into a history someone can read, revert and bisect. Use when changes are uncommitted, one commit…
git:20260930.5b26a1e · audit B · 4 stars
context-budget SKILL.md skill
univers42/claude-deal-with-the-devil · skills/context-budget/SKILL.md · Measure and cut what a config costs in context every session: always-on rules, invocable descriptions, skills that…
git:20261017.fcaf2cc · audit A · 4 stars
debug SKILL.md skill
univers42/claude-deal-with-the-devil · skills/debug/SKILL.md · Find the actual cause of a failure instead of guessing at fixes. Use when a test fails, a build breaks, a crash has no…
git:20260930.5b26a1e · audit A · 4 stars
design-review SKILL.md skill
univers42/claude-deal-with-the-devil · skills/design-review/SKILL.md · Judges an interface by hierarchy, rhythm, type, consistency and the states nobody built, then names the smallest fix…
git:20261017.fcaf2cc · audit A · 4 stars
doc-sync SKILL.md skill
univers42/claude-deal-with-the-devil · skills/doc-sync/SKILL.md · Find the documentation a change just made false and fix exactly that, examples copied from a passing run. Use when a…
git:20260930.06ed519 · audit A · 4 stars
frontend SKILL.md skill
univers42/claude-deal-with-the-devil · skills/frontend/SKILL.md · Builds UI that holds up at every width, in both themes, with real data, and for someone on a keyboard. Use when a page…
git:20260930.00e2d41 · audit A · 4 stars

Every file in univers42/claude-deal-with-the-devil

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