From docs-guardian
Audits and generates JSDoc/TSDoc for TypeScript public APIs including functions, classes, interfaces, types, constants, enums, and React components with completeness checks.
How this skill is triggered — by the user, by Claude, or both
Slash command
/docs-guardian:lang-typescriptThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A symbol is **public** if it uses the `export` keyword:
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 |
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.
| 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 |
/**
* 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 {
A React component is fully documented when:
defaultProps or destructuring defaults)/** User profile card displaying avatar and name. */
export function UserCard({ name, avatarUrl = "/default.png" }: UserCardProps) {
A TypeScript symbol is fully documented when:
/** */)@param entries@returns (if not void)@throws (if function contains throw)Source files: **/*.ts, **/*.tsx, **/*.js, **/*.jsx
Exclude: node_modules/, dist/, *.test.*, *.spec.*, *.d.ts
npx claudepluginhub xiaolai/claude-plugin-marketplace --plugin docs-guardianFetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Provides a checklist for code reviews covering functionality, security, performance, maintainability, tests, and quality. Use for pull requests, audits, team standards, and developer training.