with one click
jsdoc
// Guidelines for writing minimal, high-quality JSDoc comments in TypeScript.
// Guidelines for writing minimal, high-quality JSDoc comments in TypeScript.
Use when writing blog posts or documentation markdown files - provides writing style guide (active voice, present tense), content structure patterns, and SEO optimization. Overrides brevity rules for proper grammar.
Coding style, testing, and PR guidelines for the Kubb ecosystem. Use when writing or reviewing code for the Kubb ecosystem.
Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.
Rules and checklist for preparing PRs, creating changesets, and releasing packages in the monorepo.
| name | jsdoc |
| description | Guidelines for writing minimal, high-quality JSDoc comments in TypeScript. |
This skill provides simple, focused guidelines for writing JSDoc comments in TypeScript codebases.
@default, @example, @note)Write inline JSDoc comments directly above properties, focusing on what the option does rather than repeating type information.
export type Options = {
/**
* Brief description of what this property does.
* @default 'defaultValue'
*/
propertyName?: string
}
| Tag | Purpose | Example |
|---|---|---|
@default | Default value | @default 'dist' |
@example | Usage example | @example serverIndex: 0 |
@note | Important caveat | @note May change in v2 |
@deprecated | Mark as deprecated | @deprecated Use newOption instead |
| Tag | Purpose | Example |
|---|---|---|
@see | Reference docs | @see https://example.com/docs |
@internal | Internal API | @internal |
@beta | Experimental | @beta |
@param - Use TypeScript parameters@returns - Use TypeScript return type@type - Use TypeScript type annotation@typedef - Use type or interface/** Output directory for generated files. */
outDir?: string
/**
* Set a suffix for generated files.
* @default 'generated'
*/
suffix?: string
/**
* Choose output format.
* - 'type' generates type aliases
* - 'interface' generates interfaces
* @default 'type'
*/
format?: 'type' | 'interface'
/**
* Server index to use.
* @example
* - `0` returns production URL
* - `1` returns development URL
*/
serverIndex?: number
transformers?: {
/** Customize file names. */
name?: (name: string) => string
/** Customize output paths. */
path?: (path: string) => string
}
Only add JSDoc when it adds value beyond the signature:
// ✅ No JSDoc needed - signature is clear
function camelCase(str: string): string {
return str.replace(/-./g, x => x[1].toUpperCase())
}
// ✅ JSDoc adds value - explains behavior
/**
* Convert path to template string.
* @example /api/{id} => `/api/${id}`
*/
function toTemplate(path: string): string {
// implementation
}
✅ DO:
@default for default values@example for complex or non-obvious usage@note for version info or important caveats❌ DON'T:
@param or @returns tagsFor consistency, use this tag order:
@default (if applicable)@example (if helpful)@note (if needed)@deprecated (if applicable)@see (if providing references)| Skill | Use For |
|---|---|
| ../documentation/SKILL.md | Writing markdown documentation files |
| ../coding-style/SKILL.md | General coding conventions |