[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-sentry-agents-md":3,"mdc--uuh9o1-key":32,"related-org-sentry-agents-md":1023,"related-repo-sentry-agents-md":1193},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":20,"repoUrl":21,"updatedAt":22,"license":23,"forks":24,"topics":25,"repo":27,"sourceUrl":30,"mdContent":31},"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},"sentry","Sentry","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fsentry.png","getsentry",[13,17],{"name":14,"slug":15,"type":16},"Documentation","documentation","tag",{"name":18,"slug":19,"type":16},"Engineering","engineering",861,"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskills","2026-05-15T06:16:29.695991",null,45,[26],"tag-production",{"repoUrl":21,"stars":20,"forks":24,"topics":28,"description":29},[26],"Agent Skills used by the Sentry team for development.","https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskills\u002Ftree\u002FHEAD\u002Fskills\u002Fagents-md","---\nname: agents-md\ndescription: 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.\n---\n\n# Maintaining AGENTS.md\n\nGoal: concise, actionable agent instructions. Target under 60 lines; never exceed 100.\n\n## Workflow\n\n1. Inspect before writing:\n   - package manager: lock files and manifests\n   - commands: `package.json`, `Makefile`, task runners, CI workflows\n   - docs\u002Fspecs\u002Fpolicies: `README.md`, `CONTRIBUTING.md`, `docs\u002F`, `specs\u002F`, `policies\u002F`, `SECURITY.md`, `.github\u002F`\n   - conventions: current code patterns, test layout, generated files, legacy areas to avoid\n2. Choose scope:\n   - root `AGENTS.md`: repo-wide defaults\n   - nested `AGENTS.md`: only when a subtree has different commands or rules\n   - closest instruction file wins; keep narrower files shorter than root files\n3. Write the smallest useful file.\n4. Verify exact paths and commands exist.\n\n## File Setup\n\n- Create `AGENTS.md` at the repository root.\n- If a Claude-compatible entrypoint is required, symlink `CLAUDE.md` to `AGENTS.md`.\n- Do not maintain divergent `AGENTS.md` and `CLAUDE.md` copies.\n\n## Default Sections\n\nUse only sections that add non-obvious value.\n\n````markdown\n# Agent Instructions\n\n## Package Manager\n- Use **pnpm**: `pnpm install`\n\n## Commands\n| Task | Command |\n|------|---------|\n| Test file | `pnpm vitest run path\u002Fto\u002Ffile.test.ts` |\n| Lint file | `pnpm eslint path\u002Fto\u002Ffile.ts` |\n\n## External References\n| Need | File |\n|------|------|\n| Setup | `CONTRIBUTING.md` |\n| Architecture | `docs\u002Farchitecture.md` |\n| Security policy | `SECURITY.md` |\n\n## Key Conventions\n- Generated files: update with `pnpm generate`; do not edit by hand.\n\n## Commit Attribution\nAI commits MUST include:\n```\nCo-Authored-By: (the agent's name and attribution byline)\n```\n````\n\n## Writing Rules\n\n- Use headings, bullets, and tables; avoid paragraphs.\n- Use repo-relative paths; avoid vague references like \"see docs\".\n- Reference existing docs\u002Fspecs\u002Fpolicies instead of copying them.\n- List exact external files for setup, architecture, API specs, security, release, and policy docs when they exist.\n- Prefer file-scoped test\u002Flint\u002Ftypecheck commands; include full builds only when no narrower command exists.\n- Put commands in tables when there is more than one.\n- Keep one rule per bullet.\n- Keep rationale out unless it prevents a likely mistake.\n- Do not restate linter, formatter, or typechecker config.\n- Do not list installed skills or plugins.\n- Do not include generic quality slogans.\n\n## External Reference Rules\n\nGood:\n\n```markdown\n## External References\n| Need | File |\n|------|------|\n| API contract | `docs\u002Fapi.md` |\n| Release process | `docs\u002Freleasing.md` |\n```\n\n## Anti-Patterns\n\n- welcome text, intros, conclusions, or pleasantries\n- long prose explaining why instructions matter\n- duplicated content from `README.md`, `CONTRIBUTING.md`, or policy docs\n- project-wide commands when file-scoped commands are available\n- nested `AGENTS.md` files that repeat root instructions\n",{"data":33,"body":34},{"name":4,"description":6},{"type":35,"children":36},"root",[37,46,52,59,206,212,266,272,277,775,781,839,845,850,964,970,1017],{"type":38,"tag":39,"props":40,"children":42},"element","h1",{"id":41},"maintaining-agentsmd",[43],{"type":44,"value":45},"text","Maintaining AGENTS.md",{"type":38,"tag":47,"props":48,"children":49},"p",{},[50],{"type":44,"value":51},"Goal: concise, actionable agent instructions. Target under 60 lines; never exceed 100.",{"type":38,"tag":53,"props":54,"children":56},"h2",{"id":55},"workflow",[57],{"type":44,"value":58},"Workflow",{"type":38,"tag":60,"props":61,"children":62},"ol",{},[63,158,196,201],{"type":38,"tag":64,"props":65,"children":66},"li",{},[67,69],{"type":44,"value":68},"Inspect before writing:\n",{"type":38,"tag":70,"props":71,"children":72},"ul",{},[73,78,100,153],{"type":38,"tag":64,"props":74,"children":75},{},[76],{"type":44,"value":77},"package manager: lock files and manifests",{"type":38,"tag":64,"props":79,"children":80},{},[81,83,90,92,98],{"type":44,"value":82},"commands: ",{"type":38,"tag":84,"props":85,"children":87},"code",{"className":86},[],[88],{"type":44,"value":89},"package.json",{"type":44,"value":91},", ",{"type":38,"tag":84,"props":93,"children":95},{"className":94},[],[96],{"type":44,"value":97},"Makefile",{"type":44,"value":99},", task runners, CI workflows",{"type":38,"tag":64,"props":101,"children":102},{},[103,105,111,112,118,119,125,126,132,133,139,140,146,147],{"type":44,"value":104},"docs\u002Fspecs\u002Fpolicies: ",{"type":38,"tag":84,"props":106,"children":108},{"className":107},[],[109],{"type":44,"value":110},"README.md",{"type":44,"value":91},{"type":38,"tag":84,"props":113,"children":115},{"className":114},[],[116],{"type":44,"value":117},"CONTRIBUTING.md",{"type":44,"value":91},{"type":38,"tag":84,"props":120,"children":122},{"className":121},[],[123],{"type":44,"value":124},"docs\u002F",{"type":44,"value":91},{"type":38,"tag":84,"props":127,"children":129},{"className":128},[],[130],{"type":44,"value":131},"specs\u002F",{"type":44,"value":91},{"type":38,"tag":84,"props":134,"children":136},{"className":135},[],[137],{"type":44,"value":138},"policies\u002F",{"type":44,"value":91},{"type":38,"tag":84,"props":141,"children":143},{"className":142},[],[144],{"type":44,"value":145},"SECURITY.md",{"type":44,"value":91},{"type":38,"tag":84,"props":148,"children":150},{"className":149},[],[151],{"type":44,"value":152},".github\u002F",{"type":38,"tag":64,"props":154,"children":155},{},[156],{"type":44,"value":157},"conventions: current code patterns, test layout, generated files, legacy areas to avoid",{"type":38,"tag":64,"props":159,"children":160},{},[161,163],{"type":44,"value":162},"Choose scope:\n",{"type":38,"tag":70,"props":164,"children":165},{},[166,179,191],{"type":38,"tag":64,"props":167,"children":168},{},[169,171,177],{"type":44,"value":170},"root ",{"type":38,"tag":84,"props":172,"children":174},{"className":173},[],[175],{"type":44,"value":176},"AGENTS.md",{"type":44,"value":178},": repo-wide defaults",{"type":38,"tag":64,"props":180,"children":181},{},[182,184,189],{"type":44,"value":183},"nested ",{"type":38,"tag":84,"props":185,"children":187},{"className":186},[],[188],{"type":44,"value":176},{"type":44,"value":190},": only when a subtree has different commands or rules",{"type":38,"tag":64,"props":192,"children":193},{},[194],{"type":44,"value":195},"closest instruction file wins; keep narrower files shorter than root files",{"type":38,"tag":64,"props":197,"children":198},{},[199],{"type":44,"value":200},"Write the smallest useful file.",{"type":38,"tag":64,"props":202,"children":203},{},[204],{"type":44,"value":205},"Verify exact paths and commands exist.",{"type":38,"tag":53,"props":207,"children":209},{"id":208},"file-setup",[210],{"type":44,"value":211},"File Setup",{"type":38,"tag":70,"props":213,"children":214},{},[215,227,247],{"type":38,"tag":64,"props":216,"children":217},{},[218,220,225],{"type":44,"value":219},"Create ",{"type":38,"tag":84,"props":221,"children":223},{"className":222},[],[224],{"type":44,"value":176},{"type":44,"value":226}," at the repository root.",{"type":38,"tag":64,"props":228,"children":229},{},[230,232,238,240,245],{"type":44,"value":231},"If a Claude-compatible entrypoint is required, symlink ",{"type":38,"tag":84,"props":233,"children":235},{"className":234},[],[236],{"type":44,"value":237},"CLAUDE.md",{"type":44,"value":239}," to ",{"type":38,"tag":84,"props":241,"children":243},{"className":242},[],[244],{"type":44,"value":176},{"type":44,"value":246},".",{"type":38,"tag":64,"props":248,"children":249},{},[250,252,257,259,264],{"type":44,"value":251},"Do not maintain divergent ",{"type":38,"tag":84,"props":253,"children":255},{"className":254},[],[256],{"type":44,"value":176},{"type":44,"value":258}," and ",{"type":38,"tag":84,"props":260,"children":262},{"className":261},[],[263],{"type":44,"value":237},{"type":44,"value":265}," copies.",{"type":38,"tag":53,"props":267,"children":269},{"id":268},"default-sections",[270],{"type":44,"value":271},"Default Sections",{"type":38,"tag":47,"props":273,"children":274},{},[275],{"type":44,"value":276},"Use only sections that add non-obvious value.",{"type":38,"tag":278,"props":279,"children":284},"pre",{"className":280,"code":281,"language":282,"meta":283,"style":283},"language-markdown shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Agent Instructions\n\n## Package Manager\n- Use **pnpm**: `pnpm install`\n\n## Commands\n| Task | Command |\n|------|---------|\n| Test file | `pnpm vitest run path\u002Fto\u002Ffile.test.ts` |\n| Lint file | `pnpm eslint path\u002Fto\u002Ffile.ts` |\n\n## External References\n| Need | File |\n|------|------|\n| Setup | `CONTRIBUTING.md` |\n| Architecture | `docs\u002Farchitecture.md` |\n| Security policy | `SECURITY.md` |\n\n## Key Conventions\n- Generated files: update with `pnpm generate`; do not edit by hand.\n\n## Commit Attribution\nAI commits MUST include:\n```\nCo-Authored-By: (the agent's name and attribution byline)\n```\n","markdown","",[285],{"type":38,"tag":84,"props":286,"children":287},{"__ignoreMap":283},[288,306,316,330,382,390,403,431,440,476,510,518,531,557,566,599,633,666,674,687,718,726,739,748,757,767],{"type":38,"tag":289,"props":290,"children":293},"span",{"class":291,"line":292},"line",1,[294,300],{"type":38,"tag":289,"props":295,"children":297},{"style":296},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[298],{"type":44,"value":299},"# ",{"type":38,"tag":289,"props":301,"children":303},{"style":302},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[304],{"type":44,"value":305},"Agent Instructions\n",{"type":38,"tag":289,"props":307,"children":309},{"class":291,"line":308},2,[310],{"type":38,"tag":289,"props":311,"children":313},{"emptyLinePlaceholder":312},true,[314],{"type":44,"value":315},"\n",{"type":38,"tag":289,"props":317,"children":319},{"class":291,"line":318},3,[320,325],{"type":38,"tag":289,"props":321,"children":322},{"style":296},[323],{"type":44,"value":324},"## ",{"type":38,"tag":289,"props":326,"children":327},{"style":302},[328],{"type":44,"value":329},"Package Manager\n",{"type":38,"tag":289,"props":331,"children":333},{"class":291,"line":332},4,[334,339,345,351,357,361,366,371,377],{"type":38,"tag":289,"props":335,"children":336},{"style":296},[337],{"type":44,"value":338},"-",{"type":38,"tag":289,"props":340,"children":342},{"style":341},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[343],{"type":44,"value":344}," Use ",{"type":38,"tag":289,"props":346,"children":348},{"style":347},"--shiki-light:#39ADB5;--shiki-light-font-weight:bold;--shiki-default:#89DDFF;--shiki-default-font-weight:bold;--shiki-dark:#89DDFF;--shiki-dark-font-weight:bold",[349],{"type":44,"value":350},"**",{"type":38,"tag":289,"props":352,"children":354},{"style":353},"--shiki-light:#E53935;--shiki-light-font-weight:bold;--shiki-default:#F07178;--shiki-default-font-weight:bold;--shiki-dark:#F07178;--shiki-dark-font-weight:bold",[355],{"type":44,"value":356},"pnpm",{"type":38,"tag":289,"props":358,"children":359},{"style":347},[360],{"type":44,"value":350},{"type":38,"tag":289,"props":362,"children":363},{"style":341},[364],{"type":44,"value":365},": ",{"type":38,"tag":289,"props":367,"children":368},{"style":296},[369],{"type":44,"value":370},"`",{"type":38,"tag":289,"props":372,"children":374},{"style":373},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[375],{"type":44,"value":376},"pnpm install",{"type":38,"tag":289,"props":378,"children":379},{"style":296},[380],{"type":44,"value":381},"`\n",{"type":38,"tag":289,"props":383,"children":385},{"class":291,"line":384},5,[386],{"type":38,"tag":289,"props":387,"children":388},{"emptyLinePlaceholder":312},[389],{"type":44,"value":315},{"type":38,"tag":289,"props":391,"children":393},{"class":291,"line":392},6,[394,398],{"type":38,"tag":289,"props":395,"children":396},{"style":296},[397],{"type":44,"value":324},{"type":38,"tag":289,"props":399,"children":400},{"style":302},[401],{"type":44,"value":402},"Commands\n",{"type":38,"tag":289,"props":404,"children":406},{"class":291,"line":405},7,[407,412,417,421,426],{"type":38,"tag":289,"props":408,"children":409},{"style":296},[410],{"type":44,"value":411},"|",{"type":38,"tag":289,"props":413,"children":414},{"style":341},[415],{"type":44,"value":416}," Task ",{"type":38,"tag":289,"props":418,"children":419},{"style":296},[420],{"type":44,"value":411},{"type":38,"tag":289,"props":422,"children":423},{"style":341},[424],{"type":44,"value":425}," Command ",{"type":38,"tag":289,"props":427,"children":428},{"style":296},[429],{"type":44,"value":430},"|\n",{"type":38,"tag":289,"props":432,"children":434},{"class":291,"line":433},8,[435],{"type":38,"tag":289,"props":436,"children":437},{"style":296},[438],{"type":44,"value":439},"|------|---------|\n",{"type":38,"tag":289,"props":441,"children":443},{"class":291,"line":442},9,[444,448,453,457,462,467,471],{"type":38,"tag":289,"props":445,"children":446},{"style":296},[447],{"type":44,"value":411},{"type":38,"tag":289,"props":449,"children":450},{"style":341},[451],{"type":44,"value":452}," Test file ",{"type":38,"tag":289,"props":454,"children":455},{"style":296},[456],{"type":44,"value":411},{"type":38,"tag":289,"props":458,"children":459},{"style":296},[460],{"type":44,"value":461}," `",{"type":38,"tag":289,"props":463,"children":464},{"style":373},[465],{"type":44,"value":466},"pnpm vitest run path\u002Fto\u002Ffile.test.ts",{"type":38,"tag":289,"props":468,"children":469},{"style":296},[470],{"type":44,"value":370},{"type":38,"tag":289,"props":472,"children":473},{"style":296},[474],{"type":44,"value":475}," |\n",{"type":38,"tag":289,"props":477,"children":479},{"class":291,"line":478},10,[480,484,489,493,497,502,506],{"type":38,"tag":289,"props":481,"children":482},{"style":296},[483],{"type":44,"value":411},{"type":38,"tag":289,"props":485,"children":486},{"style":341},[487],{"type":44,"value":488}," Lint file ",{"type":38,"tag":289,"props":490,"children":491},{"style":296},[492],{"type":44,"value":411},{"type":38,"tag":289,"props":494,"children":495},{"style":296},[496],{"type":44,"value":461},{"type":38,"tag":289,"props":498,"children":499},{"style":373},[500],{"type":44,"value":501},"pnpm eslint path\u002Fto\u002Ffile.ts",{"type":38,"tag":289,"props":503,"children":504},{"style":296},[505],{"type":44,"value":370},{"type":38,"tag":289,"props":507,"children":508},{"style":296},[509],{"type":44,"value":475},{"type":38,"tag":289,"props":511,"children":513},{"class":291,"line":512},11,[514],{"type":38,"tag":289,"props":515,"children":516},{"emptyLinePlaceholder":312},[517],{"type":44,"value":315},{"type":38,"tag":289,"props":519,"children":521},{"class":291,"line":520},12,[522,526],{"type":38,"tag":289,"props":523,"children":524},{"style":296},[525],{"type":44,"value":324},{"type":38,"tag":289,"props":527,"children":528},{"style":302},[529],{"type":44,"value":530},"External References\n",{"type":38,"tag":289,"props":532,"children":534},{"class":291,"line":533},13,[535,539,544,548,553],{"type":38,"tag":289,"props":536,"children":537},{"style":296},[538],{"type":44,"value":411},{"type":38,"tag":289,"props":540,"children":541},{"style":341},[542],{"type":44,"value":543}," Need ",{"type":38,"tag":289,"props":545,"children":546},{"style":296},[547],{"type":44,"value":411},{"type":38,"tag":289,"props":549,"children":550},{"style":341},[551],{"type":44,"value":552}," File ",{"type":38,"tag":289,"props":554,"children":555},{"style":296},[556],{"type":44,"value":430},{"type":38,"tag":289,"props":558,"children":560},{"class":291,"line":559},14,[561],{"type":38,"tag":289,"props":562,"children":563},{"style":296},[564],{"type":44,"value":565},"|------|------|\n",{"type":38,"tag":289,"props":567,"children":569},{"class":291,"line":568},15,[570,574,579,583,587,591,595],{"type":38,"tag":289,"props":571,"children":572},{"style":296},[573],{"type":44,"value":411},{"type":38,"tag":289,"props":575,"children":576},{"style":341},[577],{"type":44,"value":578}," Setup ",{"type":38,"tag":289,"props":580,"children":581},{"style":296},[582],{"type":44,"value":411},{"type":38,"tag":289,"props":584,"children":585},{"style":296},[586],{"type":44,"value":461},{"type":38,"tag":289,"props":588,"children":589},{"style":373},[590],{"type":44,"value":117},{"type":38,"tag":289,"props":592,"children":593},{"style":296},[594],{"type":44,"value":370},{"type":38,"tag":289,"props":596,"children":597},{"style":296},[598],{"type":44,"value":475},{"type":38,"tag":289,"props":600,"children":602},{"class":291,"line":601},16,[603,607,612,616,620,625,629],{"type":38,"tag":289,"props":604,"children":605},{"style":296},[606],{"type":44,"value":411},{"type":38,"tag":289,"props":608,"children":609},{"style":341},[610],{"type":44,"value":611}," Architecture ",{"type":38,"tag":289,"props":613,"children":614},{"style":296},[615],{"type":44,"value":411},{"type":38,"tag":289,"props":617,"children":618},{"style":296},[619],{"type":44,"value":461},{"type":38,"tag":289,"props":621,"children":622},{"style":373},[623],{"type":44,"value":624},"docs\u002Farchitecture.md",{"type":38,"tag":289,"props":626,"children":627},{"style":296},[628],{"type":44,"value":370},{"type":38,"tag":289,"props":630,"children":631},{"style":296},[632],{"type":44,"value":475},{"type":38,"tag":289,"props":634,"children":636},{"class":291,"line":635},17,[637,641,646,650,654,658,662],{"type":38,"tag":289,"props":638,"children":639},{"style":296},[640],{"type":44,"value":411},{"type":38,"tag":289,"props":642,"children":643},{"style":341},[644],{"type":44,"value":645}," Security policy ",{"type":38,"tag":289,"props":647,"children":648},{"style":296},[649],{"type":44,"value":411},{"type":38,"tag":289,"props":651,"children":652},{"style":296},[653],{"type":44,"value":461},{"type":38,"tag":289,"props":655,"children":656},{"style":373},[657],{"type":44,"value":145},{"type":38,"tag":289,"props":659,"children":660},{"style":296},[661],{"type":44,"value":370},{"type":38,"tag":289,"props":663,"children":664},{"style":296},[665],{"type":44,"value":475},{"type":38,"tag":289,"props":667,"children":669},{"class":291,"line":668},18,[670],{"type":38,"tag":289,"props":671,"children":672},{"emptyLinePlaceholder":312},[673],{"type":44,"value":315},{"type":38,"tag":289,"props":675,"children":677},{"class":291,"line":676},19,[678,682],{"type":38,"tag":289,"props":679,"children":680},{"style":296},[681],{"type":44,"value":324},{"type":38,"tag":289,"props":683,"children":684},{"style":302},[685],{"type":44,"value":686},"Key Conventions\n",{"type":38,"tag":289,"props":688,"children":690},{"class":291,"line":689},20,[691,695,700,704,709,713],{"type":38,"tag":289,"props":692,"children":693},{"style":296},[694],{"type":44,"value":338},{"type":38,"tag":289,"props":696,"children":697},{"style":341},[698],{"type":44,"value":699}," Generated files: update with ",{"type":38,"tag":289,"props":701,"children":702},{"style":296},[703],{"type":44,"value":370},{"type":38,"tag":289,"props":705,"children":706},{"style":373},[707],{"type":44,"value":708},"pnpm generate",{"type":38,"tag":289,"props":710,"children":711},{"style":296},[712],{"type":44,"value":370},{"type":38,"tag":289,"props":714,"children":715},{"style":341},[716],{"type":44,"value":717},"; do not edit by hand.\n",{"type":38,"tag":289,"props":719,"children":721},{"class":291,"line":720},21,[722],{"type":38,"tag":289,"props":723,"children":724},{"emptyLinePlaceholder":312},[725],{"type":44,"value":315},{"type":38,"tag":289,"props":727,"children":729},{"class":291,"line":728},22,[730,734],{"type":38,"tag":289,"props":731,"children":732},{"style":296},[733],{"type":44,"value":324},{"type":38,"tag":289,"props":735,"children":736},{"style":302},[737],{"type":44,"value":738},"Commit Attribution\n",{"type":38,"tag":289,"props":740,"children":742},{"class":291,"line":741},23,[743],{"type":38,"tag":289,"props":744,"children":745},{"style":341},[746],{"type":44,"value":747},"AI commits MUST include:\n",{"type":38,"tag":289,"props":749,"children":751},{"class":291,"line":750},24,[752],{"type":38,"tag":289,"props":753,"children":754},{"style":373},[755],{"type":44,"value":756},"```\n",{"type":38,"tag":289,"props":758,"children":760},{"class":291,"line":759},25,[761],{"type":38,"tag":289,"props":762,"children":764},{"style":763},"--shiki-light:#90A4AE90;--shiki-default:#EEFFFF90;--shiki-dark:#BABED890",[765],{"type":44,"value":766},"Co-Authored-By: (the agent's name and attribution byline)\n",{"type":38,"tag":289,"props":768,"children":770},{"class":291,"line":769},26,[771],{"type":38,"tag":289,"props":772,"children":773},{"style":373},[774],{"type":44,"value":756},{"type":38,"tag":53,"props":776,"children":778},{"id":777},"writing-rules",[779],{"type":44,"value":780},"Writing Rules",{"type":38,"tag":70,"props":782,"children":783},{},[784,789,794,799,804,809,814,819,824,829,834],{"type":38,"tag":64,"props":785,"children":786},{},[787],{"type":44,"value":788},"Use headings, bullets, and tables; avoid paragraphs.",{"type":38,"tag":64,"props":790,"children":791},{},[792],{"type":44,"value":793},"Use repo-relative paths; avoid vague references like \"see docs\".",{"type":38,"tag":64,"props":795,"children":796},{},[797],{"type":44,"value":798},"Reference existing docs\u002Fspecs\u002Fpolicies instead of copying them.",{"type":38,"tag":64,"props":800,"children":801},{},[802],{"type":44,"value":803},"List exact external files for setup, architecture, API specs, security, release, and policy docs when they exist.",{"type":38,"tag":64,"props":805,"children":806},{},[807],{"type":44,"value":808},"Prefer file-scoped test\u002Flint\u002Ftypecheck commands; include full builds only when no narrower command exists.",{"type":38,"tag":64,"props":810,"children":811},{},[812],{"type":44,"value":813},"Put commands in tables when there is more than one.",{"type":38,"tag":64,"props":815,"children":816},{},[817],{"type":44,"value":818},"Keep one rule per bullet.",{"type":38,"tag":64,"props":820,"children":821},{},[822],{"type":44,"value":823},"Keep rationale out unless it prevents a likely mistake.",{"type":38,"tag":64,"props":825,"children":826},{},[827],{"type":44,"value":828},"Do not restate linter, formatter, or typechecker config.",{"type":38,"tag":64,"props":830,"children":831},{},[832],{"type":44,"value":833},"Do not list installed skills or plugins.",{"type":38,"tag":64,"props":835,"children":836},{},[837],{"type":44,"value":838},"Do not include generic quality slogans.",{"type":38,"tag":53,"props":840,"children":842},{"id":841},"external-reference-rules",[843],{"type":44,"value":844},"External Reference Rules",{"type":38,"tag":47,"props":846,"children":847},{},[848],{"type":44,"value":849},"Good:",{"type":38,"tag":278,"props":851,"children":853},{"className":280,"code":852,"language":282,"meta":283,"style":283},"## External References\n| Need | File |\n|------|------|\n| API contract | `docs\u002Fapi.md` |\n| Release process | `docs\u002Freleasing.md` |\n",[854],{"type":38,"tag":84,"props":855,"children":856},{"__ignoreMap":283},[857,868,891,898,931],{"type":38,"tag":289,"props":858,"children":859},{"class":291,"line":292},[860,864],{"type":38,"tag":289,"props":861,"children":862},{"style":296},[863],{"type":44,"value":324},{"type":38,"tag":289,"props":865,"children":866},{"style":302},[867],{"type":44,"value":530},{"type":38,"tag":289,"props":869,"children":870},{"class":291,"line":308},[871,875,879,883,887],{"type":38,"tag":289,"props":872,"children":873},{"style":296},[874],{"type":44,"value":411},{"type":38,"tag":289,"props":876,"children":877},{"style":341},[878],{"type":44,"value":543},{"type":38,"tag":289,"props":880,"children":881},{"style":296},[882],{"type":44,"value":411},{"type":38,"tag":289,"props":884,"children":885},{"style":341},[886],{"type":44,"value":552},{"type":38,"tag":289,"props":888,"children":889},{"style":296},[890],{"type":44,"value":430},{"type":38,"tag":289,"props":892,"children":893},{"class":291,"line":318},[894],{"type":38,"tag":289,"props":895,"children":896},{"style":296},[897],{"type":44,"value":565},{"type":38,"tag":289,"props":899,"children":900},{"class":291,"line":332},[901,905,910,914,918,923,927],{"type":38,"tag":289,"props":902,"children":903},{"style":296},[904],{"type":44,"value":411},{"type":38,"tag":289,"props":906,"children":907},{"style":341},[908],{"type":44,"value":909}," API contract ",{"type":38,"tag":289,"props":911,"children":912},{"style":296},[913],{"type":44,"value":411},{"type":38,"tag":289,"props":915,"children":916},{"style":296},[917],{"type":44,"value":461},{"type":38,"tag":289,"props":919,"children":920},{"style":373},[921],{"type":44,"value":922},"docs\u002Fapi.md",{"type":38,"tag":289,"props":924,"children":925},{"style":296},[926],{"type":44,"value":370},{"type":38,"tag":289,"props":928,"children":929},{"style":296},[930],{"type":44,"value":475},{"type":38,"tag":289,"props":932,"children":933},{"class":291,"line":384},[934,938,943,947,951,956,960],{"type":38,"tag":289,"props":935,"children":936},{"style":296},[937],{"type":44,"value":411},{"type":38,"tag":289,"props":939,"children":940},{"style":341},[941],{"type":44,"value":942}," Release process ",{"type":38,"tag":289,"props":944,"children":945},{"style":296},[946],{"type":44,"value":411},{"type":38,"tag":289,"props":948,"children":949},{"style":296},[950],{"type":44,"value":461},{"type":38,"tag":289,"props":952,"children":953},{"style":373},[954],{"type":44,"value":955},"docs\u002Freleasing.md",{"type":38,"tag":289,"props":957,"children":958},{"style":296},[959],{"type":44,"value":370},{"type":38,"tag":289,"props":961,"children":962},{"style":296},[963],{"type":44,"value":475},{"type":38,"tag":53,"props":965,"children":967},{"id":966},"anti-patterns",[968],{"type":44,"value":969},"Anti-Patterns",{"type":38,"tag":70,"props":971,"children":972},{},[973,978,983,1001,1006],{"type":38,"tag":64,"props":974,"children":975},{},[976],{"type":44,"value":977},"welcome text, intros, conclusions, or pleasantries",{"type":38,"tag":64,"props":979,"children":980},{},[981],{"type":44,"value":982},"long prose explaining why instructions matter",{"type":38,"tag":64,"props":984,"children":985},{},[986,988,993,994,999],{"type":44,"value":987},"duplicated content from ",{"type":38,"tag":84,"props":989,"children":991},{"className":990},[],[992],{"type":44,"value":110},{"type":44,"value":91},{"type":38,"tag":84,"props":995,"children":997},{"className":996},[],[998],{"type":44,"value":117},{"type":44,"value":1000},", or policy docs",{"type":38,"tag":64,"props":1002,"children":1003},{},[1004],{"type":44,"value":1005},"project-wide commands when file-scoped commands are available",{"type":38,"tag":64,"props":1007,"children":1008},{},[1009,1010,1015],{"type":44,"value":183},{"type":38,"tag":84,"props":1011,"children":1013},{"className":1012},[],[1014],{"type":44,"value":176},{"type":44,"value":1016}," files that repeat root instructions",{"type":38,"tag":1018,"props":1019,"children":1020},"style",{},[1021],{"type":44,"value":1022},"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":1024,"total":1192},[1025,1050,1064,1069,1083,1100,1116,1130,1140,1151,1161,1179],{"slug":1026,"name":1026,"fn":1027,"description":1028,"org":1029,"tags":1030,"stars":1047,"repoUrl":1048,"updatedAt":1049},"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},[1031,1034,1037,1040,1041,1044],{"name":1032,"slug":1033,"type":16},"Debugging","debugging",{"name":1035,"slug":1036,"type":16},"iOS","ios",{"name":1038,"slug":1039,"type":16},"macOS","macos",{"name":9,"slug":8,"type":16},{"name":1042,"slug":1043,"type":16},"Testing","testing",{"name":1045,"slug":1046,"type":16},"Xcode","xcode",6176,"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002FXcodeBuildMCP","2026-04-06T18:13:34.8719",{"slug":1051,"name":1051,"fn":1052,"description":1053,"org":1054,"tags":1055,"stars":1047,"repoUrl":1048,"updatedAt":1063},"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},[1056,1059,1060,1061,1062],{"name":1057,"slug":1058,"type":16},"CLI","cli",{"name":1035,"slug":1036,"type":16},{"name":1038,"slug":1039,"type":16},{"name":1042,"slug":1043,"type":16},{"name":1045,"slug":1046,"type":16},"2026-04-06T18:13:36.13414",{"slug":4,"name":4,"fn":5,"description":6,"org":1065,"tags":1066,"stars":20,"repoUrl":21,"updatedAt":22},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1067,1068],{"name":14,"slug":15,"type":16},{"name":18,"slug":19,"type":16},{"slug":1070,"name":1070,"fn":1071,"description":1072,"org":1073,"tags":1074,"stars":20,"repoUrl":21,"updatedAt":1082},"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},[1075,1078,1079],{"name":1076,"slug":1077,"type":16},"Communications","communications",{"name":9,"slug":8,"type":16},{"name":1080,"slug":1081,"type":16},"Technical Writing","technical-writing","2026-05-15T06:16:33.38217",{"slug":1084,"name":1084,"fn":1085,"description":1086,"org":1087,"tags":1088,"stars":20,"repoUrl":21,"updatedAt":1099},"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},[1089,1092,1095,1096],{"name":1090,"slug":1091,"type":16},"Branding","branding",{"name":1093,"slug":1094,"type":16},"Content Creation","content-creation",{"name":9,"slug":8,"type":16},{"name":1097,"slug":1098,"type":16},"UX Copy","ux-copy","2026-05-15T06:16:22.395707",{"slug":1101,"name":1101,"fn":1102,"description":1103,"org":1104,"tags":1105,"stars":20,"repoUrl":21,"updatedAt":1115},"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},[1106,1109,1112],{"name":1107,"slug":1108,"type":16},"Claude Code","claude-code",{"name":1110,"slug":1111,"type":16},"Configuration","configuration",{"name":1113,"slug":1114,"type":16},"Security","security","2026-05-15T06:16:44.335977",{"slug":1117,"name":1117,"fn":1118,"description":1119,"org":1120,"tags":1121,"stars":20,"repoUrl":21,"updatedAt":1129},"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},[1122,1124,1125,1128],{"name":1123,"slug":1117,"type":16},"Code Review",{"name":18,"slug":19,"type":16},{"name":1126,"slug":1127,"type":16},"Performance","performance",{"name":1113,"slug":1114,"type":16},"2026-05-15T06:16:35.824864",{"slug":1131,"name":1131,"fn":1132,"description":1133,"org":1134,"tags":1135,"stars":20,"repoUrl":21,"updatedAt":1139},"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},[1136],{"name":1137,"slug":1138,"type":16},"Code Analysis","code-analysis","2026-05-15T06:16:32.127981",{"slug":1141,"name":1141,"fn":1142,"description":1143,"org":1144,"tags":1145,"stars":20,"repoUrl":21,"updatedAt":1150},"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},[1146,1149],{"name":1147,"slug":1148,"type":16},"Git","git",{"name":9,"slug":8,"type":16},"2026-07-18T05:15:10.723937",{"slug":1152,"name":1152,"fn":1153,"description":1154,"org":1155,"tags":1156,"stars":20,"repoUrl":21,"updatedAt":1160},"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},[1157,1158,1159],{"name":18,"slug":19,"type":16},{"name":1147,"slug":1148,"type":16},{"name":9,"slug":8,"type":16},"2026-05-15T06:16:39.458431",{"slug":1162,"name":1162,"fn":1163,"description":1164,"org":1165,"tags":1166,"stars":20,"repoUrl":21,"updatedAt":1178},"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},[1167,1170,1171,1174,1177],{"name":1168,"slug":1169,"type":16},"Access Control","access-control",{"name":1137,"slug":1138,"type":16},{"name":1172,"slug":1173,"type":16},"Django","django",{"name":1175,"slug":1176,"type":16},"Python","python",{"name":1113,"slug":1114,"type":16},"2026-05-15T06:16:43.098698",{"slug":1180,"name":1180,"fn":1181,"description":1182,"org":1183,"tags":1184,"stars":20,"repoUrl":21,"updatedAt":1191},"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},[1185,1186,1189,1190],{"name":1123,"slug":1117,"type":16},{"name":1187,"slug":1188,"type":16},"Database","database",{"name":1172,"slug":1173,"type":16},{"name":1126,"slug":1127,"type":16},"2026-05-15T06:16:24.832813",88,{"items":1194,"total":1235},[1195,1200,1206,1213,1219,1226,1230],{"slug":4,"name":4,"fn":5,"description":6,"org":1196,"tags":1197,"stars":20,"repoUrl":21,"updatedAt":22},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1198,1199],{"name":14,"slug":15,"type":16},{"name":18,"slug":19,"type":16},{"slug":1070,"name":1070,"fn":1071,"description":1072,"org":1201,"tags":1202,"stars":20,"repoUrl":21,"updatedAt":1082},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1203,1204,1205],{"name":1076,"slug":1077,"type":16},{"name":9,"slug":8,"type":16},{"name":1080,"slug":1081,"type":16},{"slug":1084,"name":1084,"fn":1085,"description":1086,"org":1207,"tags":1208,"stars":20,"repoUrl":21,"updatedAt":1099},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1209,1210,1211,1212],{"name":1090,"slug":1091,"type":16},{"name":1093,"slug":1094,"type":16},{"name":9,"slug":8,"type":16},{"name":1097,"slug":1098,"type":16},{"slug":1101,"name":1101,"fn":1102,"description":1103,"org":1214,"tags":1215,"stars":20,"repoUrl":21,"updatedAt":1115},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1216,1217,1218],{"name":1107,"slug":1108,"type":16},{"name":1110,"slug":1111,"type":16},{"name":1113,"slug":1114,"type":16},{"slug":1117,"name":1117,"fn":1118,"description":1119,"org":1220,"tags":1221,"stars":20,"repoUrl":21,"updatedAt":1129},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1222,1223,1224,1225],{"name":1123,"slug":1117,"type":16},{"name":18,"slug":19,"type":16},{"name":1126,"slug":1127,"type":16},{"name":1113,"slug":1114,"type":16},{"slug":1131,"name":1131,"fn":1132,"description":1133,"org":1227,"tags":1228,"stars":20,"repoUrl":21,"updatedAt":1139},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1229],{"name":1137,"slug":1138,"type":16},{"slug":1141,"name":1141,"fn":1142,"description":1143,"org":1231,"tags":1232,"stars":20,"repoUrl":21,"updatedAt":1150},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1233,1234],{"name":1147,"slug":1148,"type":16},{"name":9,"slug":8,"type":16},28]