Lang typescript
Skill xiaolai/docs-guardian-for-claude/skills/docs-guardian/languages/lang-typescript
Use when writing, auditing, or generating documentation for TypeScript projects — covers docstring conventions, API doc extraction, and TypeScript-specific patterns.From its SKILL.md
npx -y skills add xiaolai/docs-guardian-for-claude --skill lang-typescriptAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
2.7 KB, as published. Nobody here has run it
TypeScript Language Adapter
Public API Detection
A symbol is public if it uses the export keyword:
| Pattern | Public? |
|---|---|
export function name() | Yes |
export class Name | Yes |
export const name = | Yes |
export type Name = | Yes |
export interface Name | Yes |
export default | Yes |
export { name } (re-export) | Yes |
function name() (no export) | No |
Barrel file export * from | Track origin |
Index/Barrel Files
When a file like index.ts re-exports via export { Foo } from './foo' or export * from './foo', the actual symbol is in ./foo.ts. Document at the origin, not the barrel.
Symbol Types to Document
| Type | Detection | Documentation Expected |
|---|---|---|
| Functions | export function or export const name = (arrow) | JSDoc with @param, @returns |
| Classes | export class | JSDoc on class + constructor params |
| Interfaces | export interface | JSDoc on interface + property descriptions |
| Types | export type | JSDoc describing the type's purpose |
| Constants | export const NAME = (non-function) | JSDoc one-liner |
| React Components | export function Name(props: Props) or export const Name: FC<Props> | JSDoc + Props interface documented |
| Enums | export enum | JSDoc on enum + member descriptions |
JSDoc / TSDoc Format
/**
* One-line summary.
*
* @param bar - Description of bar.
* @param baz - Description of baz.
* @returns True if successful.
* @throws {ValueError} If bar is negative.
*
* @example
* ```ts
* const result = foo(1, "hello");
* ```
*/
export function foo(bar: number, baz: string): boolean {
React Component Documentation
A React component is fully documented when:
- The component function has a JSDoc comment
- The Props type/interface has JSDoc on each property
- Default values are noted (via
defaultPropsor destructuring defaults)
/** User profile card displaying avatar and name. */
export function UserCard({ name, avatarUrl = "/default.png" }: UserCardProps) {
Documentation Completeness Check
A TypeScript symbol is fully documented when:
- Has a JSDoc comment (not empty
/** */) - All parameters have
@paramentries - Return value has
@returns(if notvoid) - Thrown errors have
@throws(if function containsthrow)
File Patterns
Source files: **/*.ts, **/*.tsx, **/*.js, **/*.jsx
Exclude: node_modules/, dist/, *.test.*, *.spec.*, *.d.ts