Expert guidance for the @clean-jsdoc-theme/typedoc plugin — using clean-jsdoc-theme v5 with TypeDoc / TypeScript.

MITAuto-check passedDevelopment

Install Typedoc

skills CLI
$ npx skills add ankitskvmdam/clean-jsdoc-theme --skill typedoc -a claude-code

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

GitHub CLI
$ gh skill install ankitskvmdam/clean-jsdoc-theme typedoc --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/ankitskvmdam/clean-jsdoc-theme.git skills-src && mkdir -p .claude/skills && cp -r skills-src/SKILLS/typedoc .claude/skills/typedoc && 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
typedoc
GitHub stars
179
Token cost
~3k tokens
SKILL.md length
1,209 words
Files
2
Skills in repo
3
Repo updated
First seen
Licence
MIT

At a glance

Expert guidance for the @clean-jsdoc-theme/typedoc plugin — using clean-jsdoc-theme v5 with TypeDoc / TypeScript.

  • Works in 7 steps: What it actually is → Setup → Options: same names, one namespace, a… → …
  • Setting up the TypeDoc plugin
  • SKILL.md covers 1. What it actually is, 2. Setup, 3. Options: same names, one… and 4. The TypeDoc sidebar &…, plus 3 more sections
  • Calls npm, npx and curl

What it does

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.

When your agent uses it

  • 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)

Example prompts

  • “/typedoc”

Requirements

  • Node.js

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. What it actually is
  2. Setup
  3. Options: same names, one namespace, a few gaps
  4. The TypeDoc sidebar & document model
  5. Localization
  6. Troubleshooting (TypeDoc-specific)
  7. Staying current

What it can do on your machine

Read from SKILL.md and the folder at commit 6489b20. 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:

    • npm
    • npx
    • curl

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

  • Network

    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.

  • 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

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.

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

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 ankitskvmdam/clean-jsdoc-theme at commit 6489b20, republished under its MIT licence (© ankitskvmdam). 1,209 words, ~3,009 tokens.

Download SKILL.mdSave it as .claude/skills/typedoc/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
typedoc
description
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 aren't) wired for TypeDoc. For shared topics — authoring callouts/steps/tabs/embeds, images, the full option reference — this skill defers to the umbrella `clean-jsdoc-theme` skill.

@clean-jsdoc-theme/typedoc — working skill

<!-- 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-theme skill:

Shared topicFile
The full option reference (all options, both namespaces)../clean-jsdoc-theme/reference/configuration.md
Authoring: callouts, steps, tabs, embeds, @iframe, playground../clean-jsdoc-theme/reference/authoring.md
Images / local assets / sitemap../clean-jsdoc-theme/reference/images.md
Docs directory, frontmatter, cross-links../clean-jsdoc-theme/reference/content-and-sidebar.md
The 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 renderingreference/document-model.md

Project: https://github.com/ankitskvmdam/clean-jsdoc-theme · npm: @clean-jsdoc-theme/typedoc · verified against TypeDoc 0.28.x.


1. What it actually is

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 site

You 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.


2. Setup

sh
npm install --save-dev typedoc @clean-jsdoc-theme/typedoc
json5
// 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):

sh
npx typedoc
npx serve dist

Runnable reference: examples/typedoc-basic in the repo — its typedoc.json is the canonical setup.

readme is TypeDoc's own top-level option, not a theme option. The home page comes from TypeDoc's readme (rendered from project.readme), or a root docs/index.md in the theme's docs directory overrides it. Both readme and cleanJsdocTheme sit at the top level of typedoc.json.


3. Options: same names, one namespace, a few gaps

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.

What the TypeDoc writer actually wires (verified)

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:

  • Identity/fonts: siteName (text or logo set), fonts (incl. per-locale keys), favicon
  • Content: docs, docGroups, defaultDocGroup (+ native projectDocuments, see the deep dive)
  • Sidebar: 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)
  • LLM/pager: copyPage, pageNav, aiPrompt, playground
  • Chrome/meta: footer (string or { file }), meta
  • Deploy: basePath (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)
  • Build: strict

NOT 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 options outputSourceFiles, sourceLinkToComment, and staticFiles live under JSDoc's templates.default — there is no equivalent in typedoc.json. Source-file viewer pages and Source: file:line links still work for TypeDoc (they're generated unconditionally from reflection source metadata) — they're just not toggleable, and always land on the declaration.


Show full SKILL.md (508 more words)Show less

