Typescript Coder
LeoYeAI/openclaw-master-skills
Expert 10x engineer with extensive knowledge of TypeScript fundamentals, migration strategies, and best practices.
A skill your agent uses to automatically write or fix JSDoc comments for JavaScript/TypeScript code.
$ npx skills add yamcodes/arkenv --skill jsdoc -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install yamcodes/arkenv jsdoc --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "jsdoc" agent skill from https://github.com/yamcodes/arkenv/tree/v1/skills/jsdoc into .claude/skills/jsdoc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jsdoc", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/yamcodes/arkenv/tree/v1/skills/jsdocType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add yamcodes/arkenv --skill jsdoc -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install yamcodes/arkenv jsdoc --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yamcodes/arkenv.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/jsdoc .agents/skills/jsdoc && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "jsdoc" agent skill from https://github.com/yamcodes/arkenv/tree/v1/skills/jsdoc into .agents/skills/jsdoc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jsdoc", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add yamcodes/arkenv --skill jsdoc -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install yamcodes/arkenv jsdoc --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yamcodes/arkenv.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/jsdoc .cursor/skills/jsdoc && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "jsdoc" agent skill from https://github.com/yamcodes/arkenv/tree/v1/skills/jsdoc into .cursor/skills/jsdoc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jsdoc", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/yamcodes/arkenv.git --path skills/jsdoc--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add yamcodes/arkenv --skill jsdoc -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install yamcodes/arkenv jsdoc --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yamcodes/arkenv.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/jsdoc .gemini/skills/jsdoc && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "jsdoc" agent skill from https://github.com/yamcodes/arkenv/tree/v1/skills/jsdoc into .gemini/skills/jsdoc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jsdoc", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install yamcodes/arkenv jsdocInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add yamcodes/arkenv --skill jsdoc -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/yamcodes/arkenv.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/jsdoc .github/skills/jsdoc && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "jsdoc" agent skill from https://github.com/yamcodes/arkenv/tree/v1/skills/jsdoc into .github/skills/jsdoc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jsdoc", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add yamcodes/arkenv --skill jsdoc -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install yamcodes/arkenv jsdoc --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yamcodes/arkenv.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/jsdoc .opencode/skills/jsdoc && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "jsdoc" agent skill from https://github.com/yamcodes/arkenv/tree/v1/skills/jsdoc into .opencode/skills/jsdoc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jsdoc", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
jsdocA 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. 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.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 7340aa2. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
ghFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from yamcodes/arkenv at commit 7340aa2, republished under its MIT licence (© yamcodes). 352 words, ~839 tokens.
.claude/skills/jsdoc/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.This skill guides the agent in adding or updating JSDoc comments for functions in TypeScript codebases.
When generating JSDoc comments, you MUST strictly adhere to the following rules:
/** ... */).@param tag for every parameter.@returns tag for the return value (unless the function returns void and it's obvious).throw new Error(...)), document it using the @throws tag.@param id The user ID instead of @param {string} id The user ID.@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.Input:
export function calculateDiscountedPrice(basePrice: number, discountPercentage: number, taxRate?: number): number {
if (basePrice < 0) throw new Error("Price cannot be negative");
// ...
}Output:
/**
* 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");
// ...
}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
SKILL.md and 1 other file in skills/jsdoc of yamcodes/arkenv.
Open the folder on GitHubat commit 7340aa2
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Jsdoc this skillyamcodes/arkenv | 145 | — | ~839 | Automated safety check: Pass | MIT | |
| Typescript CoderLeoYeAI/openclaw-master-skills | 2.2k | — | ~5.8k | Automated safety check: Pass | MIT | |
| Creating Docs Code Exampleshandsontable/handsontable | 22k | — | ~2.2k | Automated safety check: Pass | Custom licence | |
| Code Review ChecklistshareAI-lab/learn-claude-code | 78k | 5 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Install Anti-Slop Oxlint Rulesdmmulroy/anti-slop | 5.2k | — | ~2.2k | Automated safety check: Pass | MIT | |
| Generate Release Notesteambit/bit | 18k | — | ~2.2k | Automated safety check: Pass | Custom licence |
LeoYeAI/openclaw-master-skills
Expert 10x engineer with extensive knowledge of TypeScript fundamentals, migration strategies, and best practices.
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.
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.
dmmulroy/anti-slop
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.
teambit/bit
Generate comprehensive release notes for Bit from git commits and pull requests.
teambit/bit
Work on the pnpm Rust engine (@pnpm/napi, the pacquet crates) that bit install runs through.
yamcodes/arkenv
Anti-AI-slop design skill for greenfield pages, audits, redesigns, and design extraction from URLs or screenshots.
yamcodes/arkenv
Bulletproof React architecture patterns for scalable, maintainable applications.
yamcodes/arkenv
Answer questions about ArkEnv and help implement environment variable validation.
yamcodes/arkenv
Fetch, analyze, and address code reviews and comments on GitHub, or perform a code review on changes in the workspace.
yamcodes/arkenv
Manually forward-ports merged dev (v0) changes to the v1 branch, adapting code to v1's package layout and changeset names.
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…
Works with
Categories
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.
Jsdoc fits situations like: automatically write; fix JSDoc comments for JavaScript/TypeScript 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.
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.
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.
Going by SKILL.md and its folder, Jsdoc needs the command-line tools its instructions call (gh).
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.
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.
Jsdoc is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
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.
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.
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.