Agent Skill
2/7/2026

self-documenting-code-checklists

Use this skill when writing, reviewing, or refactoring code to ensure it is self-documenting. Apply these checklists to routines, data naming, data organization, and overall code layout to improve code clarity and maintainability without relying on comments.

K
kitchen
11GitHub Stars
1Views
npx skills add kitchen-engineer42/pdf2skills

SKILL.md

Nameself-documenting-code-checklists
DescriptionUse this skill when writing, reviewing, or refactoring code to ensure it is self-documenting. Apply these checklists to routines, data naming, data organization, and overall code layout to improve code clarity and maintainability without relying on comments.

name: self-documenting-code-checklists description: Use this skill when writing, reviewing, or refactoring code to ensure it is self-documenting. Apply these checklists to routines, data naming, data organization, and overall code layout to improve code clarity and maintainability without relying on comments.

Self-Documenting Code Checklists

Self-documenting code communicates its purpose through clear naming, structure, and organization rather than through comments. Use these checklists to evaluate and improve code clarity.

When to Use

  • Writing new routines, functions, or methods
  • Conducting code reviews
  • Refactoring existing code for maintainability
  • Evaluating code quality and readability

Routine Design Checklist

Apply this checklist when designing or reviewing functions, methods, and subroutines:

  • Naming accuracy: Does the routine name accurately describe what it does?
  • Single responsibility: Does the routine perform one well-defined task?
  • Modularity: Have all parts that could benefit from being independent been extracted into their own routines?
  • Interface clarity: Is the routine's interface obvious and clear?

Action: If any item is "no," refactor the routine.

Data Naming Checklist

Apply this checklist when declaring or naming variables, constants, and types:

  • Type descriptiveness: Is the type name descriptive enough to help document data declarations?
  • Variable naming: Are variables named well?
  • Purpose consistency: Is each variable used only for the purpose its name indicates?
  • Loop counters: Do loop counters use more informative names than i, j, k?
  • Enumerated types: Are well-named enums used instead of ad-hoc flags or booleans?
  • Named constants: Are named constants used instead of magic numbers or magic strings?
  • Naming conventions: Do naming conventions distinguish between type names, enums, named constants, local variables, class variables, and global variables?

Action: Rename variables or introduce constants if magic numbers or ambiguous names are found.

Data Organization Checklist

Apply this checklist when organizing data access and structures:

  • Helper variables: Are additional variables used where needed to improve clarity?
  • Reference locality: Are references to variables grouped together?
  • Type simplicity: Are data types simple to minimize complexity?
  • Abstract access: Is complex data accessed through abstract access routines (abstract data types)?

Action: Refactor data structures or introduce intermediate variables to simplify logic.

Layout and Design Checklist

Apply this checklist when reviewing code layout or high-level design:

  • Logical layout: Does the program's layout display its logical structure?
  • Directness: Is the code straightforward, avoiding "clever" tricks?
  • Hidden details: Are implementation details hidden as much as possible?
  • Domain terminology: Is the program written using problem-domain terminology rather than computer science or programming language terminology?

Action: Format and simplify code if it is too "clever" or the layout is confusing.

Skills Info
Original Name:self-documenting-code-checklistsAuthor:kitchen