agentleFS
scoobydont-666scoobydont-666/shared-claude-skills/skills/code-consistency/SKILL.md

code-consistency

Skill1 starsChanged 30 days agoMITView on GitHub

Review, generate and refactor code to match repository conventions in Python, Go, Bash, Rust, C, PowerShell, Terraform and Ansible; flag material quality issues.

The file

We split this skill into the rules it gives an agent

12 rules. About 0 are common, 10 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈10

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    When encountering a language not in the registry:

    line 31
  2. Very specific:

    Create references/<lang>.md with the four standard sections:

    line 32
  3. Distinctive:

    Add a row to the registry table above

    line 37
  4. Distinctive:

    Update the skill description's language list

    line 38
  5. Distinctive:

    Use authoritative style guides as baseline (official lang docs, widely adopted community guides)

    line 39
  6. Distinctive:

    Detect first, enforce second: Never impose external style onto a codebase with its own conventions.

    line 46
  7. Distinctive:

    Before/after diff → rewriting or refactoring

    line 55
  8. Distinctive:

    Before writing any code or review output, read the appropriate reference(s):

    line 67
  9. Very specific:

    If more than 2 quality flags fire, recommend: *"Consider running the code-quality skill for deep analysis on …

    line 96
  10. Distinctive:

    Use format appropriate to context.

    line 100
  11. Distinctive:

    Run this mentally when existing code is provided.

    line 106
  12. Distinctive:

    Read before working on language-specific tasks:

    line 151

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “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

Code Consistency Skill

Enforces, detects, reviews, and generates consistent code across all registered languages. Includes inline quality triage — lightweight checks that flag issues for deeper analysis via the code-quality skill when warranted.


Language Registry

Each supported language has a reference file in references/. To add a new language, create references/<lang>.md following the four-section template (see below).

LanguageReference FileStatus
Pythonreferences/python.md✅ Active
Golangreferences/golang.md✅ Active
Bash/Shellreferences/bash.md✅ Active
Rustreferences/rust.md✅ Active
Creferences/c.md✅ Active
PowerShellreferences/powershell.md✅ Active
Terraform (HCL)references/terraform.md✅ Active
Ansible (YAML)references/ansible.md✅ Active

Adding a New Language

When encountering a language not in the registry:

  1. Create references/<lang>.md with the four standard sections:
    • Naming Conventions
    • Error Handling
    • Project Structure & Packaging
    • Logging / Observability
  2. Add a row to the registry table above
  3. Update the skill description's language list
  4. Use authoritative style guides as baseline (official lang docs, widely adopted community guides)

Core Philosophy

  • Detect first, enforce second. Never impose external style onto a codebase with its own conventions. Scan what's there and match it.
  • Pragmatic strictness. Flag critical issues (bugs, ambiguity, maintenance traps). Suggest minor issues. Never block progress over cosmetics.
  • Quality triage. Surface obvious performance, security, testability, and architecture smells inline. Recommend the code-quality skill for deep analysis.
  • Context-driven output. Match format to task:
    • Inline comments → editing a specific file
    • Numbered violation report → broad review
    • Before/after diff → rewriting or refactoring
    • Style guide doc → reference material request

Workflow

Step 1 — Detect the Language(s)

Identify which language(s) the task involves. Check the registry. If the language isn't registered and the task is substantial, offer to create a reference file.

Step 2 — Load Reference Files

Before writing any code or review output, read the appropriate reference(s):

  • Single language → read references/<lang>.md
  • Multi-language (e.g., Terraform + Bash) → read both
  • IaC + config tasks → check if Ansible or Terraform references apply

Step 3 — Style Detection (when existing code is present)

Scan provided code to infer project conventions. Use the Style Detection Checklist below. Record findings as a brief internal "style snapshot" before proceeding.

Step 4 — Execute the Task

ModeWhen to use
ReviewUser pastes code and wants issues flagged
Rewrite/RefactorUser wants code cleaned up or made compliant
GenerateUser wants new code written in the project's style
Style GuideUser wants a reference doc or cheat sheet

Step 5 — Quality Triage (inline)

While executing, flag any of these if spotted:

  • 🔴 Performance: O(n²)+ in hot paths, unbounded allocations, blocking I/O in async contexts, missing index hints
  • 🔴 Security: hardcoded secrets, injection vectors, path traversal, missing input validation, permissive CORS/auth
  • 🟡 Testability: god functions (>50 LOC with multiple concerns), hidden dependencies, global state, untestable side effects
  • 🟡 Architecture: circular imports, abstraction leaks, SRP violations, inappropriate coupling between layers

If more than 2 quality flags fire, recommend: "Consider running the code-quality skill for deep analysis on [performance|security|testability|architecture]."

Step 6 — Present Output

Use format appropriate to context. Always separate critical from suggested.


Style Detection Checklist

Run this mentally when existing code is provided.

Naming

  • Case convention per symbol type (snake_case, camelCase, PascalCase, kebab-case)
  • Prefix/suffix patterns (e.g., _internal, I-prefix, Err-prefix, $-prefix)
  • Constant casing
  • Test naming patterns

Error Handling

  • Errors wrapped with context? What mechanism?
  • Sentinel/custom error types?
  • Boundary behavior (panics, exceptions, exit codes, trap handlers)

Project Structure

  • Flat vs nested layout
  • Interface/trait placement
  • Module system conventions
  • Config file conventions

Logging/Observability

  • Which logging library/mechanism?
  • Structured vs unstructured?
  • Log level conventions
  • Trace/span propagation?

IaC-Specific (Terraform/Ansible)

  • Resource naming conventions
  • Module/role structure
  • Variable/parameter organization
  • State/inventory management patterns

Severity Levels

LevelLabelMeaning
🔴CRITICALBug risk, security issue, or serious maintainability problem. Must fix.
🟡SUGGESTStyle deviation or improvement opportunity. Worth doing, not blocking.
🔵NOTEObservation or informational context. No action required.

Reference Files

Read before working on language-specific tasks:

  • references/python.md — PEP 8 naming, error handling, packaging, logging, OpenTelemetry
  • references/golang.md — Effective Go + Uber naming, error handling, module layout, logging, OpenTelemetry
  • references/bash.md — Shell naming, error handling (set -euo, traps), script structure, logging
  • references/rust.md — RFC 430 naming, Result/Error handling, Cargo layout, tracing crate
  • references/c.md — Linux kernel style naming, return-code error handling, Makefile/CMake layout, syslog + custom macros
  • references/powershell.md — Verb-Noun naming, error handling, module structure, logging
  • references/terraform.md — HCL naming, error handling, module layout, state management
  • references/ansible.md — YAML conventions, error handling, role structure, logging/verbosity

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.