npx skills add ...
npx skills add getsentry/sentry-docs --skill technical-docs
npx skills add getsentry/sentry-docs --skill technical-docs
Write and review technical documentation for Sentry SDK docs. Use when creating, editing, or reviewing documentation pages, especially MDX files in docs/platforms/.
Every section must answer: Why would a developer need this?
Bad:
Good:
Organize around what developers are trying to do, not around API methods.
Bad structure (API-centric):
Good structure (intent-centric):
If the same pattern appears in multiple sections, consolidate it.
Ask yourself: "Am I showing the same code pattern again? If yes, reference the earlier example instead."
Bad:
Good:
Don't just show code. Explain the specific condition that requires this approach.
Bad:
Good:
Write clearly and concisely. Long pages with repeated patterns lose readers.
Best practices should add new information, not repeat earlier examples.
Bad best practice:
Good best practice:
Use <SplitLayout> for side-by-side text/code when:
Don't use when:
Link to related docs rather than repeating content:
Always include filename when showing file-specific code:
Consecutive fenced code blocks are automatically grouped into tabbed code snippets. Each tab can have a title and filename:
{mdExpandTabs}The .md export (mainly used by LLMs via the "Copy page" button) collapses tab groups
by default: only the first tab is included, with a note listing the other tabs
(e.g. Other available variations of the above snippet: yarn, pnpm). This keeps context lean when tabs show
trivial variations an LLM can infer on its own.
Add {mdExpandTabs} to the first code fence in a group when the tabs contain code an LLM
cannot reliably derive from seeing just one tab. This is rare — most times, adding only
one tab to the produced .md is enough.
Expand — the code is too different for an LLM to infer:
--import vs Bun)wrapHttpFunction vs wrapCloudEventFunction), serverless async/sync handlerscommonMain / iosApp / androidApp), Flutter navigation (Navigator / GoRouter / AutoRoute)import) vs CDN (<script>) vs Loader (sentryOnLoad)Collapse (default) — an LLM can figure it out from one tab:
@sentry/hono/cloudflare vs @sentry/hono/node in platform-includes/ snippets)When reviewing documentation:
Add captureException to report these errors.Next.js error boundaries intercept errors before they bubble up to Sentry's global handler.
Without manual capture here, these errors silently disappear from your Sentry dashboard.## Best Practices
### Use captureException in Error Boundaries
[same code shown earlier]## Quick Reference
- Error boundaries: Required for visibility (errors intercepted by Next.js)
- Server errors: Automatic unless you return custom responses
- Client errors: Automatic for unhandled exceptionsFor automatic tracing, see <PlatformLink to="/configuration/apis/">API Reference</PlatformLink>.