agentleFS
Evan-DaruwallaEvan-Daruwalla/claude-skill-suite/coding-conventions/SKILL.md

coding-conventions

Skill0 starsChanged 45 days agoMITView on GitHub

Coding rules: surgical changes, root cause over symptom, simplest rung with marked shortcuts, one runnable check before claiming done. Hook-injected after code edits. Also: "check this", "did that actually run".

4 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

4 rules. 0 are common, 4 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 4 edited versions we read keep these.

  • 4

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Surgical changes only: Every changed line traces to the request.

    line 18
  2. Distinctive:

    Remove orphans YOUR change created (imports, helpers, variables).

    line 20
  3. Distinctive:

    Root cause, not symptom: Before patching the reported call site, grep the shared function's other callers — the chokepoint fix is usually …

    line 22
  4. Distinctive:

    Verify before claiming done: Run it and paste real output.

    line 32

“Common” is measured: kept by at least 6 in 10 of the 4 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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

coding-conventions

Four rules and one verification pass. They lived in CLAUDE.md, where a long session stops reading them; now the hook puts them next to the code you just wrote. The firing is deterministic; following them is still your job.

The rules

  1. Surgical changes only. Every changed line traces to the request; match existing style; no drive-by refactors, reformatting, or "improvements". Remove orphans YOUR change created (imports, helpers, variables); leave pre-existing dead code and mention it.
  2. Root cause, not symptom. Before patching the reported call site, grep the shared function's other callers — the chokepoint fix is usually smaller and actually closes the bug.
  3. Simplicity first — stop at the first rung that holds: (1) doesn't need to exist → skip it, say so; (2) existing helper/pattern; (3) stdlib; (4) native platform feature; (5) already-installed dependency; (6) one line; (7) minimum new code. No features beyond the ask, no abstraction for single-use code, no configurability nobody requested, no handling for impossible cases. 200 lines that could be 50 get rewritten. Mark deliberate corner-cuts in-code: # shortcut: <ceiling + upgrade trigger>.
  4. Verify before claiming done. Run it and paste real output; "should work" is banned. Non-trivial logic ships with ONE runnable check (assert-based self-check; no framework unless asked).

The pass (after every code edit)

SKIP WHEN the edit was a comment, a string, a doc, or a one-line constant — say so in one line and move on. Verification that costs more than the change it guards is theater.

  1. Re-read the real diff. git diff or the file region — the bytes on disk, not your memory of what you meant to write.
  2. Make it run. Cheapest thing that proves it executes: python -c "import mod", node --check file.js, tsc --noEmit, the linter, the existing test. If a suite covers this path, run it and paste real output. No output = not verified.
  3. One runnable check behind non-trivial logic. A branch, loop, parser, or money/security path leaves behind the smallest thing that fails if the logic breaks. Trivial one-liners are exempt.
  4. Scope. Anything that does not trace to the request — a drive-by reformat, an import you stopped needing, a helper nobody calls — comes back out now.

Report, one block, honest:

ran: <command> → <real result>
checked: <what step 3 left behind, or "n/a — trivial">
scope: clean | removed <X>

A failure reported with its output beats a pass you didn't run.

Config

  • Off for a session: CODING_CONVENTIONS_OFF=1 (CODE_CHECK_OFF=1 is still honoured — this skill absorbed code-check on 2026-09-06).
  • Debounce and the code-file extension list live at the top of hooks/postwrite-check.js.

Sources: the engineering-discipline block of a personal CLAUDE.md (moved here 2026-09-06), the code-check skill (merged), and Andrej Karpathy's LLM-coding observations as packaged in the MIT karpathy-guidelines skill.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

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.