Claude-skill-registry code-documentation-standards
Comprehensive code documentation standards and guidelines for maintaining up-to-date documentation across Python, HTML, CSS, and JavaScript codebases. Use when creating or modifying code to ensure proper documentation practices and maintainable code.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/code-documentation-standards" ~/.claude/skills/majiayu000-claude-skill-registry-code-documentation-standards && rm -rf "$T"
manifest:
skills/data/code-documentation-standards/SKILL.mdsource content
Code Documentation Standards
Core Principle
ALWAYS maintain up-to-date documentation when creating or modifying code. Documentation must be updated simultaneously with code changes. ALWAYS fix markdown validation errors promptly before committing any changes.
Pre-Commit Markdown Validation
Before any commit, ALWAYS:
- Run markdown validation on all .md files in the repository
- Fix all markdown syntax errors including:
- Unclosed code blocks
- Missing link destinations
- Invalid heading structures
- Broken table formatting
- Incorrect list indentation
- Validate code block syntax in documentation
- Check internal links are properly formatted
- Ensure consistent formatting across all markdown files
Documentation Requirements
1. Python Functions/Classes
def process_document(file_path: str, patterns: List[str]) -> ProcessResult: """ Process a document for redaction using specified patterns. Args: file_path (str): Path to the document file to process patterns (List[str]): List of redaction patterns to apply Returns: ProcessResult: Object containing processed document and metadata Raises: FileNotFoundError: If the specified file doesn't exist ValidationError: If patterns are invalid Example: >>> result = process_document('doc.pdf', ['ssn', 'email']) >>> print(result.redacted_count) """ pass
2. Class Documentation
class DocumentProcessor: """ Handles document processing operations for various file formats. This class provides methods for parsing, analyzing, and transforming documents while maintaining original formatting and metadata. Attributes: supported_formats (List[str]): File formats supported by processor max_file_size (int): Maximum file size in bytes Example: >>> processor = DocumentProcessor() >>> result = processor.process('document.pdf') """ def __init__(self, config: ProcessingConfig = None): """Initialize processor with optional configuration.""" pass
3. Template Documentation
<!-- Template: translation_interface.html Purpose: Main interface for Chuukese-English translation Variables: - dictionary_entries: List of recent dictionary entries - user_translations: User's translation history - cultural_context: Cultural context data for assistance Dependencies: - static/css/translation.css - static/js/translation-ui.js - Bootstrap 5.1+ --> <div class="translation-container"> <!-- Translation form content --> </div>
4. CSS Class Documentation
/* * Chuukese Text Display * Purpose: Styles for displaying Chuukese text with proper accent handling * Usage: Apply to containers holding Chuukese language content * Dependencies: Requires font-family supporting Unicode accents */ .chuukese-text { font-family: 'Noto Sans', 'Arial Unicode MS', sans-serif; font-size: 1.1em; line-height: 1.5; direction: ltr; } /* * Responsive adaptation: Increase font size on mobile * Context: Better readability for accented characters */ @media (max-width: 768px) { .chuukese-text { font-size: 1.2em; } }
5. JavaScript Function Documentation
/** * Normalize Chuukese text for search operations * @param {string} text - The Chuukese text to normalize * @param {boolean} preserveAccents - Whether to preserve accent marks * @returns {string} Normalized text suitable for searching * @throws {TypeError} If text is not a string * * @example * const normalized = normalizeChuukeseText('kápás', false); * console.log(normalized); // 'kapas' */ function normalizeChuukeseText(text, preserveAccents = true) { if (typeof text !== 'string') { throw new TypeError('Text parameter must be a string'); } // Implementation... }
Documentation Standards by Context
Database Models
class DictionaryEntry(Base): """ Represents a Chuukese-English dictionary entry. This model stores bilingual dictionary data with cultural context, pronunciation guides, and usage information for language learning and translation applications. Attributes: chuukese_word (str): Primary Chuukese term (required) english_definition (str): English definition or translation pronunciation (str): IPA or phonetic pronunciation guide cultural_context (str): Cultural significance and usage notes part_of_speech (str): Grammatical category (noun, verb, etc.) difficulty_level (str): Learning difficulty (beginner/intermediate/advanced) usage_frequency (float): Frequency score 0.0-1.0 Relationships: phrases: Related phrase entries using this word translations: Translation pairs containing this entry Example: >>> entry = DictionaryEntry( ... chuukese_word="chomong", ... english_definition="to help, assist", ... cultural_context="Community cooperation value" ... ) """ __tablename__ = 'dictionary_entries' id = Column(Integer, primary_key=True) chuukese_word = Column(String(200), nullable=False, index=True) # ... rest of model
API Routes
@app.route('/api/translate', methods=['POST']) def translate_text(): """ Translate text between Chuukese and English. Endpoint for bidirectional text translation with quality assessment and cultural context preservation. Request Body: { "text": "string - Text to translate (required)", "source_language": "string - Source language code (required)", "target_language": "string - Target language code (required)", "include_cultural_context": "boolean - Include cultural notes (optional, default: false)" } Response: { "translated_text": "string - Translated result", "quality_score": "float - Translation quality 0.0-1.0", "cultural_notes": "array - Cultural context information (if requested)", "confidence": "float - Translation confidence score" } Status Codes: 200: Translation successful 400: Invalid request parameters 422: Translation quality too low 500: Internal server error Example: >>> POST /api/translate >>> { ... "text": "chomong", ... "source_language": "chuukese", ... "target_language": "english" ... } Response: { "translated_text": "to help", "quality_score": 0.95, "confidence": 0.98 } """ pass
Best Practices
1. Consistency Standards
- Use consistent parameter naming across similar functions
- Maintain uniform documentation formatting
- Follow established patterns for each language/framework
- Update documentation immediately when code changes
- Fix all markdown validation errors before committing
2. Content Guidelines
- Write for developers who don't know the codebase
- Include practical examples whenever possible
- Document edge cases and error conditions
- Explain the "why" behind implementation decisions
3. Cultural Context Documentation (Chuukese Project Specific)
- Document cultural significance of Chuukese terms
- Explain traditional concepts that may not translate directly
- Note appropriate usage contexts (formal/informal, traditional/modern)
- Include pronunciation guides for language learners
4. Maintenance Requirements
- Review documentation during code reviews
- Update documentation in the same commit as code changes
- Mark deprecated functions with alternatives
- Remove documentation for deleted code
- Validate markdown syntax before each commit
5. Quality Checks
- Verify all parameters are documented
- Ensure examples are current and functional
- Check that return types match actual implementation
- Validate that error conditions are accurately described
- Run markdown linting tools on all documentation
6. Markdown Validation Process
MANDATORY before every commit:
-
Syntax Validation:
# Check for markdown syntax errors markdownlint **/*.md -
Code Block Validation:
- Ensure all code blocks have proper opening/closing backticks
- Verify language tags are correct (python, javascript, html, css)
- Test that code examples are syntactically valid
-
Link Validation:
- Check all internal links reference existing files/sections
- Verify external links are accessible
- Ensure proper markdown link syntax:
[text](url)
-
Structure Validation:
- Confirm heading hierarchy is logical (h1 → h2 → h3)
- Verify lists have consistent indentation
- Check table formatting is complete
-
Common Fixes:
- Close unclosed code blocks with proper backticks
- Fix malformed tables with proper pipe alignment
- Correct broken link references
- Standardize heading styles (#, ##, ###)
- Fix list item indentation and nesting
Templates
Function Documentation Template
def function_name(param1: Type1, param2: Type2 = default) -> ReturnType: """ Brief description of what the function does. Longer description if needed, explaining the purpose and any important implementation details or assumptions. Args: param1 (Type1): Description of first parameter param2 (Type2, optional): Description with default value Returns: ReturnType: Description of return value Raises: ExceptionType: When this exception occurs Example: >>> result = function_name(value1, value2) >>> print(result) Note: Any special considerations or warnings """
Class Documentation Template
class ClassName: """ Brief description of the class purpose. Detailed explanation of what the class represents, its main responsibilities, and how it fits into the larger system. Attributes: attr_name (Type): Description of attribute Example: >>> instance = ClassName(param) >>> result = instance.method() See Also: RelatedClass: For related functionality """
Dependencies
- Follow project-specific documentation tools
- Use type hints for Python functions
- Include JSDoc for JavaScript when applicable
- Maintain README files for project overviews
Validation Criteria
Proper documentation should:
- ✅ Explain the purpose clearly and concisely
- ✅ Document all parameters and return values
- ✅ Include practical usage examples
- ✅ Note error conditions and exceptions
- ✅ Use consistent formatting and style
- ✅ Stay current with code changes
- ✅ Provide cultural context for Chuukese-specific terms
- ✅ Pass markdown validation without errors
- ✅ Have properly formatted code blocks and links
- ✅ Use consistent heading structure and list formatting
Pre-Commit Workflow
MANDATORY checklist before every commit:
- ✅ Code documentation updated
- ✅ Markdown files validated and errors fixed
- ✅ Code blocks properly formatted with language tags
- ✅ All links functional and properly formatted
- ✅ Heading hierarchy follows logical structure
- ✅ Examples tested and verified working
Tools for validation:
for syntax checkingmarkdownlint- VS Code markdown preview for visual verification
- Link checkers for external references
- Code syntax validators for embedded examples