skills/brand-guidelines/SKILL.md
Write copy following Sentry brand guidelines. Use when writing UI text, error messages, empty states, onboarding flows, 404 pages, documentation, marketing copy, or any user-facing content. Covers both Plain Speech (default) and Sentry Voice tones.
npx skillsauth add getsentry/skills brand-guidelinesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
4 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Write user-facing copy following Sentry's brand guidelines.
Choose the appropriate tone based on context:
| Use Plain Speech | Use Sentry Voice | |------------------|------------------| | Product UI (buttons, labels, forms) | 404 pages | | Documentation | Empty states | | Error messages | Onboarding flows | | Settings pages | Loading states | | Transactional emails | "What's New" announcements | | Help text | Marketing copy |
Default to Plain Speech unless the context specifically calls for personality.
Plain Speech is clear, direct, and functional. Use it for most UI elements.
| Instead of | Write | |------------|-------| | "Click here to save your changes" | "Save" | | "You can filter results by date" | "Filter by date" | | "An error has occurred" | "Something went wrong" | | "Please enter a valid email address" | "Enter a valid email" | | "Are you sure you want to delete?" | "Delete this item?" |
Sentry Voice adds personality in appropriate moments. It's empathetic, self-aware, and occasionally snarky.
404 Pages:
"This page doesn't exist. Maybe it never did. Maybe it was a dream. Either way, let's get you back on track."
Empty States:
"No errors yet. Enjoy this moment of peace while it lasts."
Onboarding:
"Let's get your first error. Don't worry, it's not as scary as it sounds."
Loading States:
"Crunching the numbers..." "Fetching your data..."
| Avoid | Prefer | |-------|--------| | Please | (omit) | | Sorry | (be specific about the problem) | | Error occurred | Something went wrong | | Invalid | (explain what's wrong) | | Success! | (describe what happened) | | Oops | (be specific) |
| Type | Use | Example | |------|-----|---------| | Hyphen (-) | Compound words, ranges | "real-time", "1-10" | | En-dash (--) | Ranges, relationships | "2023--2024", "parent--child" | | Em-dash (---) | Interruption, emphasis | "Errors---even small ones---matter" |
In most UI contexts, use hyphens. Reserve en-dashes for date ranges and em-dashes for longer prose.
Good: "Could not save changes. Check your connection and try again." Bad: "Error: Save failed."
Good: "No projects yet. Create your first project to start tracking errors."
Avoid these common mistakes:
development
Document and type a Sentry API endpoint. Write or fix @extend_schema decorators, specify response TypedDicts, type request parameters, correct type drift between the declared schema and the runtime response, and validate the generated spec. Use when asked to "document an endpoint", "add OpenAPI docs", "add/fix @extend_schema", "type an endpoint response", "fix the response type", "fix type drift", "reuse a response type", "split an overloaded endpoint", "specify the response schema", "add a TypedDict response", "migrate a legacy api-docs path", "fix a parameter type", or "make an endpoint public" / "promote an endpoint" (promotion is one section here).
documentation
Create, refresh, and rewrite PR titles and descriptions following Sentry conventions. Use when opening a PR, writing or updating a PR title/body/description, refreshing an existing PR after material changes, or preparing branch changes for review.
tools
Analyze a repository to generate recommended Claude Code settings.json permissions. Use when setting up a new project, auditing existing settings, or determining which read-only bash commands to allow. Detects tech stack, build tools, and monorepo structure.
development
Triage new issues in the Sentry `javascript` project by archiving non-actionable noise. Use when asked to "triage issues", "triage the javascript project", "archive non-actionable issues", "triage new frontend issues", or "clean up the sentry/javascript queue". Operates only on the sentry/javascript project, only archives (never resolves), and always archives with `untilEscalating`.