Agent skill

Jsdoc

by yamcodes in yamcodes/arkenv

A skill your agent uses to automatically write or fix JSDoc comments for JavaScript/TypeScript code.

MITAuto-check passedDevelopment

Install Jsdoc

skills CLI
$ npx skills add yamcodes/arkenv --skill jsdoc -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install yamcodes/arkenv jsdoc --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/yamcodes/arkenv.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/jsdoc .claude/skills/jsdoc && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
jsdoc
GitHub stars
145
Token cost
~839 tokens
SKILL.md length
352 words
Files
2
Skills in repo
20
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses to automatically write or fix JSDoc comments for JavaScript/TypeScript code.

  • Works in 7 steps: Follow JSDoc Specification: Use standard… → Document all inputs: Use the @param tag… → Document the output: Use the @returns… → …
  • Automatically write
  • SKILL.md covers When to add jsdoc, Jsdoc requirements, Example and Applying to multiple functions
  • Calls gh

What it does

Jsdoc is an agent skill from yamcodes/arkenv. Use this skill to automatically write or fix JSDoc comments for JavaScript/TypeScript code. It handles requests to document code at any scope: a single function, all functions in a file, or just the new and changed functions in a pull request.

Its SKILL.md is about 840 tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `evals/evals.json`).

It sits in Development, covering Technical documentation. It works with TypeScript and JavaScript. The repository describes itself as: ⛯ Typesafe environment variables with ArkType, Zod, or Valibot. The licence is MIT.

When your agent uses it

  • Automatically write
  • Fix JSDoc comments for JavaScript/TypeScript code

