skills/general-principles/SKILL.md
Use whenever writing, modifying, refactoring, or reviewing code, or when making any design decision — including small ones. Loads the 21 cookbook principles (simplicity, yagni, fail-fast, explicit-over-implicit, separation-of-concerns, design-for-deletion, etc.) as heuristics for judgment calls about code shape, module boundaries, and what to build. Applies across all languages and project types.
npx skillsauth add mikefullerton/catherding general-principlesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
These are design heuristics for judgment calls, not rigid rules. When two principles appear to conflict, prefer the one that leaves the most room to change direction tomorrow — that is the meta-principle: optimize for change.
Keep the list in mind for every change, not just big ones. Even "small" decisions (a new helper, a conditional, a config flag) compound — each one is an opportunity to apply or violate a principle. When several principles are in tension, name them so the choice is explicit instead of implicit.
Prefer less code and smaller decisions; speculation and permanence are liabilities.
How modules and their boundaries are shaped.
What code does at runtime — no hidden state, early failure, predictability.
Prefer shipping to inventing; the platform first, then battle-tested OSS, then your own.
How the work itself gets done — phases, feedback, and automation.
yagni (don't build for hypotheticals), simplicity, explicit-over-implicit, and fail-fast.design-for-deletion, small-reversible-decisions, and the meta-principle.The policy map with cross-links to the concrete policies that apply each principle:
Full definitions in the cookbook:
Start at policies/INDEX.md to navigate related policies.
tools
Toggle per-session YOLO mode (auto-approve permissions with configurable deny list). Use when --dangerously-skip-permissions is broken. /yolo on, /yolo off, /yolo install, /yolo uninstall, /yolo configure, /yolo status
development
Use when authoring or modifying install/uninstall scripts, or when creating a /setup directory for a repo that requires developer setup steps. Enforces the /setup layout, install/uninstall naming, and supporting-files location.
testing
Use when creating a new repo (git init, gh repo create, scaffolding a new project) or when a repo is missing README/LICENSE/.gitignore/.claude/CLAUDE.md. Enforces the "every repo must have" checklist and documentation layout.
development
Use when a file imports an LLM SDK (anthropic, openai, langchain, etc.), when scaffolding LLM features, or when placing Claude-specific files in a repo. Enforces the "do not assume Claude" rule, the /claude directory convention, Graphify opt-in, and the rules-vs-behavioral-instructions split.