pedantic-coder/skills/using-pedantic-principles/SKILL.md
This skill should be used when the user asks "which pedantic skill should I use", "show me all code quality principles", "help me pick a code style rule", or at the start of any code review, refactoring, or greenfield project. Provides the index of all principle skills and the three language pack skills.
npx skillsauth add oborchers/fractional-cto using-pedantic-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 not suggestions. They are non-negotiable standards for code that respects the reader. Your code works? Great. Now make it right. </IMPORTANT>
Use the Skill tool to invoke any skill by name. When invoked, follow the skill's guidance directly.
These apply to every language, every codebase, every commit.
| Skill | Triggers On |
|-------|-------------|
| pedantic-coder:naming-precision | Variable names, function names, class names, file names, semantic accuracy, vague identifiers like data, temp, result, handle |
| pedantic-coder:casing-law | PascalCase, camelCase, snake_case, UPPER_SNAKE — mixed conventions, inconsistent casing across a codebase |
| pedantic-coder:abbreviation-policy | Shortened names, acronyms, inconsistent abbreviations (btn vs button, msg vs message), abbreviation rules |
| pedantic-coder:boolean-naming | Boolean variables, predicate functions, is/has/can/should prefixes, negative booleans, flag naming |
| pedantic-coder:import-discipline | Import statements, require calls, use declarations, import ordering, grouping, sorting, circular dependencies |
| pedantic-coder:declaration-order | File structure, member ordering in classes/structs, constant placement, export ordering, predictable file shape |
| pedantic-coder:symmetry | Parallel code paths, matching pairs (create/delete, open/close), consistent function signatures, structural mirroring |
| pedantic-coder:one-pattern-one-way | Inconsistent approaches to the same problem, mixed paradigms, local shortcuts that break codebase conventions |
| pedantic-coder:magic-value-elimination | Inline string literals, unexplained numbers, hardcoded values that should be named constants or enums |
| pedantic-coder:dead-code-intolerance | Commented-out code, unused imports, unreachable branches, TODO/FIXME comments, historical comments about removed code |
| pedantic-coder:visual-rhythm | Whitespace usage, blank line placement, consistent spacing between logical sections, code as prose |
Enforce the project's own rules, not just ours.
| Skill | Triggers On |
|-------|-------------|
| pedantic-coder:guidelines-compliance | Checking code against CLAUDE.md guidelines, reviewing project convention compliance, auditing a repository's own documented rules, CLAUDE.md inheritance hierarchy |
For language-specific pedantry that goes beyond universal principles.
| Skill | Triggers On |
|-------|-------------|
| pedantic-coder:python-pedantry | Python type hints (str \| None vs Optional), Pydantic settings, StrEnum, exception chaining, Google docstrings, ruff rules |
| pedantic-coder:typescript-pedantry | TypeScript strict mode, discriminated unions, Zod schemas, barrel exports, as const, ESLint strict rules |
| pedantic-coder:go-pedantry | Go error wrapping, interface design, package naming, struct field ordering, receiver naming, golangci-lint rules |
Invoke a skill when there is even a small chance the work touches one of these areas:
All principles rest on three foundations:
Consistency is non-negotiable — One way. Everywhere. Always. A codebase that mixes conventions is a codebase that nobody trusts.
If it looks wrong, it is wrong — Visual disorder signals logical disorder. Code that is hard to scan is hard to maintain. The shape of your code communicates as much as the logic.
Every detail is a decision — Nothing is "just a style choice." Every abbreviation, every import order, every blank line either reinforces or undermines the codebase's integrity.
tools
This skill should be used when the user invokes any /plan-* command from the planning-tools plugin (/plan-context, /plan-master, /plan-open-questions, /plan-verify, /plan-tick, /plan-progress, /plan-delete), asks how Claude Code's plan files work, asks where plans are stored, asks to author or audit a multi-phase master planning document, asks how to walk through a plan's Open Questions interactively, asks how to write progress entries, or mentions ~/.claude/plans/ or .claude/planning-tools.local.md. Provides the index of planning-tools commands, the master-plan workflow lifecycle, the v0.3.0+ list-shape mandate (phases and questions as headings + bulleted scope items, never tables), the v0.3.2+ plain-bullet shape (no `- [ ]` checkboxes — heading emoji is the sole tick signal), the progress-entry methodology, and the mechanics of Claude Code's plan-mode file storage.
testing
This skill should be used when the user is adjusting spacing, padding, margins, content density, section gaps, vertical rhythm, or separation between elements. Also applies when reviewing whether a design feels cramped or too sparse, choosing between borders and whitespace for separation, or defining a spacing system. Covers the 4px/8px spacing system, macro vs micro whitespace, content density spectrum, separation techniques (whitespace > background shifts > borders), and vertical rhythm.
development
This skill should be used when the user is defining brand personality in design, choosing between illustration and photography, adding motion or animation, creating visual motifs, ensuring layout variety, customizing CSS framework defaults, or calibrating the level of creative expression for a given context. Covers Lavie & Tractinsky's expressive aesthetics, the expression spectrum (restrained to bold), brand personality translation, illustration systems, photography direction, and template independence.
development
This skill should be used when the user is establishing visual importance, designing headings, creating focal points, designing CTAs or buttons, arranging label-data relationships, implementing scanning patterns (F-pattern, Z-pattern), or ensuring one dominant element per screen. Covers the three levers of hierarchy (size, weight, color), three-tier information architecture, the 'emphasize by de-emphasizing' principle, CTA design, and label-data relationships.