
getsentry/sentry
20 skills1k installs889k starsGitHub
Install
npx skills add https://github.com/getsentry/sentrySkills in this repo
1Design SystemGuide for using Sentry's layout and text primitives. Use when implementing UI components, layouts, or typography. Enforces use of core components over styled components. --- name: design-system description: Guide for using Sentry's layout and text primitives. Use when implementing UI components, layouts, or typography. Enforces use of core components over styled components. --- # Layout and Text Primitives at Sentry ## Core Principle **ALWAYS use core components from `@sentry/scraps` instead of creating styled components with Emotion.** Core components provide consistent styling, responsive design, and better maintainability across the codebase. ## Component Implementation Reference For the complete list of supported props and their types, refer to the implementation files: - **Layout Components**: `/static/app/components/core/layout/` - `container.tsx` - Base container with all layout props - `flex.tsx` - Flex layout primitive - `grid.tsx` - Grid layout primitive - `stack.tsx` - Stack layout primitive (Flex with column direction by default) - **Typography Components**: `/static/app/components/core/text/` - `text.tsx` - Text primitive - `heading.tsx` - Heading primitive ## Layout.99installs2Sentry SecuritySentry-specific security review based on real vulnerability history. Use when reviewing Sentry endpoints, serializers, or views for security issues. Trigger keywords: "sentry security review", "check for IDOR", "access control review", "org scoping", "cross-org", "security audit endpoint". --- name: sentry-security description: 'Sentry-specific security review based on real vulnerability history. Use when reviewing Sentry endpoints, serializers, or views for security issues. Trigger keywords: "sentry security review", "check for IDOR", "access control review", "org scoping", "cross-org", "security audit endpoint".' allowed-tools: Read Grep Glob Bash --- # Sentry Security Review Find security vulnerabilities in Sentry code by checking for the patterns that have caused real vulnerabilities in this codebase. It encodes patterns from 37 real security patches shipped in the last year - not generic OWASP theory. ## Scope Review the code provided by the user (file, diff, or endpoint). Research the codebase as needed to build confidence before reporting.88installs3Sentry Javascript BugsSentry JavaScript bug pattern review detects high-confidence defects in frontend code by matching against 428 real production issues (524k+ error events). Encodes proven patterns: null/undefined access (158 issues), widget input validation (6), trace view integrity (12), API response assumptions (31), React lifecycle violations (10), AI parsing (2), and array bounds (15). Traces data flow through diffs, component props, hooks, and API shapes to confirm bugs with known fixes. Reports only HIGH and MEDIUM confidence findings with precise locations, triggering inputs, and concrete code fixes. Scope includes Warden findings, PR diffs, branch audits, and production error pattern reviews in frontend code.81installs4Generate MigrationThis skill covers Django migration generation and management within Sentry's infrastructure. It teaches developers to create migrations for model changes, handle data backfills with tests, and apply Sentry's custom safety checks including post-deployment flags and SafeDeleteModel patterns. Core workflows include generating migrations via sentry django makemigrations, verifying SQL output, testing data transformations with TestMigrations, and resolving conflicts via bin/update-migration. The skill emphasizes avoiding ORM-only tests, using db_default for nullable columns, and following two-phase deletion procedures for safe schema evolution.80installs5Generate Frontend FormsThis skill provides patterns for constructing forms using Sentry's modern form system built on TanStack React Form and Zod validation. It covers form hooks (useScrapsForm), field components (Input, Select, Switch, TextArea, Radio, Range), validation schemas, auto-save patterns for settings pages, error handling with setFieldErrors, and submission workflows via TanStack mutations. The system emphasizes schema-based validation, inline auto-save status indicators, and accessibility-first field layouts (Stack/Row), replacing legacy JsonForm and Reflux approaches.73installs6Sentry Backend BugsSentry Backend Bug Pattern Review encodes knowledge from 638 production issues generating 27 million error events across 65,000+ users. It systematically checks backend Python and Django code for eleven high-confidence bug classes: metric subscription validation, missing record/stale references, search query validation, value validation, type errors, internal API failures, database constraints, data parsing, key access, concurrency bugs, and logic correctness. Developers use it during PR review, Warden audits, or branch analysis to catch regressions before production. The skill traces data flow across ORM boundaries, serializers, and function calls to confirm behavior and reports only HIGH and MEDIUM confidence findings with concrete fixes.73installs7Migrate Frontend FormsThis skill provides a comprehensive guide for migrating forms from Sentry's legacy JsonForm and FormModel system to the new TanStack-based form architecture. It covers feature mapping between old and new systems, including handling confirm dialogs, help text, disabled states, data transformation, error handling, and success messages. The guide includes practical code examples for auto-saving forms, explicit Save button forms, nullable initial values, and form searchability preservation. Developers learn to correctly type mutations, avoid common pitfalls with TanStack Query generics, and use FormSearch for SettingsSearch integration with the generated field registry.71installs8Setup DevThis skill guides developers through establishing a complete Sentry development environment from scratch. It covers prerequisite detection, installing devenv and Docker runtimes (OrbStack or Colima), bootstrapping the repository, syncing dependencies, seeding the database, and launching dev services. The process takes 30-45 minutes initially; subsequent syncs are 2-5 minutes. It includes decision trees for OrbStack vs Colima trade-offs, troubleshooting direnv hangs, resolving Docker socket conflicts, and fixing common startup issues like missing database seeding and Kafka warnings. Daily workflows and the mandatory Sentry Cookie Sync browser extension are documented.65installs9Hybrid Cloud OutboxesThe hybrid-cloud-outboxes skill is a comprehensive guide for creating and maintaining outbox-based eventually consistent operations in Sentry. It covers the transactional outbox pattern where model changes write outbox rows in the same database transaction, then drain after commit to trigger RPC calls, tombstone propagation, audit logging, or cross-silo replication between Cell and Control silos. Step-by-step workflows walk through choosing ReplicatedCellModel versus ReplicatedControlModel mixins, registering OutboxCategory values to exactly one OutboxScope, writing manual signal receivers, migrating existing models, configuring Redis-backed backfills, and testing with outbox_runner and outbox_context utilities. Critical constraints enforce same-transaction writes, idempotent handlers, avoiding drain_shard inside transactions, coalescing awareness, and producing managers for bulk operations. Debugging guidance maps symptoms like stuck outboxes, OutboxFlushError, and scope registration crashes to investigation steps. A pre-flight checklist verifies replication handlers, bulk manager usage, and end-to-end test coverage before PR submission.61installs10Hybrid Cloud Test GenThe hybrid-cloud-test-gen skill generates tests for Sentry hybrid cloud architecture across RPC services, API gateway proxying, outbox patterns, and endpoint silo decorators. Critical constraints require factory methods like self.create_user instead of Model.objects.create, never wrapping factories in assume_test_silo_mode, pytest-style assertions only, adding tests to existing mirror-path files, and reserving TransactionTestCase for threading or concurrency. Step one routes requests to RPC service, API gateway, outbox pattern, or endpoint silo categories based on signal keywords. Context gathering reads source modules for silo decorators, locates tests via src-to-tests mirror conventions, and reviews established patterns before generation. RPC tests use all_silo_test with serialization round-trips via dispatch_to_local_service and outbox_runner for cross-silo effects. API gateway tests use control_silo_test with ApiGatewayTestCase for proxy pass-through and streaming responses. Outbox tests verify creation with outbox_context, draining with outbox_runner, and idempotency on double drain. Endpoint tests map cell_silo_endpoint and control_silo_endpoint decorators to matching test d.59installs11Hybrid Cloud RpcThe hybrid-cloud-rpc skill guides creating, modifying, and deprecating RPC services in Sentry's hybrid cloud architecture where Control silos handle user auth and org management and Cell silos hold project data, events, issues, and billing. Critical constraints forbid from __future__ import annotations in service.py or model.py, require keyword-only RPC parameters, full type annotations without forward references, and serializable types only. Services live under twelve registered discovery packages with model.py, serial.py, service.py, and impl.py files. Silo mode selection uses SiloMode.CELL with @cell_rpc_method resolvers for cell data or SiloMode.CONTROL with @rpc_method for control data. Method workflows cover adding optional parameters safely, two-phase breaking changes, and a three-phase deprecation path. Testing requires @all_silo_test for silo compatibility, dispatch_to_local_service serialization round-trips, RPC model field accuracy against ORM objects, cross-silo outbox verification, and error handling for disabled methods and remote exceptions. A pre-flight checklist verifies annotations, resolvers, sensitive Field(repr=False) fields, and test coverage before PR submis.56installs12React Component DocumentationThe react-component-documentation skill guides writing and updating React component documentation within the Sentry repository, covering props tables, usage examples, and consistency with Sentry frontend documentation standards.35installs13Lint FixFix violations of an eslintPluginScraps rule across the codebase. Use when asked to "fix lint violations", "apply a lint rule", "fix scraps rule errors", "roll out a lint rule", "enforce a rule codebase-wide", or "fix design system lint". Covers manual fixes, autofix, batching, and codemod strategies for large-scale rollouts. --- name: lint-fix description: Fix violations of an eslintPluginScraps rule across the codebase. Use when asked to "fix lint violations", "apply a lint rule", "fix scraps rule errors", "roll out a lint rule", "enforce a rule codebase-wide", or "fix design system lint". Covers manual fixes, autofix, batching, and codemod strategies for large-scale rollouts. --- Fix violations of rule `$0` on files matching `$1`. ## Arguments - `$0` - Rule name (e.g., `use-semantic-token`, `no-core-import`) - `$1` - File or glob pattern (e.g., `static/app/components/`, `static/app/views/alerts/`) ## Step 1: Understand the Rule Before fixing violations, know what the fix looks like.24installs14Notification PlatformGuide for adding notifications, custom renderers, or new providers to Sentry's NotificationPlatform. Use when asked to "add notification", "new notification", "notification platform", "send notification", "notification template", "notification renderer", "notification provider", "NotificationPlatform", "notify user", "send email notification", "send slack notification". --- name: notification-platform description: Guide for adding notifications, custom renderers, or new providers to Sentry's NotificationPlatform. Use when asked to "add notification", "new notification", "notification platform", "send notification", "notification template", "notification renderer", "notification provider", "NotificationPlatform", "notify user", "send email notification", "send slack notification". --- # NotificationPlatform Guide Sentry's NotificationPlatform is a provider-based system for sending notifications across Email, Slack, Discord, and MS Teams. You define data + template, register it, and the platform handles rendering and delivery per provider. ## Glossary | Concept | Role | Location | | ------------------------------ | --------------------------------------------------------------------.24installs15Lint NewCreate a new ESLint rule with tests for eslintPluginScraps Use when asked to create a lint rule add an eslint rule scaffold a rule write a new scraps rule or new design system lint rule Covers rule creation test authoring registration and autofix implementation name lint-new description Create a new ESLint rule with tests for eslintPluginScraps Use when asked to create a lint rule add an eslint rule scaffold a rule write a new scraps rule or new design system lint rule Covers rule creation test authoring registration and autofix implementation Create a new ESLint rule named ARGUMENTS in the eslintPluginScraps plugin Step 1 Choose Your Archetype Read references rule-archetypes md references rule-archetypes md and pick the archetype that matches your rule's intent You want to Archetype Reference to load Rewrite import paths Import rewrite Inline simple pattern Validate token value usage per CSS property Property validation style-collector-guide md references style-collector-guide md Restrict JSX elements in specific props JSX structural rule-archetypes md references rule-archetypes md Archetype 3 Detect patterns in22installs16Cell ArchitectureThe cell-architecture skill is Sentry's reference and active migration guide for cells and localities. It explains how cells are self-contained deployments owning organization subsets, how localities group cells for data residency, and the three paths into a cell: locality API via Synapse, ingestion routing by public key, and control silo gateway forwarding. It documents cross-cell data access pitfalls where membership-filtered queries silently return incomplete results, and lists infrastructure such as OrganizationMapping and RPC services. The migration section covers draining URL_NAME_TO_ACTION in test_urls.py, rolling deploy safety with two-phase patterns for independent sentry and getsentry deploys, and the region to cell rename with explicit do-not-rename lists for DB columns and AWS refs. Known issues include integration TeamLinkageView routing, Jira cross-cell fan-out, and relocation endpoint routing with proposed fixes. Status**: Active migration in progress. Migration-specific sections should be removed once complete, leaving a stable architecture reference.21installs17Generate Snapshot TestsThe generate-snapshot-tests skill creates colocated *.snapshots.tsx files for Sentry frontend React components following core design system patterns. It locates components under static/app/components, reads props types, and classifies union literals, boolean toggles, and interactive handlers needing no-op callbacks. Import paths differ for @sentry/scraps packages versus direct core imports with eslint exceptions for SSR snapshots. Tests wrap components in ThemeProvider with light and dark themes via describe.each, using it.snapshot.each for union prop variants and named snapshots for boolean states. The skill enforces padding wrappers, metadata callbacks for theme and variant keys, and references existing snapshot files as templates. It handles Scraps-published components, core-only imports, and interactive inputs with disabled and checked states. Use when asked to generate snapshot tests, visual regression tests, or snapshot a specific component path. Use Glob or Grep to find the file if the exact path is unknown.21installs18Django ModelsThe django-models skill encodes architectural decisions before writing Sentry Django fields. Choose cell versus control silo using smallest correct boundary, decide replication via ReplicatedCellModel or ReplicatedControlModel when opposite silos need lookup, set mandatory __relocation_scope__ to Organization or Excluded, and pick FlexibleForeignKey for same-silo relations or HybridCloudForeignKey with _id suffix for cross-silo IDs without DB constraints. Norms cover DefaultFieldsModel timestamps, bounded numeric fields, JSONField over legacy text JSON, UniqueConstraint with partial conditions, composite indexes matching filter order, and explicit soft delete via ObjectStatus rather than magic metaclasses. Points to generate-migration and hybrid-cloud skills for follow-on work. Four coupled decisions: silo, replication, relocation, FK type. FlexibleForeignKey for same-silo database constraints. HybridCloudForeignKey for cross-silo eventual consistency. __relocation_scope__ required on every concrete model. Prefer UniqueConstraint over unique_together for partial uniques. Model skeleton with correct silo, scope, and foreign key types.19installs19Cmdk ActionsThe cmdk-actions skill guides implementing Sentry Command+K entries via CMDKAction registering through React context without central registries. Three slots order task, page, and global actions with page tied to mount lifetime and global in GlobalCommandPaletteActions. Props cover display label details icon trailingItem, keywords, id prefixes for supplementary sorting, and mutually exclusive to, onAction, or resource plus children group patterns. Async resource functions power searchable pickers with limits and prompt placeholders. Patterns span navigation links, callbacks, nested groups, and project or issue resource lists with avatar sizing guidance. CMDKAction registers actions via React context tree. page, task, and global slots control ordering. Supports navigation, callbacks, and resource pickers. TypeScript union enforces one action type per entry. Global actions live in GlobalCommandPaletteActions component. Registered CMDKAction visible in correct palette slot. User implements cmdk action, resource picker, or page shortcut.17installs20Analyticsanalytics skill documents Instrument and discover analytics events in Sentry's frontend UI. Use when adding tracking to buttons, pages, modals, or custom interactions, when defining new analytics events, when searching for existing events, when auditing analytics coverage for a feature, or when answering questions about how . name: analytics description: Instrument and discover analytics events in Sentry's frontend UI. Use when adding tracking to buttons, pages, modals, or custom interactions, when defining new analytics events, when searching for existing events, when auditing analytics coverage for a feature, or when answering questions about how users interact with a feature. Trigger on "add analytics", "track event11installs