Skip to content
cccskills
FreePublished on GitHub

jsdoc-writer

Add JSDoc comments to JavaScript or TypeScript functions that are missing documentation. Use when asked to document functions, add JSDoc, or improve code comments.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md2.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Instructions

Identify the functions or methods that are missing JSDoc comments. If the user specified a file, focus on that file. Otherwise, focus on whatever code is currently being discussed.

For each undocumented function, write a JSDoc block following these rules:

Content rules

  1. Read the function signature to determine parameter names and infer types from usage context, TypeScript annotations, or surrounding code.

  2. Write a concise @description (one line maximum) that explains what the function does. If the function name already makes this completely obvious (isAuthenticated, formatDate), skip the description line and let the @param and @returns tags carry the documentation.

  3. Write one @param tag per parameter:

    • Include the type in curly braces: @param {string} name
    • Add a short description after the parameter name
    • Mark optional parameters with a ? suffix or bracket notation: @param {string} [name]
  4. Write @returns with the return type and a brief description of what is returned and under what conditions. If the function returns void or never returns a meaningful value, omit @returns.

  5. Write @throws if the function throws an exception under documented conditions: @throws {TypeError} If name is not a string.

  6. Do not add @author, @date, @version, or other lifecycle metadata — these are noisy and go stale quickly.

Style rules

  • Explain the why only when the behavior would surprise a reader who knows JavaScript and the domain. Do not describe what the code does — the code already shows that.
  • Keep descriptions short. If a description needs more than one sentence, the function probably does too much.
  • Use the existing codebase's type vocabulary. If the codebase calls something a UserId, use UserId, not string.

Output format

Print the function name as a heading, then the completed JSDoc block. If the function already has a JSDoc block that is incomplete, print the corrected version.

Example output format:

getUserById

/**
 * Fetches a user record by its unique identifier.
 * Returns null if no user with that ID exists.
 *
 * @param {string} id - The user's unique identifier.
 * @returns {Promise<User | null>} The user record, or null if not found.
 * @throws {DatabaseError} If the database connection fails.
 */

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Write an Architecture Decision Record (ADR) document for a technical decision. Use when documenting a technical choice, architectural decision, or design decision.

The English summary is being prepared. Showing the original description.

davila7/claude-with-skills13Updated May 15, 2026

REST API design conventions for this codebase. Use when writing or reviewing API endpoints, route definitions, response formatting, or client code that calls the API.

The English summary is being prepared. Showing the original description.

davila7/claude-with-skills13Updated May 15, 2026

Automatically format code files after every edit using Prettier and ESLint. Active in the background whenever Claude edits a file. Formatting is silent — no prompts, no output unless a formatter fails. Use when you want consistent formatting enforced automatically during a coding session.

The English summary is being prepared. Showing the original description.

davila7/claude-with-skills13Updated May 15, 2026

Create a git branch named after a GitHub issue.

The English summary is being prepared. Showing the original description.

davila7/claude-with-skills13Updated May 15, 2026

Draft a CHANGELOG.md entry for the current changes in Keep a Changelog format. Use when releasing, tagging a version, or updating CHANGELOG.md.

The English summary is being prepared. Showing the original description.

davila7/claude-with-skills13Updated May 15, 2026

Draft the changelog entry for all unreleased commits in Keep a Changelog format. Groups commits into Added, Changed, Fixed, Removed, and Security. Use before releasing a new version or when updating CHANGELOG.md.

The English summary is being prepared. Showing the original description.

davila7/claude-with-skills13Updated May 15, 2026

See all skills by davila7

Report a problem with this skill