documenting-code

2
1
Source

Maintain project documentation synchronized with code. Keep feature specs, API contracts, and README current with init-project standards. Use when updating docs after code changes, adding new features, or ensuring documentation completeness.

Install

mkdir -p .claude/skills/documenting-code && curl -L -o skill.zip "https://mcp.directory/api/skills/download/6102" && unzip -o skill.zip -d .claude/skills/documenting-code && rm skill.zip

Installs to .claude/skills/documenting-code

About this skill

Documenting Code

Standards Reference

All documentation follows init-project conventions:

  • IDs: F-## (features), US-### (user stories) - unique and traceable across docs
  • Files: docs/feature-specs/F-##-slug.yaml, docs/user-stories/US-###-slug.yaml
  • Front-matter: Required title, status, last_updated fields
  • Traceability: Every F-## links to PRD, every US-### links to F-##

Reference /file-templates/init-project/CLAUDE.md for full conventions.

Documentation Inventory

Required docs (from init-project template):

  • docs/product-requirements.yaml - Project goals, scope, features, success metrics
  • docs/feature-specs/F-##-*.yaml - One per F-## feature
  • docs/user-stories/US-###-*.yaml - One per user story
  • docs/user-flows/*.yaml - Primary user flows
  • docs/api-contracts.yaml - API endpoints
  • docs/system-design.yaml - Architecture
  • docs/data-plan.yaml - Metrics and data storage
  • docs/design-spec.yaml - UI/UX specifications

Workflow

1. Check Current State

Before making changes, understand what exists:

  • Read docs/product-requirements.yaml for feature list and current status
  • Check docs/feature-specs/ for existing feature documentation
  • Review docs/api-contracts.yaml for API coverage
  • Scan for broken links, outdated examples, or missing documentation

2. Update Documentation

For feature changes:

  • Update corresponding docs/feature-specs/F-##-*.yaml with new requirements
  • Add/update API endpoints in docs/api-contracts.yaml
  • Update docs/product-requirements.yaml if scope changed
  • Add JSDoc comments in code for complex logic

For new features:

  • Create docs/feature-specs/F-##-slug.yaml following init-project template
  • Add F-## entry to PRD feature table
  • Create API endpoint entries in docs/api-contracts.yaml if applicable
  • Create user stories in docs/user-stories/US-###-slug.yaml if needed

3. Verify Standards Compliance

Checklist before finalizing:

  • All F-## IDs in PRD have corresponding feature specs
  • All US-### stories link to valid F-## features
  • API contracts match feature spec endpoints
  • Code examples work and are current
  • Links between docs are valid
  • Front-matter includes required fields (title, status, last_updated)
  • IDs are properly linked across documents

4. Update README

Keep main README current:

  • Update feature list to match PRD F-## features
  • Refresh installation/setup instructions if changed
  • Update API reference links
  • Add new usage examples as needed
  • Verify all links work

Project Management Commands

Update specific documentation:

/manage-project/update/update-feature      # Update feature specs
/manage-project/add/add-api                # Add API endpoints
/manage-project/update/update-design       # Update system design
/manage-project/update/update-requirements # Update success metrics

Validation commands:

/manage-project/validate/check-consistency # Verify all IDs linked correctly
/manage-project/validate/check-coverage    # Verify no orphaned docs
/manage-project/validate/check-api-alignment # Verify API alignment

Bash utilities (from docs/ directory):

./check-project.sh    # Full validation
./list-features.sh    # Show all features
./list-stories.sh     # Show all stories
./list-apis.sh        # Show all API endpoints

Quick Fixes

  • Broken links: Update with correct paths and verify
  • Outdated examples: Test code samples and update
  • Missing feature docs: Create F-##-slug.yaml following template
  • API changes: Update api-contracts.yaml and corresponding feature specs
  • Status updates: Mark features as completed after implementation

When to Escalate

  • Missing required docs from init-project template
  • Broken traceability (orphaned IDs)
  • Documentation conflicts with implementation
  • User complaints about outdated docs

reviewing-code

CaptainCrouton89

Systematically evaluate code changes for security, correctness, performance, and spec alignment. Use when reviewing PRs, assessing code quality, or verifying implementation against requirements.

10017

railway-cli-management

CaptainCrouton89

Deploy, manage services, view logs, and configure Railway infrastructure. Use when deploying to Railway, managing environment variables, viewing deployment logs, scaling services, or managing volumes.

1388

writing-like-user

CaptainCrouton89

Emulate the user's personal writing voice and style patterns. Use when the user asks to write content in their voice, draft documents, compose messages, or requests "write this like me" or "in my style."

815

gathering-requirements

CaptainCrouton89

Systematically clarify user needs, preferences, and constraints before planning or implementation. Classifies work type, investigates existing systems, discovers edge cases and integration points, resolves assumptions, and creates detailed specifications. Use when building features, enhancements, or integrations where requirements need clarification.

13

fixing-bugs-systematically

CaptainCrouton89

Diagnose and fix bugs through systematic investigation, root cause analysis, and targeted validation. Use when something is broken, errors occur, performance degrades, or unexpected behavior manifests.

21

investigating-code-patterns

CaptainCrouton89

Systematically trace code flows, locate implementations, diagnose performance issues, and map system architecture. Use when understanding how existing systems work, researching concepts, exploring code structure, or answering "how/where/why is X implemented?" questions.

61

You might also like

flutter-development

aj-geddes

Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.

1,6881,430

ui-ux-pro-max

nextlevelbuilder

"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."

1,2721,337

drawio-diagrams-enhanced

jgtolentino

Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.

1,5471,153

godot

bfollington

This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.

1,359809

nano-banana-pro

garg-aayush

Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.

1,269732

pdf-to-markdown

aliceisjustplaying

Convert entire PDF documents to clean, structured Markdown for full context loading. Use this skill when the user wants to extract ALL text from a PDF into context (not grep/search), when discussing or analyzing PDF content in full, when the user mentions "load the whole PDF", "bring the PDF into context", "read the entire PDF", or when partial extraction/grepping would miss important context. This is the preferred method for PDF text extraction over page-by-page or grep approaches.

1,498687