typescript-document

Writes and reviews TSDoc comments on exported TypeScript declarations following Effect docgen conventions.

Updated Jun 30, 2026
One-click install
npx skills add https://github.com/bsamiee/Rasm --skill typescript-document-bsamiee
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: typescript-document
Source: https://github.com/bsamiee/Rasm/tree/main/.claude/skills/typescript-document
Command: npx skills add https://github.com/bsamiee/Rasm --skill typescript-document-bsamiee

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Inconsistent or missing TSDoc on exported TypeScript declarations degrades hover documentation in editors and breaks @effect/docgen output, forcing developers to guess tag order, scope rules, and formatting conventions. ## Core Features & Use Cases - Scope Decisions: Applies a decision table to determine which exported symbols need comments and which trivial helpers, getters, and test utilities should be skipped. - Tag Structure Enforcement: Defines the required tag order (summary, @remarks, @param, @returns, @throws, @example, @category, @since) and per-tag formatting rules that @effect/docgen parses. - React Coverage: Documents props interfaces, component functions, and hooks returning Result.Result<A, E> from @effect-atom/atom-react via the bundled React reference. - Use Case: When reviewing a pull request that exports a new Effect-returning service function, use this Skill to write a compliant doc comment naming each error case in @returns and adding the required @since tag. ## Quick Start Review the exported functions in this TypeScript module and write TSDoc comments for any declarations whose contract the signature cannot state.

Frequently Asked Questions about typescript-document

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write TSDoc comments for TypeScript functions?▼

Start with a one-sentence third-person summary, then add `@param name - description` with a hyphen and no type annotation, followed by `@returns` for non-void returns. Order tags as summary, `@remarks`, params, returns and throws, example, then `@category` and `@since` last.

When should I skip doc comments on TypeScript code?▼

Skip comments when the signature and name already state the whole behavior, such as trivial getters, one-line helpers, test helpers, and anonymous components. Document only exported declarations and internals with a contract the code does not show.

How do I document a function returning Effect.Effect in TSDoc?▼

The `@returns` tag should name each error case in the `E` channel and explain what `None` or `Left` means for `Option` and `Either` returns. This gives callers the failure semantics the type signature alone cannot convey.

Does @effect/docgen require specific TSDoc tags?▼

Yes, `@effect/docgen` requires a `@since` tag on every export it parses, with `enforceVersion` defaulting to true. It also uses `@category` to group exports in generated output, defaulting to `utils`, and type-checks fenced code in `@example` blocks.

How do I document React component props in TypeScript?▼

Document each member of the props interface with a one-line comment, then document the component function separately with `@param props -` referencing the interface via `{@link}`. Components take no `@typeParam` since the props interface declares the generic.

Why is my @param name showing as an editor suggestion?▼

A `@param` name that differs from the actual parameter name appears as an editor suggestion in `.ts` files rather than proper documentation. Ensure every parameter is documented with its exact name, or document none of them.