[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-sentry-contributing-md":3,"mdc--f75s6c-key":35,"related-org-sentry-contributing-md":462,"related-repo-sentry-contributing-md":638},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":24,"repoUrl":25,"updatedAt":26,"license":27,"forks":28,"topics":29,"repo":31,"sourceUrl":33,"mdContent":34},"contributing-md","generate standardized CONTRIBUTING.md files","Generate or align a CONTRIBUTING.md for a Sentry SDK repository with the develop.sentry.dev standard template. Use when asked to \"create contributing.md\", \"update contributing.md\", \"align contributing docs\", \"standardize contributor docs\", or when the contributing guide is outdated, missing sections, or does not exist.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"sentry","Sentry","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fsentry.png","getsentry",[13,17,20,23],{"name":14,"slug":15,"type":16},"GitHub","github","tag",{"name":18,"slug":19,"type":16},"Documentation","documentation",{"name":21,"slug":22,"type":16},"Technical Writing","technical-writing",{"name":9,"slug":8,"type":16},2,"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fsdk-skills","2026-04-06T18:14:57.157686",null,0,[30],"tag-production",{"repoUrl":25,"stars":24,"forks":28,"topics":32,"description":27},[30],"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fsdk-skills\u002Ftree\u002FHEAD\u002Fplugins\u002Fsentry-sdk-skills\u002Fskills\u002Fcontributing-md","---\nname: contributing-md\ndescription: >\n  Generate or align a CONTRIBUTING.md for a Sentry SDK repository with the\n  develop.sentry.dev standard template. Use when asked to \"create contributing.md\",\n  \"update contributing.md\", \"align contributing docs\", \"standardize contributor docs\",\n  or when the contributing guide is outdated, missing sections, or does not exist.\n---\n\n# Contributing.md Skill\n\nGenerate or align a Sentry SDK repository's `CONTRIBUTING.md` with the\n[standard template](https:\u002F\u002Fdevelop.sentry.dev\u002Fsdk\u002Fgetting-started\u002Ftemplates\u002Fcontributing-md-template\u002F).\nSpec compliance is the primary goal; SDK-specific content is preserved or added around it.\nTarget **100–200 lines** — detailed process lives on develop.sentry.dev, link there, don't duplicate.\n\n## Steps\n\n### 1. Fetch the template\n\n```\nhttps:\u002F\u002Fdevelop.sentry.dev\u002Fsdk\u002Fgetting-started\u002Ftemplates\u002Fcontributing-md-template\u002F\n```\n\nThis is the source of truth for required sections, structure, and links.\n\n### 2. Read the existing file (if any)\n\nIf `CONTRIBUTING.md` exists, read it. Commands and SDK-specific content already there\nshould be trusted. If it does not exist, use the fetched template as the starting point.\n\n### 3. Find commands from the repo\n\nFor missing or placeholder values, read in priority order:\n\n1. `.github\u002Fworkflows\u002F*.yml` — authoritative test\u002Flint\u002Fbuild commands\n2. `Makefile` \u002F `Taskfile.yml` \u002F `tox.ini` — command wrappers\n3. `README.md` — install command, SDK name\n4. `docs.sentry.io` for the SDK — setup steps if not found above\n\n### 4. Reference good examples\n\nCheck these repos for structural inspiration if needed:\n\n- [`sentry-python`](https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fsentry-python\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md) — integration principles, user vs contributor setup\n- [`sentry-javascript`](https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fsentry-javascript\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md) — Volta pin, monorepo workflow, draft PR rule\n- [`sentry-go`](https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fsentry-go\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md) — LOGAF usage, craft release-notes requirement\n- [`sentry-cocoa`](https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fsentry-cocoa\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md) — LOGAF with descriptions, copyright header rule\n- [`sentry-java`](https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fsentry-java\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md) — API compatibility workflow, step-by-step setup\n\n### 5. Write the file\n\n- Follow the section order from the fetched template\n- Append preserved SDK-specific sections after standard content\n- Flag contradictions rather than removing:\n  ```html\n  \u003C!-- TODO: review against standard: https:\u002F\u002Fdevelop.sentry.dev\u002F... -->\n  ```\n- If file would exceed 200 lines, move verbose steps to a linked doc and reference it\n\n### 6. Verify\n\nGrep for `\\[` — no unreplaced placeholder tokens should remain.\n\n## Quality Checklist\n\n- [ ] All `[placeholder]` values replaced with real content\n- [ ] Commands verified against CI config or README\n- [ ] Existing SDK-specific sections preserved\n- [ ] Non-standard content flagged with TODO comments\n- [ ] AI attribution section present\n- [ ] File is 100–200 lines\n- [ ] No links point to Notion or Linear\n",{"data":36,"body":37},{"name":4,"description":6},{"type":38,"children":39},"root",[40,49,83,90,97,109,114,120,132,138,143,207,213,218,302,308,351,357,370,376,456],{"type":41,"tag":42,"props":43,"children":45},"element","h1",{"id":44},"contributingmd-skill",[46],{"type":47,"value":48},"text","Contributing.md Skill",{"type":41,"tag":50,"props":51,"children":52},"p",{},[53,55,62,64,73,75,81],{"type":47,"value":54},"Generate or align a Sentry SDK repository's ",{"type":41,"tag":56,"props":57,"children":59},"code",{"className":58},[],[60],{"type":47,"value":61},"CONTRIBUTING.md",{"type":47,"value":63}," with the\n",{"type":41,"tag":65,"props":66,"children":70},"a",{"href":67,"rel":68},"https:\u002F\u002Fdevelop.sentry.dev\u002Fsdk\u002Fgetting-started\u002Ftemplates\u002Fcontributing-md-template\u002F",[69],"nofollow",[71],{"type":47,"value":72},"standard template",{"type":47,"value":74},".\nSpec compliance is the primary goal; SDK-specific content is preserved or added around it.\nTarget ",{"type":41,"tag":76,"props":77,"children":78},"strong",{},[79],{"type":47,"value":80},"100–200 lines",{"type":47,"value":82}," — detailed process lives on develop.sentry.dev, link there, don't duplicate.",{"type":41,"tag":84,"props":85,"children":87},"h2",{"id":86},"steps",[88],{"type":47,"value":89},"Steps",{"type":41,"tag":91,"props":92,"children":94},"h3",{"id":93},"_1-fetch-the-template",[95],{"type":47,"value":96},"1. Fetch the template",{"type":41,"tag":98,"props":99,"children":103},"pre",{"className":100,"code":102,"language":47},[101],"language-text","https:\u002F\u002Fdevelop.sentry.dev\u002Fsdk\u002Fgetting-started\u002Ftemplates\u002Fcontributing-md-template\u002F\n",[104],{"type":41,"tag":56,"props":105,"children":107},{"__ignoreMap":106},"",[108],{"type":47,"value":102},{"type":41,"tag":50,"props":110,"children":111},{},[112],{"type":47,"value":113},"This is the source of truth for required sections, structure, and links.",{"type":41,"tag":91,"props":115,"children":117},{"id":116},"_2-read-the-existing-file-if-any",[118],{"type":47,"value":119},"2. Read the existing file (if any)",{"type":41,"tag":50,"props":121,"children":122},{},[123,125,130],{"type":47,"value":124},"If ",{"type":41,"tag":56,"props":126,"children":128},{"className":127},[],[129],{"type":47,"value":61},{"type":47,"value":131}," exists, read it. Commands and SDK-specific content already there\nshould be trusted. If it does not exist, use the fetched template as the starting point.",{"type":41,"tag":91,"props":133,"children":135},{"id":134},"_3-find-commands-from-the-repo",[136],{"type":47,"value":137},"3. Find commands from the repo",{"type":41,"tag":50,"props":139,"children":140},{},[141],{"type":47,"value":142},"For missing or placeholder values, read in priority order:",{"type":41,"tag":144,"props":145,"children":146},"ol",{},[147,159,185,196],{"type":41,"tag":148,"props":149,"children":150},"li",{},[151,157],{"type":41,"tag":56,"props":152,"children":154},{"className":153},[],[155],{"type":47,"value":156},".github\u002Fworkflows\u002F*.yml",{"type":47,"value":158}," — authoritative test\u002Flint\u002Fbuild commands",{"type":41,"tag":148,"props":160,"children":161},{},[162,168,170,176,177,183],{"type":41,"tag":56,"props":163,"children":165},{"className":164},[],[166],{"type":47,"value":167},"Makefile",{"type":47,"value":169}," \u002F ",{"type":41,"tag":56,"props":171,"children":173},{"className":172},[],[174],{"type":47,"value":175},"Taskfile.yml",{"type":47,"value":169},{"type":41,"tag":56,"props":178,"children":180},{"className":179},[],[181],{"type":47,"value":182},"tox.ini",{"type":47,"value":184}," — command wrappers",{"type":41,"tag":148,"props":186,"children":187},{},[188,194],{"type":41,"tag":56,"props":189,"children":191},{"className":190},[],[192],{"type":47,"value":193},"README.md",{"type":47,"value":195}," — install command, SDK name",{"type":41,"tag":148,"props":197,"children":198},{},[199,205],{"type":41,"tag":56,"props":200,"children":202},{"className":201},[],[203],{"type":47,"value":204},"docs.sentry.io",{"type":47,"value":206}," for the SDK — setup steps if not found above",{"type":41,"tag":91,"props":208,"children":210},{"id":209},"_4-reference-good-examples",[211],{"type":47,"value":212},"4. Reference good examples",{"type":41,"tag":50,"props":214,"children":215},{},[216],{"type":47,"value":217},"Check these repos for structural inspiration if needed:",{"type":41,"tag":219,"props":220,"children":221},"ul",{},[222,238,254,270,286],{"type":41,"tag":148,"props":223,"children":224},{},[225,236],{"type":41,"tag":65,"props":226,"children":229},{"href":227,"rel":228},"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fsentry-python\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md",[69],[230],{"type":41,"tag":56,"props":231,"children":233},{"className":232},[],[234],{"type":47,"value":235},"sentry-python",{"type":47,"value":237}," — integration principles, user vs contributor setup",{"type":41,"tag":148,"props":239,"children":240},{},[241,252],{"type":41,"tag":65,"props":242,"children":245},{"href":243,"rel":244},"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fsentry-javascript\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md",[69],[246],{"type":41,"tag":56,"props":247,"children":249},{"className":248},[],[250],{"type":47,"value":251},"sentry-javascript",{"type":47,"value":253}," — Volta pin, monorepo workflow, draft PR rule",{"type":41,"tag":148,"props":255,"children":256},{},[257,268],{"type":41,"tag":65,"props":258,"children":261},{"href":259,"rel":260},"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fsentry-go\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md",[69],[262],{"type":41,"tag":56,"props":263,"children":265},{"className":264},[],[266],{"type":47,"value":267},"sentry-go",{"type":47,"value":269}," — LOGAF usage, craft release-notes requirement",{"type":41,"tag":148,"props":271,"children":272},{},[273,284],{"type":41,"tag":65,"props":274,"children":277},{"href":275,"rel":276},"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fsentry-cocoa\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md",[69],[278],{"type":41,"tag":56,"props":279,"children":281},{"className":280},[],[282],{"type":47,"value":283},"sentry-cocoa",{"type":47,"value":285}," — LOGAF with descriptions, copyright header rule",{"type":41,"tag":148,"props":287,"children":288},{},[289,300],{"type":41,"tag":65,"props":290,"children":293},{"href":291,"rel":292},"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fsentry-java\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md",[69],[294],{"type":41,"tag":56,"props":295,"children":297},{"className":296},[],[298],{"type":47,"value":299},"sentry-java",{"type":47,"value":301}," — API compatibility workflow, step-by-step setup",{"type":41,"tag":91,"props":303,"children":305},{"id":304},"_5-write-the-file",[306],{"type":47,"value":307},"5. Write the file",{"type":41,"tag":219,"props":309,"children":310},{},[311,316,321,346],{"type":41,"tag":148,"props":312,"children":313},{},[314],{"type":47,"value":315},"Follow the section order from the fetched template",{"type":41,"tag":148,"props":317,"children":318},{},[319],{"type":47,"value":320},"Append preserved SDK-specific sections after standard content",{"type":41,"tag":148,"props":322,"children":323},{},[324,326],{"type":47,"value":325},"Flag contradictions rather than removing:\n",{"type":41,"tag":98,"props":327,"children":331},{"className":328,"code":329,"language":330,"meta":106,"style":106},"language-html shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003C!-- TODO: review against standard: https:\u002F\u002Fdevelop.sentry.dev\u002F... -->\n","html",[332],{"type":41,"tag":56,"props":333,"children":334},{"__ignoreMap":106},[335],{"type":41,"tag":336,"props":337,"children":340},"span",{"class":338,"line":339},"line",1,[341],{"type":41,"tag":336,"props":342,"children":344},{"style":343},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[345],{"type":47,"value":329},{"type":41,"tag":148,"props":347,"children":348},{},[349],{"type":47,"value":350},"If file would exceed 200 lines, move verbose steps to a linked doc and reference it",{"type":41,"tag":91,"props":352,"children":354},{"id":353},"_6-verify",[355],{"type":47,"value":356},"6. Verify",{"type":41,"tag":50,"props":358,"children":359},{},[360,362,368],{"type":47,"value":361},"Grep for ",{"type":41,"tag":56,"props":363,"children":365},{"className":364},[],[366],{"type":47,"value":367},"\\[",{"type":47,"value":369}," — no unreplaced placeholder tokens should remain.",{"type":41,"tag":84,"props":371,"children":373},{"id":372},"quality-checklist",[374],{"type":47,"value":375},"Quality Checklist",{"type":41,"tag":219,"props":377,"children":380},{"className":378},[379],"contains-task-list",[381,402,411,420,429,438,447],{"type":41,"tag":148,"props":382,"children":385},{"className":383},[384],"task-list-item",[386,392,394,400],{"type":41,"tag":387,"props":388,"children":391},"input",{"disabled":389,"type":390},true,"checkbox",[],{"type":47,"value":393}," All ",{"type":41,"tag":56,"props":395,"children":397},{"className":396},[],[398],{"type":47,"value":399},"[placeholder]",{"type":47,"value":401}," values replaced with real content",{"type":41,"tag":148,"props":403,"children":405},{"className":404},[384],[406,409],{"type":41,"tag":387,"props":407,"children":408},{"disabled":389,"type":390},[],{"type":47,"value":410}," Commands verified against CI config or README",{"type":41,"tag":148,"props":412,"children":414},{"className":413},[384],[415,418],{"type":41,"tag":387,"props":416,"children":417},{"disabled":389,"type":390},[],{"type":47,"value":419}," Existing SDK-specific sections preserved",{"type":41,"tag":148,"props":421,"children":423},{"className":422},[384],[424,427],{"type":41,"tag":387,"props":425,"children":426},{"disabled":389,"type":390},[],{"type":47,"value":428}," Non-standard content flagged with TODO comments",{"type":41,"tag":148,"props":430,"children":432},{"className":431},[384],[433,436],{"type":41,"tag":387,"props":434,"children":435},{"disabled":389,"type":390},[],{"type":47,"value":437}," AI attribution section present",{"type":41,"tag":148,"props":439,"children":441},{"className":440},[384],[442,445],{"type":41,"tag":387,"props":443,"children":444},{"disabled":389,"type":390},[],{"type":47,"value":446}," File is 100–200 lines",{"type":41,"tag":148,"props":448,"children":450},{"className":449},[384],[451,454],{"type":41,"tag":387,"props":452,"children":453},{"disabled":389,"type":390},[],{"type":47,"value":455}," No links point to Notion or Linear",{"type":41,"tag":457,"props":458,"children":459},"style",{},[460],{"type":47,"value":461},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":463,"total":637},[464,489,503,516,528,545,561,575,585,596,606,624],{"slug":465,"name":465,"fn":466,"description":467,"org":468,"tags":469,"stars":486,"repoUrl":487,"updatedAt":488},"xcodebuildmcp","build and test Apple apps with XcodeBuildMCP","Official skill for XcodeBuildMCP. Use when doing iOS\u002FmacOS\u002FwatchOS\u002FtvOS\u002FvisionOS work (build, test, run, debug, log, UI automation).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[470,473,476,479,480,483],{"name":471,"slug":472,"type":16},"Debugging","debugging",{"name":474,"slug":475,"type":16},"iOS","ios",{"name":477,"slug":478,"type":16},"macOS","macos",{"name":9,"slug":8,"type":16},{"name":481,"slug":482,"type":16},"Testing","testing",{"name":484,"slug":485,"type":16},"Xcode","xcode",6176,"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002FXcodeBuildMCP","2026-04-06T18:13:34.8719",{"slug":490,"name":490,"fn":491,"description":492,"org":493,"tags":494,"stars":486,"repoUrl":487,"updatedAt":502},"xcodebuildmcp-cli","build and test Apple apps via CLI","Official skill for the XcodeBuildMCP CLI. Use when doing iOS\u002FmacOS\u002FwatchOS\u002FtvOS\u002FvisionOS work (build, test, run, debug, log, UI automation).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[495,498,499,500,501],{"name":496,"slug":497,"type":16},"CLI","cli",{"name":474,"slug":475,"type":16},{"name":477,"slug":478,"type":16},{"name":481,"slug":482,"type":16},{"name":484,"slug":485,"type":16},"2026-04-06T18:13:36.13414",{"slug":504,"name":504,"fn":505,"description":506,"org":507,"tags":508,"stars":513,"repoUrl":514,"updatedAt":515},"agents-md","maintain project instruction files","Creates and maintains concise AGENTS.md and CLAUDE.md project instruction files. Use when asked to create AGENTS.md, update AGENTS.md, maintain agent docs, set up CLAUDE.md, document repository agent conventions, or keep coding-agent instructions minimal and reference-backed.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[509,510],{"name":18,"slug":19,"type":16},{"name":511,"slug":512,"type":16},"Engineering","engineering",861,"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskills","2026-05-15T06:16:29.695991",{"slug":517,"name":517,"fn":518,"description":519,"org":520,"tags":521,"stars":513,"repoUrl":514,"updatedAt":527},"blog-writing-guide","write and review engineering blog posts","Write, review, and improve blog posts for the Sentry engineering blog following Sentry's specific writing standards, voice, and quality bar. Use this skill whenever someone asks to write a blog post, draft a technical article, review blog content, improve a draft, write a product announcement, create an engineering deep-dive, or produce any written content destined for the Sentry blog or developer audience. Also trigger when the user mentions \"blog post,\" \"blog draft,\" \"write-up,\" \"announcement post,\" \"engineering post,\" \"deep dive,\" \"postmortem,\" or asks for help with technical writing for Sentry. Even if the user just says \"help me write about [feature\u002Ftopic]\" — if it sounds like it could become a Sentry blog post, use this skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[522,525,526],{"name":523,"slug":524,"type":16},"Communications","communications",{"name":9,"slug":8,"type":16},{"name":21,"slug":22,"type":16},"2026-05-15T06:16:33.38217",{"slug":529,"name":529,"fn":530,"description":531,"org":532,"tags":533,"stars":513,"repoUrl":514,"updatedAt":544},"brand-guidelines","write copy following Sentry brand guidelines","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.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[534,537,540,541],{"name":535,"slug":536,"type":16},"Branding","branding",{"name":538,"slug":539,"type":16},"Content Creation","content-creation",{"name":9,"slug":8,"type":16},{"name":542,"slug":543,"type":16},"UX Copy","ux-copy","2026-05-15T06:16:22.395707",{"slug":546,"name":546,"fn":547,"description":548,"org":549,"tags":550,"stars":513,"repoUrl":514,"updatedAt":560},"claude-settings-audit","generate Claude Code settings permissions","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.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[551,554,557],{"name":552,"slug":553,"type":16},"Claude Code","claude-code",{"name":555,"slug":556,"type":16},"Configuration","configuration",{"name":558,"slug":559,"type":16},"Security","security","2026-05-15T06:16:44.335977",{"slug":562,"name":562,"fn":563,"description":564,"org":565,"tags":566,"stars":513,"repoUrl":514,"updatedAt":574},"code-review","perform code reviews for Sentry projects","Perform code reviews following Sentry engineering practices. Use when reviewing pull requests, examining code changes, or providing feedback on code quality. Covers security, performance, testing, and design review.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[567,569,570,573],{"name":568,"slug":562,"type":16},"Code Review",{"name":511,"slug":512,"type":16},{"name":571,"slug":572,"type":16},"Performance","performance",{"name":558,"slug":559,"type":16},"2026-05-15T06:16:35.824864",{"slug":576,"name":576,"fn":577,"description":578,"org":579,"tags":580,"stars":513,"repoUrl":514,"updatedAt":584},"code-simplifier","simplify and refine source code","Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality. Use when asked to \"simplify code\", \"clean up code\", \"refactor for clarity\", \"improve readability\", or review recently modified code for elegance. Focuses on project-specific best practices.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[581],{"name":582,"slug":583,"type":16},"Code Analysis","code-analysis","2026-05-15T06:16:32.127981",{"slug":586,"name":586,"fn":587,"description":588,"org":589,"tags":590,"stars":513,"repoUrl":514,"updatedAt":595},"commit","create commits with Sentry conventions","Use for every request to commit changes or draft a commit message. Creates Sentry-style conventional commits with issue references.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[591,594],{"name":592,"slug":593,"type":16},"Git","git",{"name":9,"slug":8,"type":16},"2026-07-18T05:15:10.723937",{"slug":597,"name":597,"fn":598,"description":599,"org":600,"tags":601,"stars":513,"repoUrl":514,"updatedAt":605},"create-branch","create git branches for Sentry workflows","Create a git branch following Sentry naming conventions. Use when asked to \"create a branch\", \"new branch\", \"start a branch\", \"make a branch\", \"switch to a new branch\", or when starting new work on the default branch.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[602,603,604],{"name":511,"slug":512,"type":16},{"name":592,"slug":593,"type":16},{"name":9,"slug":8,"type":16},"2026-05-15T06:16:39.458431",{"slug":607,"name":607,"fn":608,"description":609,"org":610,"tags":611,"stars":513,"repoUrl":514,"updatedAt":623},"django-access-review","review Django access control and IDOR","Django access control and IDOR security review. Use when reviewing Django views, DRF viewsets, ORM queries, or any Python\u002FDjango code handling user authorization. Trigger keywords: \"IDOR\", \"access control\", \"authorization\", \"Django permissions\", \"object permissions\", \"tenant isolation\", \"broken access\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[612,615,616,619,622],{"name":613,"slug":614,"type":16},"Access Control","access-control",{"name":582,"slug":583,"type":16},{"name":617,"slug":618,"type":16},"Django","django",{"name":620,"slug":621,"type":16},"Python","python",{"name":558,"slug":559,"type":16},"2026-05-15T06:16:43.098698",{"slug":625,"name":625,"fn":626,"description":627,"org":628,"tags":629,"stars":513,"repoUrl":514,"updatedAt":636},"django-perf-review","review and optimize Django performance","Django performance code review. Use when asked to \"review Django performance\", \"find N+1 queries\", \"optimize Django\", \"check queryset performance\", \"database performance\", \"Django ORM issues\", or audit Django code for performance problems.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[630,631,634,635],{"name":568,"slug":562,"type":16},{"name":632,"slug":633,"type":16},"Database","database",{"name":617,"slug":618,"type":16},{"name":571,"slug":572,"type":16},"2026-05-15T06:16:24.832813",88,{"items":639,"total":737},[640,647,662,679,697,708,721],{"slug":4,"name":4,"fn":5,"description":6,"org":641,"tags":642,"stars":24,"repoUrl":25,"updatedAt":26},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[643,644,645,646],{"name":18,"slug":19,"type":16},{"name":14,"slug":15,"type":16},{"name":9,"slug":8,"type":16},{"name":21,"slug":22,"type":16},{"slug":648,"name":648,"fn":649,"description":650,"org":651,"tags":652,"stars":24,"repoUrl":25,"updatedAt":661},"daily-update","generate async daily standup updates","Generate a formatted async daily standup message for the Sentry SDK team channel. Use when asked to create a \"daily update\", \"async daily\", \"standup update\", or \"async team update\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[653,654,657,658],{"name":523,"slug":524,"type":16},{"name":655,"slug":656,"type":16},"Productivity","productivity",{"name":9,"slug":8,"type":16},{"name":659,"slug":660,"type":16},"Standup","standup","2026-04-06T18:14:53.472546",{"slug":663,"name":663,"fn":664,"description":665,"org":666,"tags":667,"stars":24,"repoUrl":25,"updatedAt":678},"linear-initiative","create Linear projects from initiatives","Creates Linear projects for SDK repositories based on a Linear initiative. Use when rolling out a feature across multiple SDKs, creating SDK projects from initiative, or setting up cross-SDK alignment work.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[668,671,674,677],{"name":669,"slug":670,"type":16},"Operations","operations",{"name":672,"slug":673,"type":16},"Product Management","product-management",{"name":675,"slug":676,"type":16},"SDK","sdk",{"name":9,"slug":8,"type":16},"2026-04-06T18:14:54.704594",{"slug":680,"name":680,"fn":681,"description":682,"org":683,"tags":684,"stars":24,"repoUrl":25,"updatedAt":696},"linear-sdk-telemetry-labeler","classify and label Linear issues with telemetry data","Classify and apply SDK Telemetry labels to Linear issues based on their title and description. Use when triaging issues related to SDK telemetry signals: errors, traces, spans, profiles, replays, logs, metrics, cron checks, client reports, user feedbacks, or attachments. Triggers: \"sdk telemetry label\", \"telemetry labeler\", \"label telemetry issues\", \"tag telemetry\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[685,688,691,692,693],{"name":686,"slug":687,"type":16},"Linear","linear",{"name":689,"slug":690,"type":16},"Observability","observability",{"name":675,"slug":676,"type":16},{"name":9,"slug":8,"type":16},{"name":694,"slug":695,"type":16},"Triage","triage","2026-04-06T18:15:00.931727",{"slug":698,"name":698,"fn":699,"description":700,"org":701,"tags":702,"stars":24,"repoUrl":25,"updatedAt":707},"linear-type-labeler","classify and label Linear issues","Classify and apply Type labels to Linear issues based on their title and description.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[703,704,705,706],{"name":669,"slug":670,"type":16},{"name":655,"slug":656,"type":16},{"name":9,"slug":8,"type":16},{"name":694,"slug":695,"type":16},"2026-04-06T18:14:58.40989",{"slug":709,"name":709,"fn":710,"description":711,"org":712,"tags":713,"stars":24,"repoUrl":25,"updatedAt":720},"sdk-feature-implementation","implement features across Sentry SDKs","Implement a feature across Sentry SDK repositories by spawning parallel agents. Use when you have Linear initiatives\u002Fprojects\u002Fissues and want to create draft PRs. Triggers on \"implement across SDKs\", \"spawn SDK agents\", \"SDK implementation\", \"parallel SDK implementation\", \"continue SDK rollout\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[714,715,718,719],{"name":669,"slug":670,"type":16},{"name":716,"slug":717,"type":16},"Pull Requests","pull-requests",{"name":675,"slug":676,"type":16},{"name":9,"slug":8,"type":16},"2026-04-06T18:14:55.930879",{"slug":722,"name":722,"fn":723,"description":724,"org":725,"tags":726,"stars":24,"repoUrl":25,"updatedAt":736},"span-convention-review","review OTel tracing span changes","Review OpenTelemetry tracing span changes in SDK repositories for conformance to Sentry Conventions and OTel Semantic Conventions. Use when reviewing span instrumentation, \"review spans\", \"check span conventions\", \"span review\", \"OTel span check\", \"tracing convention review\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[727,728,729,732,733],{"name":568,"slug":562,"type":16},{"name":689,"slug":690,"type":16},{"name":730,"slug":731,"type":16},"OpenTelemetry","opentelemetry",{"name":9,"slug":8,"type":16},{"name":734,"slug":735,"type":16},"Tracing","tracing","2026-04-06T18:14:59.655998",7]