Claude-skill-registry js-fix-jsdoc
Fix JSDoc errors and warnings from build/lint with content preservation
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/js-fix-jsdoc" ~/.claude/skills/majiayu000-claude-skill-registry-js-fix-jsdoc && rm -rf "$T"
manifest:
skills/data/js-fix-jsdoc/SKILL.mdsource content
JSDoc Documentation Standards
REFERENCE MODE: This skill provides reference material. Load specific standards on-demand based on current task.
Overview
Provides JSDoc documentation standards for CUI JavaScript projects covering functions, classes, modules, types, and web components.
Standards Documents
- jsdoc-essentials.md - Core JSDoc syntax, required tags, ESLint setup, writing style
- jsdoc-patterns.md - Documentation patterns for all code element types with examples
What This Skill Provides
JSDoc Essentials
- ESLint plugin configuration and rules
- Documentation requirements (mandatory vs optional)
- Required and optional tags (@param, @returns, @throws, @example, @since, @see, @deprecated)
- Type annotations (basic types, unions, custom types)
- Writing style guidelines (present tense, active voice, clear language)
- Build integration (npm scripts, jsdoc.conf.json)
- Validation and common mistakes
Documentation Patterns
- Functions: Simple, async, complex with nested parameters
- Classes: Declaration, constructor, methods, inheritance
- Modules: File overview, exports, constants
- Types: Custom types (@typedef), callbacks, union/literal types
- Web Components: Lit components, properties, events, CSS properties
- Quality Examples: Good vs bad documentation patterns
When to Activate
Use this skill when:
- Documenting JavaScript code (functions, classes, modules)
- Building web components (Lit or vanilla custom elements)
- Setting up JSDoc and ESLint integration
- Reviewing code documentation quality
- Updating documentation after refactoring
Workflow
- Identify what to document - Check if element is mandatory (public APIs) or optional
- Apply appropriate pattern - Use pattern from jsdoc-patterns.md for code element type
- Include required tags - @param, @returns, @throws, @example for public functions
- Follow writing style - Present tense, active voice, specific descriptions
- Validate - Run ESLint to check documentation completeness
Quick Reference
Required for Public Functions
- Brief description
- @param (all parameters with types)
- @returns (for non-void returns)
- @throws (all possible errors)
- @example (for complex functions)
Required for Classes
- @class tag with description
- Constructor documentation
- Public method documentation
Required for Modules
- @fileoverview
- @module tag
- Export documentation
Best Practices
- Document as you code - Don't defer documentation
- Be specific - Avoid vague descriptions
- Document all errors - Use @throws for all exceptions
- Provide examples - Show realistic usage
- Keep synchronized - Update docs when code changes
- Validate with ESLint - Run linting before commit
Common Mistakes
- Missing @param, @returns, or @throws
- Vague descriptions ("processes data")
- Parameter names not matching function signature
- No examples for complex functions
- Outdated documentation after refactoring
Integration
Works with:
- cui-javascript skill - Core JavaScript development
- cui-javascript-unit-testing skill - Test documentation
- ESLint for automated validation
- JSDoc CLI for documentation generation
Workflows
Workflow: Analyze JSDoc Violations
Analyzes JavaScript files for JSDoc compliance violations and returns structured results for command orchestration.
When to use: To identify missing or incomplete JSDoc documentation across files or directories.
Steps:
-
Run violation analysis script
Script:
→pm-dev-frontend:cui-jsdocjsdoc.py# Analyze entire directory python3 .plan/execute-script.py pm-dev-frontend:cui-jsdoc:jsdoc analyze --directory src/ # Analyze single file python3 .plan/execute-script.py pm-dev-frontend:cui-jsdoc:jsdoc analyze --file src/utils/formatter.js # Analyze only for missing JSDoc (skip syntax checks) python3 .plan/execute-script.py pm-dev-frontend:cui-jsdoc:jsdoc analyze --directory src/ --scope missing # Analyze only JSDoc syntax issues python3 .plan/execute-script.py pm-dev-frontend:cui-jsdoc:jsdoc analyze --directory src/ --scope syntax -
Process violation results
- Review violations categorized by severity:
- CRITICAL: Exported/public API without JSDoc
- WARNING: Internal function without JSDoc, missing @param/@returns
- SUGGESTION: Missing optional tags (@example, @fileoverview)
- Note
for each violationfix_suggestion
- Review violations categorized by severity:
-
Prioritize fixes
- Fix CRITICAL violations first (exported functions/classes)
- Address WARNING violations next
- SUGGESTION items are optional improvements
JSON Output Contract:
{ "status": "violations_found", "data": { "violations": [ { "file": "src/utils/validator.js", "line": 45, "type": "missing_jsdoc", "severity": "CRITICAL", "target": "function validateEmail", "message": "Exported function missing JSDoc documentation", "fix_suggestion": "Add JSDoc block with @param and @returns tags" } ], "files_analyzed": ["src/utils/validator.js", "..."] }, "metrics": { "total_files": 15, "files_with_violations": 6, "critical": 5, "warnings": 12, "suggestions": 3, "total_violations": 20 } }
Violation types detected:
- Function/class entirely missing JSDocmissing_jsdoc
- Class without documentationmissing_class_doc
- Constructor with parameters undocumentedmissing_constructor_doc
- @param tag missing for parametermissing_param
- Type annotation missing in @parammissing_param_type
- @returns tag missing for return valuemissing_returns
- No @fileoverview at file levelmissing_fileoverview
Scope options:
- Check for missing JSDoc and syntax issues (default)all
- Only check for missing JSDoc documentationmissing
- Only check JSDoc syntax and completenesssyntax