Skip to content
Development
Command

/annotate

Add inline documentation (JSDoc, docstrings, comments) to under-documented code.

From plugin
rohitg00-claude-code-toolkit
2.5k199 skills138 agents199 commands
Install
$ npx -y skills add rohitg00/awesome-claude-code-toolkit --agent claude-code

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/annotate

Context preview

What this command does when you run it.

Add inline documentation (JSDoc, docstrings, comments) to under-documented code.

Command definition

annotate.md

Add inline documentation (JSDoc, docstrings, comments) to under-documented code.

Steps

1. Read the target file and assess current documentation level. 2. Identify what needs documentation:

  • Public functions and methods lacking doc comments.
  • Complex logic blocks without explanatory comments.
  • Non-obvious parameter types or return values.
  • Module-level overview missing.

3. Generate documentation in the appropriate format:

  • TypeScript/JavaScript: JSDoc with `@param`, `@returns`, `@throws`, `@example`.
  • Python: Google-style or NumPy-style docstrings.
  • Go: Godoc comments above exported functions.
  • Rust: `///` doc comments with examples.

4. For each function, document:

  • What it does (one-sentence summary).
  • Parameters with types and descriptions.
  • Return value description.
  • Thrown exceptions or error conditions.
  • Usage example for complex functions.

5. Add a module-level doc comment explaining the file's purpose. 6. Verify the documentation does not break the build or linter.

Format

/**
 * Creates a new user account with the given credentials.
 *
 * @param email - The user's email address (must be unique)
 * @param password - Plain text password (will be hashed)
 * @returns The created user object with generated ID
 * @throws {ConflictError} If a user with this email already exists
 * @example
 * const user = await createUser("alice@example.com", "securePass123");
 */

Rules

  • Document intent and contracts, not implementation details.
  • Every public function must have at minimum a summary and parameter descriptions.
  • Do not add comments that merely restate the code.
  • Use the project's existing documentation style if one is established.
  • Include `@example` for functions with non-obvious usage patterns.
Read more
Ships withrohitg00-claude-code-toolkit

The most comprehensive toolkit for Claude Code -- 135 agents, 35 curated skills (+400,000 via SkillKit), 42 commands, 176+ plugins, 20 hooks, 15 rules, 7 templates, 15 MCP configs, 26 companion apps, 53 ecosystem entries, and more.

Get the whole plugin