semantics
Installation
SKILL.md
Semantics
Coverage
Cross-domain semantic thinking for all naming and meaning decisions:
- Naming in code — the fundamental what + why principle, naming smells (Peter Hilton's seven categories), DDD ubiquitous language, scalar/count/collection/boolean rules
- Semantic versioning — SemVer 2.0.0 (MAJOR.MINOR.PATCH), what counts as breaking, SemVer vs CalVer, pre-release tags
- Semantic commit messages — Conventional Commits format, type catalog (
feat,fix,docs,style,refactor,perf,test,build,ci,chore), breaking-change syntax, the SemVer-from-commits automation chain - Semantic CSS — purpose-not-appearance class names, BEM (
.block__element--modifier), three-layer design-token architecture (primitive → semantic → component) - Semantic data modeling — column-naming rules (unit suffixes, boolean prefixes, timestamp suffixes), semantic types beyond primitives, branded TypeScript types, parse-don't-validate
- Semantic UI / UX — Don Norman affordances and signifiers, semantic color (with the never-color-alone rule), microcopy semantics
- Semantic APIs — REST resource naming (nouns + HTTP verbs, plural collections, kebab-case, max-2-nesting), HTTP status codes as semantic signals (the never-200-with-error-body rule), GraphQL naming
- Universal anti-patterns — generic names, semantic drift, misleading names, appearance-based names, abbreviation ambiguity, cargo-cult naming
Philosophy
Every name is a micro-decision that compounds across the codebase. A function called process(data) forces every future reader to open the implementation to understand its purpose. A design token called --light-blue breaks the moment someone adds dark mode. An API returning HTTP 200 with an error body confuses every consumer. These are not style preferences — they are semantic failures that create real debugging time and real misunderstandings.