Add Package
remix-run/remix
Create or align a package in the Remix monorepo to match existing package conventions.
Expert guidance for the @clean-jsdoc-theme/typedoc plugin — using clean-jsdoc-theme v5 with TypeDoc / TypeScript.
$ npx skills add ankitskvmdam/clean-jsdoc-theme --skill typedoc -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ankitskvmdam/clean-jsdoc-theme typedoc --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/ankitskvmdam/clean-jsdoc-theme.git skills-src && mkdir -p .claude/skills && cp -r skills-src/SKILLS/typedoc .claude/skills/typedoc && 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 "typedoc" agent skill from https://github.com/ankitskvmdam/clean-jsdoc-theme/tree/master/SKILLS/typedoc into .claude/skills/typedoc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "typedoc", 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/ankitskvmdam/clean-jsdoc-theme/tree/master/SKILLS/typedocType 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 ankitskvmdam/clean-jsdoc-theme --skill typedoc -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ankitskvmdam/clean-jsdoc-theme typedoc --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ankitskvmdam/clean-jsdoc-theme.git skills-src && mkdir -p .agents/skills && cp -r skills-src/SKILLS/typedoc .agents/skills/typedoc && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "typedoc" agent skill from https://github.com/ankitskvmdam/clean-jsdoc-theme/tree/master/SKILLS/typedoc into .agents/skills/typedoc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "typedoc", 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 ankitskvmdam/clean-jsdoc-theme --skill typedoc -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ankitskvmdam/clean-jsdoc-theme typedoc --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ankitskvmdam/clean-jsdoc-theme.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/SKILLS/typedoc .cursor/skills/typedoc && 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 "typedoc" agent skill from https://github.com/ankitskvmdam/clean-jsdoc-theme/tree/master/SKILLS/typedoc into .cursor/skills/typedoc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "typedoc", 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/ankitskvmdam/clean-jsdoc-theme.git --path SKILLS/typedoc--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 ankitskvmdam/clean-jsdoc-theme --skill typedoc -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ankitskvmdam/clean-jsdoc-theme typedoc --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ankitskvmdam/clean-jsdoc-theme.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/SKILLS/typedoc .gemini/skills/typedoc && 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 "typedoc" agent skill from https://github.com/ankitskvmdam/clean-jsdoc-theme/tree/master/SKILLS/typedoc into .gemini/skills/typedoc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "typedoc", 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 ankitskvmdam/clean-jsdoc-theme typedocInstalls 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 ankitskvmdam/clean-jsdoc-theme --skill typedoc -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ankitskvmdam/clean-jsdoc-theme.git skills-src && mkdir -p .github/skills && cp -r skills-src/SKILLS/typedoc .github/skills/typedoc && 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 "typedoc" agent skill from https://github.com/ankitskvmdam/clean-jsdoc-theme/tree/master/SKILLS/typedoc into .github/skills/typedoc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "typedoc", 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 ankitskvmdam/clean-jsdoc-theme --skill typedoc -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ankitskvmdam/clean-jsdoc-theme typedoc --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ankitskvmdam/clean-jsdoc-theme.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/SKILLS/typedoc .opencode/skills/typedoc && 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 "typedoc" agent skill from https://github.com/ankitskvmdam/clean-jsdoc-theme/tree/master/SKILLS/typedoc into .opencode/skills/typedoc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "typedoc", 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.
typedocExpert guidance for the @clean-jsdoc-theme/typedoc plugin — using clean-jsdoc-theme v5 with TypeDoc / TypeScript.
Typedoc is an agent skill from ankitskvmdam/clean-jsdoc-theme. Expert guidance for the @clean-jsdoc-theme/typedoc plugin — using clean-jsdoc-theme v5 with TypeDoc / TypeScript. Use when setting up the TypeDoc plugin, writing typedoc.json / the cleanJsdocTheme option block, understanding the TypeDoc sidebar (module hierarchy) and document model (standalone enum/function/variable pages, overloads, declaration blocks), TypeDoc-specific rendering (inheritance sections, @group, @inheritDoc, projectDocuments, object-literal expansion), or knowing which theme options are (and…
Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `reference/document-model.md`).
It sits in Development, covering Technical documentation. It works with TypeScript. The repository describes itself as: A clean, responsive, and customizable theme for JSDoc. https://ankdev.me/clean-jsdoc-theme/. The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 6489b20. 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:
npmnpxcurlFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm, npx and curl, 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.
Typedoc loads about 3k tokens when it runs. Until then it costs about 176 tokens; SKILL.md has 1,209 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 ankitskvmdam/clean-jsdoc-theme at commit 6489b20, republished under its MIT licence (© ankitskvmdam). 1,209 words, ~3,009 tokens.
.claude/skills/typedoc/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.<!-- skill-revision: 2026-07-02 -->
This skill makes you an expert at using clean-jsdoc-theme v5 with TypeDoc,
via the @clean-jsdoc-theme/typedoc plugin. Everything here is verified against
the plugin source (packages/typedoc/). It is focused: it owns the
TypeDoc-only material and defers to the umbrella skill for everything JSDoc
and TypeDoc share.
Read the umbrella skill for shared topics. Authoring (callouts, steps, tabs, embeds, custom tags), images / static assets, the full option table, and theming behave the same on both toolchains. Don't duplicate that knowledge here — read it from the sibling
clean-jsdoc-themeskill:
Shared topic File The full option reference (all options, both namespaces) ../clean-jsdoc-theme/reference/configuration.mdAuthoring: callouts, steps, tabs, embeds, @iframe, playground../clean-jsdoc-theme/reference/authoring.mdImages / local assets / sitemap ../clean-jsdoc-theme/reference/images.mdDocs directory, frontmatter, cross-links ../clean-jsdoc-theme/reference/content-and-sidebar.mdThe package architecture ../clean-jsdoc-theme/reference/architecture.md
The TypeDoc-only deep dive — the sidebar model, the document model, and the rendering TypeDoc adds — lives in the sibling reference:
| Read this when… | File |
|---|---|
| Explaining the TypeDoc sidebar, page model, or TypeDoc-specific rendering | reference/document-model.md |
Project: https://github.com/ankitskvmdam/clean-jsdoc-theme · npm:
@clean-jsdoc-theme/typedoc· verified against TypeDoc 0.28.x.
The TypeDoc integration is not a CSS theme extending TypeDoc's
DefaultTheme. It is a plugin that registers a custom output. It feeds
TypeDoc's reflection tree through the same setu → dwar pipeline as the JSDoc
bridge, so a TypeScript project gets an identical site — SSR HTML,
lazy-hydrated Preact islands, fuzzy search, and a companion .md per page for
LLMs.
TypeDoc reflections ──▶ reflection-to-doclets ──▶ setu.generateSite('typedoc')
──▶ dwar.render() ──▶ static siteYou select it two ways, and you need both:
plugin loads the plugin (its load(app) declares the option block and
calls app.outputs.addOutput('clean-jsdoc-theme', …)).outputs turns it on (the entry whose name is "clean-jsdoc-theme"
runs the writer, rendering to that entry's path).Loading the plugin alone renders nothing — a common first mistake (see §5).
The plugin is ESM, and typedoc is a peer dependency — you bring your
own TypeDoc.
npm install --save-dev typedoc @clean-jsdoc-theme/typedoc// typedoc.json
{
entryPoints: ["src/index.ts"],
tsconfig: "tsconfig.json",
readme: "README.md", // ← TypeDoc's OWN option (see below)
plugin: ["@clean-jsdoc-theme/typedoc"], // loads it
outputs: [{ name: "clean-jsdoc-theme", path: "dist" }], // turns it on
cleanJsdocTheme: { // ← theme options live here
siteName: "My Library",
},
}Build, then serve over HTTP (the island chunks and the search index are fetched, which file:// blocks):
npx typedoc
npx serve distRunnable reference: examples/typedoc-basic in the repo — its typedoc.json
is the canonical setup.
readmeis TypeDoc's own top-level option, not a theme option. The home page comes from TypeDoc'sreadme(rendered fromproject.readme), or a rootdocs/index.mdin the theme'sdocsdirectory overrides it. BothreadmeandcleanJsdocThemesit at the top level oftypedoc.json.
Theme options use the same names and values as JSDoc's opts — just nested
under cleanJsdocTheme instead of opts. The full table (both namespaces
side by side) is in the umbrella skill's
configuration.md.
Because cleanJsdocTheme is a dedicated namespace, unknown keys inside it
always warn (with a "did you mean?" hint) and the build continues; set
strict: true to escalate to a hard error.
The blanket "every option works the same" is almost true — but a few options are validated yet not yet applied by the TypeDoc writer. Be precise here; this is the skill's whole value.
Fully wired for TypeDoc:
siteName (text or logo set), fonts (incl. per-locale keys), favicondocs, docGroups, defaultDocGroup (+ native projectDocuments, see the deep dive)menu, sectionOrder, clubSidebarItems (accepted/validated — but the module hierarchy owns the API sidebar; see the deep dive for what these actually affect), collapsibleSidebarSections (this one does apply — collapsible top-level section headers; both flavors)copyPage, pageNav, aiPrompt, playgroundfooter (string or { file }), metabasePath (sub-directory hosting — every asset href is prefixed), siteUrl (emits sitemap.xml; TypeDoc's own hostedBaseUrl is used as a fallback, and cleanJsdocTheme.siteUrl wins if both are set), llmsTxt (emits llms.txt + llms-full.txt; needs a site URL)strictNOT wired through the TypeDoc writer today (they validate but have no effect — don't promise them):
colors / darkColors — the palette is the built-in OKLCH default. Only
fonts and siteName affect appearance; custom colors are a known gap.customCss / customJs / customCssFile / customJsFile / hashCustomAssets — not threaded.locales / defaultLocale — the localized build is JSDoc-only (see §4).tutorials — a JSDoc --tutorials concept; use docs or projectDocuments for prose.
templates.default.*does not exist for TypeDoc. The JSDoc-only optionsoutputSourceFiles,sourceLinkToComment, andstaticFileslive under JSDoc'stemplates.default— there is no equivalent intypedoc.json. Source-file viewer pages andSource: file:linelinks still work for TypeDoc (they're generated unconditionally from reflection source metadata) — they're just not toggleable, and always land on the declaration.
This is the biggest way a TypeDoc site differs from a JSDoc one, and it's
automatic (no config). Read the deep dive for the full breakdown:
reference/document-model.md. The headlines:
@category / @order / sectionOrder / clubSidebarItems do NOT reshape
the TypeDoc API sidebar — the module hierarchy owns it (matching TypeDoc's
defaults). What still works: prose doc groups (docGroups + a doc page's
frontmatter group/order) render before the API hierarchy, and the menu
top region.@group, @inheritDoc, an async modifier badge, and object-literal type
expansion into property tables.Declare locales + defaultLocale in the same cleanJsdocTheme block; the
workflow runs through the clean-jsdoc CLI (umbrella skill's
localization.md).
TypeDoc caveat: the TypeDoc bridge supports string extraction (
clean-jsdoc i18n extractharvests the same slots) but not the localized build yet — per-locale rendering is JSDoc-only today. A single-language TypeDoc site is fully supported.
| Symptom | Cause / fix |
|---|---|
| Build runs but nothing is written / default HTML appears | You loaded the plugin but didn't select it. Add outputs: [{ name: "clean-jsdoc-theme", path: "dist" }]. Both plugin and outputs are required. |
A re-exported symbol / export … from is missing a page | Reference/re-export reflections are deferred in v1 and logged, not rendered. Document the original symbol. |
Custom colors/darkColors have no effect | Not wired for TypeDoc yet (§3). The palette is the OKLCH default; only fonts/siteName change appearance. |
A @category/@order doesn't reorder the sidebar | Expected — the module hierarchy owns the TypeDoc API sidebar (§4). Use docGroups/menu for the levers that do apply. |
| Types render as plain strings, not linked | Type rendering is v1 (type.toString()); documented references still link, but complex type structure is not fully modeled yet. |
| An option "isn't working" | Confirm it's in the wired list (§3), and that it's inside cleanJsdocTheme, not at the top level (only readme/plugin/outputs/TypeDoc's own options go there). |
For anything not TypeDoc-specific (a page won't compile, an image won't resolve,
an authoring construct misbehaves), see the umbrella skill's
troubleshooting.md.
This file carries a skill-revision: <date> marker and is versioned with the
theme. When relevant (starting work, or the user asks about upgrading), check —
at most once per session, and only surface something actionable:
# is this skill out of date?
curl -fsSL https://raw.githubusercontent.com/ankitskvmdam/clean-jsdoc-theme/master/SKILLS/typedoc/SKILL.md | grep -m1 skill-revision
# installed vs latest plugin
npm ls @clean-jsdoc-theme/typedoc 2>/dev/null
npm view @clean-jsdoc-theme/typedoc versionIf the published skill revision is newer, offer to update the whole typedoc/
skill folder (it has a reference/ file, not just SKILL.md). Don't overwrite
without asking. As the plugin matures, some §3 gaps (colors, custom CSS/JS,
localized build) are expected to close — re-verify against the installed version
rather than trusting this list blindly.
© ankitskvmdam, 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/typedoc of ankitskvmdam/clean-jsdoc-theme.
Open the folder on GitHubat commit 6489b20
Typedoc 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 |
|---|---|---|---|---|---|---|
| Typedoc this skillankitskvmdam/clean-jsdoc-theme | 179 | — | ~3k | Automated safety check: Pass | MIT | |
| Add Packageremix-run/remix | 33k | — | ~2k | Automated safety check: Pass | MIT | |
| ScratchpadEffect-TS/effect-smol | 782 | — | ~459 | Automated safety check: Pass | MIT | |
| evlog Enricher Creatorevloghq/evlog | 1.9k | — | ~1.7k | Automated safety check: Pass | MIT | |
| Enforce Rules For Typescriptmoeru-ai/airi | 50k | — | ~3.4k | Automated safety check: Pass | MIT | |
| Standard Jsdocbackpine/effect-worker-mono | 133 | — | ~1.3k | Automated safety check: Pass | MIT |
remix-run/remix
Create or align a package in the Remix monorepo to match existing package conventions.
Effect-TS/effect-smol
Extract the JSDoc example nearest the active source selection or cursor into ./scratchpad as a TypeScript file.
evloghq/evlog
Guides adding a new built-in enricher to the evlog package, covering the source, tests, docs, README, a related skill and a changeset.
moeru-ai/airi
Enforce AIRI's TypeScript and Vue source rules for imports, naming, comments, JSDoc, fallbacks, stateful and protocol code, and module design.
backpine/effect-worker-mono
Write, insert, or update Effect public API JSDoc so it satisfies the standard-jsdoc oxlint rule.
BrainDAO/adk-ts
ADK-TS README specialist. An agent skill from BrainDAO/adk-ts.
ankitskvmdam/clean-jsdoc-theme
Expert guidance for working with clean-jsdoc-theme v5 — the JSDoc/TypeDoc documentation theme.
ankitskvmdam/clean-jsdoc-theme
Step-by-step procedure to migrate a project from clean-jsdoc-theme v4 to v5.
Works with
Categories
Expert guidance for the @clean-jsdoc-theme/typedoc plugin — using clean-jsdoc-theme v5 with TypeDoc / TypeScript. Typedoc is an agent skill from ankitskvmdam/clean-jsdoc-theme. Expert guidance for the @clean-jsdoc-theme/typedoc plugin — using clean-jsdoc-theme v5 with TypeDoc / TypeScript.
Typedoc fits situations like: setting up the TypeDoc plugin; writing typedoc.json / the cleanJsdocTheme option block; understanding the TypeDoc sidebar (module hierarchy) and document model (standalone enum/function/variable pages; declaration blocks).
Run `npx skills add ankitskvmdam/clean-jsdoc-theme --skill typedoc -a claude-code`. Or copy the skill folder (SKILLS/typedoc in ankitskvmdam/clean-jsdoc-theme) into .claude/skills/typedoc in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ankitskvmdam/clean-jsdoc-theme --skill typedoc -a codex`. Or copy the skill folder (SKILLS/typedoc in ankitskvmdam/clean-jsdoc-theme) into .agents/skills/typedoc 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 ankitskvmdam/clean-jsdoc-theme --skill typedoc -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/typedoc, .gemini/skills/typedoc, .github/skills/typedoc and .opencode/skills/typedoc in your project.
Going by SKILL.md and its folder, Typedoc needs the command-line tools its instructions call (npm, npx and curl). Our summary lists: Node.js.
SKILL.md contains no URLs. Its commands use npm, npx and curl, 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.
Typedoc is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3k tokens (SKILL.md is roughly 12k 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 Typedoc: Add Package (remix-run/remix, 33k stars), Scratchpad (Effect-TS/effect-smol, 782 stars), evlog Enricher Creator (evloghq/evlog, 1.9k stars) and Enforce Rules For Typescript (moeru-ai/airi, 50k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ankitskvmdam (a GitHub user) maintains it in ankitskvmdam/clean-jsdoc-theme, which has 179 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on September 7, 2026.
Source: ankitskvmdam/clean-jsdoc-theme on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.