clean-code

A set of coding guidelines for readable code, including meaningful names, small functions, one responsibility per module, and shallow nesting.

In plain words
What is it for?
It helps improve names, split large functions, separate responsibilities, and organize code so its main flow is clear.
Why use it?
It makes code easier to understand and reduces the chance that unrelated changes become tangled together.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/5uck1ess/devkit/clean-code
Any agent
npx skills add 5uck1ess/devkit --skill clean-code
Clone the repo
git clone --depth 1 https://github.com/5uck1ess/devkit

Made for: Claude Code, Codex.

Per session 23 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 506 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00023 $0.00506
Opus 5 $0.00012 $0.00253
Sonnet 5 $0.00005 $0.00101
Haiku 4.5 $0.00002 $0.00051

Measured yesterday against content hash 22aa7f14fef7, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

clean-code scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/clean-code/SKILL.md · 74 lines

How it starts

The opening of the file, as written. The whole thing — 74 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Clean Code

Meaningful Names

  • Names should reveal intent. getUserById not getData. isExpired not check.
  • Don't abbreviate unless the abbreviation is universally understood (url, id, config).
  • Booleans read as questions: isReady, hasPermission, shouldRetry.
  • Functions read as actions: calculateTotal, validateInput, sendNotification.

Small Functions

A function should do one thing. If you're describing what a function does and use the word "and," it does too much.

Aim for 5-15 lines. Not a hard rule, but long functions almost always contain extractable sub-functions.

Single Responsibility

Every module/class/function should have one reason to change. If a module handles both parsing and validation, a change to parsing rules forces you to touch validation code (and vice versa).

Ask: "If requirement X changes, how many files do I touch?" If the answer is many, responsibilities are entangled.

The Stepdown Rule

Organize code so readers encounter high-level logic first, details later. A file should read like a newspaper article — headline, summary, then details.

// Good: high-level flow is immediately clear
function processOrder(order) {
  validate(order);
  const total = calculateTotal(order.items);
  return submitPayment(order.customer, total);
}

// Supporting functions follow below
function validate(order) { /* ... */ }
function calculateTotal(items) { /* ... */ }
function submitPayment(customer, total) { /* ... */ }

Public/exported functions at the top. Private/helper functions below.

Flat Nesting

Deeply nested code is hard to follow. Prefer early returns, guard clauses, and extraction.

// Bad: nested
function process(input) {
  if (input) {
    if (input.isValid) {
      if (!input.isProcessed) {
        return doWork(input);
      }
    }
  }
  return null;
}

// Good: flat
function process(input) {
  if (!input) return null;
  if (!input.isValid) return null;
  if (input.isProcessed) return null;
  return doWork(input);
}

Read the full file on GitHub · 74 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 74 lines · 23 tokens per session scan A 22aa7f14fef7

Subscribe to this mod's changes

clean-code is a skill published in the GitHub repository 5uck1ess/devkit (5 stars, last pushed 13d ago), licensed MIT. It adds 23 tokens to every session and 506 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories