# Generate Doc

> Create or update react-native-nitro-sound API documentation, examples, migration notes, FAQ entries, changelog or release notes, and compiled AI context. Use when public exports, Nitro specs, native behavior, compatibility requirements, installation steps, or releases need documentation.

- Skill: `hyochan/generate-doc` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add hyochan/generate-doc`
- Raw SKILL.md: https://api.skillmd.com/api/skills/hyochan/generate-doc/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: hyochan (https://skillmd.com/u/hyochan)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/hyochan/generate-doc

---


# Generate Nitro Sound Documentation

Ground every statement in the current repository and keep all documented
platforms aligned with the implementation.

## Choose The Surface

- Update `README.md` for installation, requirements, API usage, public examples,
  and high-level migration guidance.
- Update `docs/FAQ.md` for reproducible troubleshooting and platform-specific
  workarounds.
- Update `CHANGELOG.md` only when preparing or correcting release history.
- Update `knowledge/_claude-context/context.md` after meaningful API, native,
  dependency, or maintenance-workflow changes.
- Update example screens when documentation depends on behavior users must be
  able to run.

Do not create a new documentation surface when an existing one has the right
audience.

## Collect Evidence

Read, in order:

1. `AGENTS.md` and the user's requested change.
2. `package.json`, `nitro.json`, and the current Git tag or intended release.
3. `src/index.tsx`, `src/index.web.tsx`, hooks, and `src/specs/*.nitro.ts`.
4. Relevant `ios/*.swift` and `android/src/main/**/*.kt` implementations.
5. Existing README, FAQ, changelog, issue, and PR language that the edit affects.
6. CI and release workflows when documenting build or publication behavior.

Use package metadata for versions. Verify current registry, platform, or
toolchain facts from authoritative sources when they may have changed. Never
infer a released version from an unreleased branch or generated file.

## Write Accurate Examples

- Use imports actually exported by `src/index.tsx`.
- Show asynchronous recorder/player loading states where the API requires them.
- Keep record and playback positions in milliseconds.
- Include microphone permission and native setup only where the platform needs
  it.
- Distinguish iOS, Android, and Web behavior instead of implying false parity.
- Prefer a short runnable example over disconnected snippets.
- Link issues or releases for non-obvious compatibility guidance.
- Never document hand-edits to `nitrogen/generated/**` as a supported fix.

## Prepare Release Documentation

Derive the change range from the previous published tag through the exact target
head. Group notes by user impact rather than commit mechanics. Exclude generated
file churn, version-only noise, and internal workflow edits unless they change a
maintainer-facing contract.

When the automated deploy workflow will update `CHANGELOG.md`, prepare or test
the release-note input without duplicating the generated entry. Confirm the tag
format and version behavior from `.github/workflows/publish-package.yml` before
naming links.

## Validate

Run the checks relevant to the examples and files changed:

```bash
yarn typecheck
yarn lint
yarn test
git diff --check
```

Add `yarn build:web` for Web examples and a platform build for native setup or
behavior claims. Re-read rendered Markdown, verify anchors and links, and report
any platform behavior that was documented but not exercised.

