documentation-review
Automatically detect and fix documentation inconsistencies, outdated examples, and missing @file headers in the u-he-preset-randomizer project. Triggers when documentation appears outdated or when making significant code changes that affect public APIs.
$ Installieren
git clone https://github.com/Fannon/u-he-preset-randomizer /tmp/u-he-preset-randomizer && cp -r /tmp/u-he-preset-randomizer/.claude/skills/documentation-review ~/.claude/skills/u-he-preset-randomizer// tip: Run this command in your terminal to install the skill
name: documentation-review description: Automatically detect and fix documentation inconsistencies, outdated examples, and missing @file headers in the u-he-preset-randomizer project. Triggers when documentation appears outdated or when making significant code changes that affect public APIs.
Documentation Review Skill
This skill proactively identifies documentation issues and suggests fixes for the u-he-preset-randomizer project.
When to Activate
Automatically trigger this skill when:
- User mentions documentation being out of date
- User asks about API examples or how to use features
- After making significant changes to exported functions or public APIs
- When user mentions adding features that need documentation
- User asks to review or update docs
- After modifying CLI flags or MCP tools
Project Context
u-he-preset-randomizer - CLI tool and MCP server for u-he synth preset generation:
- CLI interface (
src/cli.ts) - Main command-line tool - MCP server (
src/mcp-server.ts) - Model Context Protocol server for AI assistants - Core modules: parser, analyzer, randomizer, preset library
- Synth support: Diva, Hive, Repro-1, Repro-5, Zebra2, ZebraHZ, Zebralette3, and more
Quick Documentation Checks
1. Core Documentation Files
- README.md - Installation, CLI usage, MCP setup
- MCP_SERVER.md - MCP tool documentation and examples
- AGENTS.md - Development architecture and workflows
- CHANGELOG.md - Version history (current: 1.1.2)
2. CLI Examples Validation
Verify examples use correct flags:
--synth- Synth name (e.g., Diva, Hive)--amount- Number of presets to generate--randomness- Percentage (0-100) for randomization--preset- Base preset name or?for random--merge- Preset names to merge (can be multiple)--pattern- Glob pattern for preset filtering--folder- Filter by folder path--category- Filter by category--author- Filter by author--favorites- Filter by .uhe-fav file--stable- Use stable randomization mode--binary- Include binary section (⚠️ may cause crashes)--dictionary- Use dictionary for random names--custom-folder- Custom u-he installation path--debug- Enable debug logging
3. MCP Tool Signatures
Verify MCP_SERVER.md examples match src/mcp-server.ts:
list_synths- Detect available synthsselect_synth- Load preset library (with optionalpattern)get_current_synth- Get active synth infolist_presets- List with paginationsearch_presets- Fuzzy searchfilter_presets- Filter by category/author/favorites/patternexplain_preset- Get preset detailsget_categories,get_authors,get_favorites_files- Metadata helpersgenerate_random_presets- Generate from distributionsrandomize_presets- Create variationsmerge_presets- Blend multiple presetsget_synth_context- Get synth reference docs
4. Source Code Documentation
All TypeScript files must have @file headers:
/**
* @file Brief description of module's purpose.
*/
Exported functions need JSDoc (if not obvious from types):
/**
* Function description explaining what it does.
*
* @param paramName - Parameter description
* @returns What the function returns
* @throws {Error} When it throws errors
*/
export function myFunction(paramName: string): ReturnType { ... }
Key files to document:
src/index.ts- Public API exportssrc/parser.ts- Preset parsing/serialization (public API)src/cli.ts- CLI entry pointsrc/mcp-server.ts- MCP serversrc/generatePresets.ts- Main generation function- All other
src/*.tsfiles
Actions When Issues Detected
1. Small issues (typos, outdated examples, missing headers):
- Fix immediately and explain what was corrected
- Validate with
npm run lint && npm run typecheck
2. Medium issues (multiple outdated sections, missing documentation):
- List all issues found
- Propose specific fixes
- Ask if user wants them all fixed at once
3. Major issues (significant inconsistencies, large gaps):
- Explain the scope of issues
- Suggest running full documentation review:
/documentation - Wait for user approval before proceeding
Formatting Standards
@file Headers:
// Entry points
/**
* @file CLI entry point for u-he preset randomizer tool.
* Handles argument parsing, interactive mode, and orchestration.
*/
// Core modules
/**
* @file Preset parser and serializer for u-he preset files.
* Provides functions to read, parse, and write .h2p preset files.
*/
// Utilities
/**
* @file Utility functions for preset validation.
*/
JSDoc for Public Functions:
/**
* Parses a u-he preset file into a structured object.
*
* @param fileString - The content of the preset file
* @param filePath - Path to the file (for error messages)
* @param binary - Whether to include binary section
* @returns Parsed preset object with metadata and parameters
*/
export function parseUhePreset(
fileString: string,
filePath: string,
binary: boolean,
): Preset { ... }
Avoid redundant JSDoc:
// ❌ Don't document what's obvious from types
/**
* Gets the preset name
* @param preset - The preset
* @returns The name
*/
function getName(preset: Preset): string { ... }
// ✅ Let TypeScript speak for simple functions
function getName(preset: Preset): string { ... }
Validation Steps
After any documentation changes:
npm run lint # Biome linting (must pass)
npm run typecheck # TypeScript type checking (must pass)
npm run test:unit # Unit tests (must pass)
Optional build check:
npm run build:dist # Production build (for major changes)
Constraints
Never modify:
- Runtime logic or algorithm implementations
- Test assertions or test data
- Type definitions or interfaces
- Build configuration (tsconfig.json, biome.json, package.json)
- CI/CD workflows or git hooks
Always ask before:
- Major documentation restructuring
- Adding new documentation files
- Changing public API examples that users might depend on
Auto-fix these safely:
- Typos and grammar in markdown files
- Outdated CLI/MCP flag examples
- Missing @file headers
- Broken internal links
- Version numbers to match package.json
Integration with Full Review
For comprehensive reviews, this skill guides the user to use:
/documentation
Which performs:
- Complete scan of all documentation files
- All source file header checks
- Validation suite
- Structured summary of changes
Repository
