expo-api-docs

Write TSDoc comments for Expo SDK APIs following official documentation conventions.

51.9k|13.7k|Updated Aug 15, 2016
One-click install
npx skills add https://github.com/expo/expo --skill expo-api-docs
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: expo-api-docs
Source: https://github.com/expo/expo/tree/main/.claude/skills/expo-api-docs
Command: npx skills add https://github.com/expo/expo --skill expo-api-docs

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Public TypeScript APIs in Expo SDK packages need consistent, high-quality TSDoc comments so the docs generation pipeline (GenerateDocsAPIData + TypeDoc) can produce accurate API reference pages. Without conventions, developers write inconsistent or useless docblocks that degrade the generated documentation.

Core Features & Use Cases

  • TSDoc conventions: Enforces third-person declarative style, correct use of @param, @return, @default, @platform, @example, @deprecated, and other supported tags.
  • Docs generation compatibility: Covers type export patterns from entry points so GenerateDocsAPIData picks up all public symbols.
  • MDX usage examples: Provides formats for code blocks, SnackInline interactive examples, Collapsible sections, and APISection references in documentation pages.
  • Use Case: When adding a new function like getUptimeAsync to an expo-* package, use this Skill to write the docblock with platform annotations, a code example, and proper return-value language from the start.

Quick Start

Write TSDoc comments for the new public API I just added to my expo-* package following the Expo documentation conventions.

Frequently Asked Questions about expo-api-docs

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

FAQPage Schema
How do I document a new Expo SDK API with TSDoc?

Write a docblock in third-person declarative style describing what the function does, then add @param, @return, and @example tags. Use @platform tags only when the API is limited to specific platforms, and include a fenced code example with a language tag.

Which TSDoc tags are supported by Expo docs generation?

Supported tags include @param, @return/@returns, @default, @platform, @example, @deprecated, @experimental, @hidden, @internal, @header, and @hideType. The @link tag is not supported; use standard markdown links instead.

When should I use the @platform tag in Expo API docs?

Use @platform only when an API is limited to specific platforms such as android, ios, web, or expo. Do not add it when all platforms are supported. You can specify minimum versions like @platform ios 11+ and use multiple tags for multiple platforms.

Why is my type not showing up in the generated Expo API reference?

Types must be exported from the package entry point file for GenerateDocsAPIData to extract them. Re-export types directly from the types file or export them after import in the module file so the docs script picks up all public symbols.

How do I add interactive code examples to Expo documentation pages?

Use the SnackInline component with a label and dependencies array wrapping a tsx code block. For longer examples, wrap them in a Collapsible component, and end the page with an APISection component referencing the package name.