Example prompts

  • “/jsdoc”

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Follow JSDoc Specification: Use standard block comment format (/** ... */).
  2. Document all inputs: Use the @param tag for every parameter.
  3. Document the output: Use the @returns tag for the return value (unless the function returns void and it's obvious).
  4. Document errors: If the function explicitly throws an error (e.g., throw new Error(...)), document it using the @throws tag.
  5. NO Type Tags: The codebase uses TypeScript, so do NOT include types in the JSDoc tags. For example, use @param id The user ID instead of…
  6. Imperative Verb Form: The description MUST use the imperative verb form. For example, use "Create a user", "Add an item", "Calculate the…
  7. No Trailing Periods in Tags: Descriptions inside @param, @returns, and @throws tags must NOT end with a period. The main function…

What it can do on your machine

Read from SKILL.md and the folder at commit 7340aa2. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Jsdoc loads about 839 tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 352 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~62
When it runs · the whole SKILL.md, loaded when a task matches
~839

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from yamcodes/arkenv at commit 7340aa2, republished under its MIT licence (© yamcodes). 352 words, ~839 tokens.

Download SKILL.mdSave it as .claude/skills/jsdoc/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
jsdoc
description
Use this skill to automatically write or fix JSDoc comments for JavaScript/TypeScript code. It handles requests to document code at any scope: a single function, all functions in a file, or just the new and changed functions in a pull request.
metadata.internal
true

Jsdoc generation skill

This skill guides the agent in adding or updating JSDoc comments for functions in TypeScript codebases.

When to add jsdoc

  • Add JSDoc to functions UNLESS the code is entirely self-explanatory or the function is named so clearly that a comment would be redundant.
  • If in doubt, lean towards adding JSDoc if the function has complex logic or multiple parameters, but skip it for simple getters/setters or obvious utilities.
  • For existing functions that already have JSDoc, ONLY update the JSDoc if there is a typo or if it no longer reflects the code's intent. Do NOT make redundant rephrasings or meaningless sentence shifts.

Jsdoc requirements

When generating JSDoc comments, you MUST strictly adhere to the following rules:

  1. Follow JSDoc Specification: Use standard block comment format (/** ... */).
  2. Document all inputs: Use the @param tag for every parameter.
  3. Document the output: Use the @returns tag for the return value (unless the function returns void and it's obvious).
  4. Document errors: If the function explicitly throws an error (e.g., throw new Error(...)), document it using the @throws tag.
  5. NO Type Tags: The codebase uses TypeScript, so do NOT include types in the JSDoc tags. For example, use @param id The user ID instead of @param {string} id The user ID.
  6. Imperative Verb Form: The description MUST use the imperative verb form. For example, use "Create a user", "Add an item", "Calculate the total" instead of "Creates a user", "Adds an item", "Calculates the total".
  7. No Trailing Periods in Tags: Descriptions inside @param, @returns, and @throws tags must NOT end with a period. The main function description may end with a period, but tag descriptions should remain concise and period-free.
Show full SKILL.md (69 more words)Show less

Example

Input:

typescript
export function calculateDiscountedPrice(basePrice: number, discountPercentage: number, taxRate?: number): number {
    if (basePrice < 0) throw new Error("Price cannot be negative");
    // ...
}

Output:

typescript
/**
 * Calculate the final price after applying a discount and optional tax.
 * 
 * @param basePrice The original price of the item
 * @param discountPercentage The discount to apply as a percentage (e.g., 20 for 20%)
 * @param taxRate The optional tax rate to apply after discount
 * @returns The final calculated price
 * @throws An error if the base price is negative
 */
export function calculateDiscountedPrice(basePrice: number, discountPercentage: number, taxRate?: number): number {
    if (basePrice < 0) throw new Error("Price cannot be negative");
    // ...
}

Applying to multiple functions

  • If the user asks to apply JSDoc to all functions in a file, process every function, but remember to skip those that are trivial and self-explanatory.
  • If the user asks to apply JSDoc to all changed files in a PR, use the GitHub CLI (gh pr diff or similar) to identify which functions were added or modified, and only update those functions.

© yamcodes, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/jsdoc of yamcodes/arkenv.

  • SKILL.md
  • evals/evals.json

Open the folder on GitHubat commit 7340aa2

Compare with similar skills

Jsdoc next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Jsdoc compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Jsdoc this skillyamcodes/arkenv145—~839Automated safety check: PassMIT
Typescript CoderLeoYeAI/openclaw-master-skills2.2k—~5.8kAutomated safety check: PassMIT
Creating Docs Code Exampleshandsontable/handsontable22k—~2.2kAutomated safety check: PassCustom licence
Code Review ChecklistshareAI-lab/learn-claude-code78k5 repos~1.1kAutomated safety check: PassMIT
Install Anti-Slop Oxlint Rulesdmmulroy/anti-slop5.2k—~2.2kAutomated safety check: PassMIT
Generate Release Notesteambit/bit18k—~2.2kAutomated safety check: PassCustom licence

Similar skills

  • Typescript Coder

    LeoYeAI/openclaw-master-skills

    Expert 10x engineer with extensive knowledge of TypeScript fundamentals, migration strategies, and best practices.

    2.2k GitHub stars~5.8k tokensUpdated 2 mo ago
    DevelopmentAuto-check passed
  • Creating Docs Code Examples

    handsontable/handsontable

    Sets the rules for writing Handsontable documentation examples in JavaScript, TypeScript, React, Angular and Vue, with the imports, registration and licence key each needs.

    22k GitHub stars~2.2k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 5 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Installs, updates or migrates the vendored anti-slop Oxlint plugin in a repository, keeping local rule changes and the plugin's license and provenance files.

    5.2k GitHub stars~2.2k tokensUpdated 27 days ago
    DevelopmentAuto-check passed
  • Generate comprehensive release notes for Bit from git commits and pull requests.

    18k GitHub stars~2.2k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Pnpm Engine

    teambit/bit

    Work on the pnpm Rust engine (@pnpm/napi, the pacquet crates) that bit install runs through.

    18k GitHub stars~1.9k tokensUpdated yesterday
    DevelopmentAuto-check passed

More from yamcodes/arkenv

All 20 skills in this repo
  • Hallmark

    yamcodes/arkenv

    Anti-AI-slop design skill for greenfield pages, audits, redesigns, and design extraction from URLs or screenshots.

    145 GitHub starsUsed in 4 repos~18k tokens
    Auto-check passed
  • Bulletproof React

    yamcodes/arkenv

    Bulletproof React architecture patterns for scalable, maintainable applications.

    145 GitHub stars~1.8k tokensUpdated 2 days ago
    Auto-check passed
  • Arkenv

    yamcodes/arkenv

    Answer questions about ArkEnv and help implement environment variable validation.

    145 GitHub stars~2.5k tokensUpdated 2 days ago
    Auto-check passed
  • Code Review

    yamcodes/arkenv

    Fetch, analyze, and address code reviews and comments on GitHub, or perform a code review on changes in the workspace.

    145 GitHub stars~1.4k tokensUpdated 2 days ago
    Auto-check passed
  • Forward Port

    yamcodes/arkenv

    Manually forward-ports merged dev (v0) changes to the v1 branch, adapting code to v1's package layout and changeset names.

    145 GitHub stars~970 tokensUpdated 2 days ago
    Auto-check passed
  • Groom Issue

    yamcodes/arkenv

    Groom a poorly written issue by grilling the user to clarify requirements, updating the issue on GitHub via the gh cli, and utilizing the triage skill to apply the correct label and add an agent…

    145 GitHub stars~1k tokensUpdated 2 days ago
    Auto-check passed

Categories

Questions about Jsdoc

What does Jsdoc do?

A skill your agent uses to automatically write or fix JSDoc comments for JavaScript/TypeScript code. Jsdoc is an agent skill from yamcodes/arkenv. Use this skill to automatically write or fix JSDoc comments for JavaScript/TypeScript code.

When should I use Jsdoc?

Jsdoc fits situations like: automatically write; fix JSDoc comments for JavaScript/TypeScript code.

How do I install Jsdoc in Claude Code?

Run `npx skills add yamcodes/arkenv --skill jsdoc -a claude-code`. Or copy the skill folder (skills/jsdoc in yamcodes/arkenv) into .claude/skills/jsdoc in your project. Claude Code loads it when a task matches its description.

How do I install Jsdoc in Codex?

Run `npx skills add yamcodes/arkenv --skill jsdoc -a codex`. Or copy the skill folder (skills/jsdoc in yamcodes/arkenv) into .agents/skills/jsdoc in your project. Codex loads it when a task matches its description.

Can I use Jsdoc in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add yamcodes/arkenv --skill jsdoc -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/jsdoc, .gemini/skills/jsdoc, .github/skills/jsdoc and .opencode/skills/jsdoc in your project.

What does Jsdoc need to run?

Going by SKILL.md and its folder, Jsdoc needs the command-line tools its instructions call (gh).

Does Jsdoc access the network?

SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Jsdoc safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Jsdoc use?

Jsdoc is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Jsdoc use?

About 839 tokens (SKILL.md is roughly 3.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Jsdoc?

Skills that share tags, products or a category with Jsdoc: Typescript Coder (LeoYeAI/openclaw-master-skills, 2.2k stars), Creating Docs Code Examples (handsontable/handsontable, 22k stars), Code Review Checklist (shareAI-lab/learn-claude-code, 78k stars) and Install Anti-Slop Oxlint Rules (dmmulroy/anti-slop, 5.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Jsdoc?

yamcodes (a GitHub user) maintains it in yamcodes/arkenv, which has 145 GitHub stars. The repository holds 20 skills in this directory. The repository was last updated on October 5, 2026.

Source: yamcodes/arkenv on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.