4. The TypeDoc sidebar & document model

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:

  • Sidebar = a module/folder hierarchy, mirroring TypeDoc's own default theme — not the JSDoc template's top-level kind buckets (Classes / Interfaces / …). Modules are clickable + expandable; members nest under them ordered by kind.
  • Standalone pages for enums, top-level functions, and variables (not member sections); type aliases are labelled "Type Aliases"; class sections use TypeDoc labels (Constructors / Properties / Accessors / Methods); module/namespace pages are a kind-grouped index of links.
  • Overloaded functions/methods stack one signature per call signature; standalone pages lead with a full declaration block; generics get a Type Parameters section.
  • @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.
  • TypeDoc-specific rendering: inheritance sections (Hierarchy / Implements / Implemented By + per-member "Inherited from / Overrides / Implementation of"), @group, @inheritDoc, an async modifier badge, and object-literal type expansion into property tables.

5. Localization

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 extract harvests the same slots) but not the localized build yet — per-locale rendering is JSDoc-only today. A single-language TypeDoc site is fully supported.


6. Troubleshooting (TypeDoc-specific)

SymptomCause / fix
Build runs but nothing is written / default HTML appearsYou 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 pageReference/re-export reflections are deferred in v1 and logged, not rendered. Document the original symbol.
Custom colors/darkColors have no effectNot wired for TypeDoc yet (§3). The palette is the OKLCH default; only fonts/siteName change appearance.
A @category/@order doesn't reorder the sidebarExpected — the module hierarchy owns the TypeDoc API sidebar (§4). Use docGroups/menu for the levers that do apply.
Types render as plain strings, not linkedType 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.


7. Staying current

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:

sh
# 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 version

If 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

Files

SKILL.md and 1 other file in SKILLS/typedoc of ankitskvmdam/clean-jsdoc-theme.

  • SKILL.md
  • reference/document-model.md

Open the folder on GitHubat commit 6489b20

Compare with similar skills

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.

Typedoc compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Typedoc this skillankitskvmdam/clean-jsdoc-theme179—~3kAutomated safety check: PassMIT
Add Packageremix-run/remix33k—~2kAutomated safety check: PassMIT
ScratchpadEffect-TS/effect-smol782—~459Automated safety check: PassMIT
evlog Enricher Creatorevloghq/evlog1.9k—~1.7kAutomated safety check: PassMIT
Enforce Rules For Typescriptmoeru-ai/airi50k—~3.4kAutomated safety check: PassMIT
Standard Jsdocbackpine/effect-worker-mono133—~1.3kAutomated safety check: PassMIT

Similar skills

  • Add Package

    remix-run/remix

    Create or align a package in the Remix monorepo to match existing package conventions.

    33k GitHub stars~2k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Scratchpad

    Effect-TS/effect-smol

    Extract the JSDoc example nearest the active source selection or cursor into ./scratchpad as a TypeScript file.

    782 GitHub stars~459 tokensUpdated 2 mo ago
    DevelopmentAuto-check passed
  • Guides adding a new built-in enricher to the evlog package, covering the source, tests, docs, README, a related skill and a changeset.

    1.9k GitHub stars~1.7k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Enforce AIRI's TypeScript and Vue source rules for imports, naming, comments, JSDoc, fallbacks, stateful and protocol code, and module design.

    50k GitHub stars~3.4k tokensUpdated today
    DevelopmentAuto-check passed
  • Standard Jsdoc

    backpine/effect-worker-mono

    Write, insert, or update Effect public API JSDoc so it satisfies the standard-jsdoc oxlint rule.

    133 GitHub stars~1.3k tokensUpdated 4 mo ago
    DevelopmentAuto-check passed
  • Adk Readme Writer

    BrainDAO/adk-ts

    ADK-TS README specialist. An agent skill from BrainDAO/adk-ts.

    119 GitHub stars~2.6k tokensUpdated 3 mo ago
    DevelopmentAuto-check: notes

More from ankitskvmdam/clean-jsdoc-theme

  • Clean Jsdoc Theme

    ankitskvmdam/clean-jsdoc-theme

    Expert guidance for working with clean-jsdoc-theme v5 — the JSDoc/TypeDoc documentation theme.

    179 GitHub stars~3.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Migrate V4 To V5

    ankitskvmdam/clean-jsdoc-theme

    Step-by-step procedure to migrate a project from clean-jsdoc-theme v4 to v5.

    179 GitHub stars~3.1k tokensUpdated 1 mo ago
    Auto-check passed

Works with

Categories

Questions about Typedoc

What does Typedoc do?

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.

When should I use Typedoc?

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).

How do I install Typedoc in Claude Code?

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.

How do I install Typedoc in Codex?

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.

Can I use Typedoc 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 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.

What does Typedoc need to run?

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.

Does Typedoc access the network?

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.

Is Typedoc 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 Typedoc use?

Typedoc 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 Typedoc use?

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.

What are the alternatives to Typedoc?

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.

Who maintains Typedoc?

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.