{
  "markdown": "# Sentry Skills\n\n> [!NOTE]\n> For skills to help set up Sentry in your project or debug production issues, see https://github.com/getsentry/sentry-for-ai\n\nAgent skills for Sentry employees, following the [Agent Skills](https://agentskills.io) open format.\n\n## Installation\n\n### Claude Code\n\n```bash\nclaude plugin marketplace add getsentry/skills\nclaude plugin install sentry-skills@sentry-skills\n```\n\nIf you use `claude plugin marketplace add --sparse` for this repo, include `skills` and `agents` alongside `.claude-plugin` because the root plugin manifest loads repo-root `skills/` and `agents/`.\n\nRestart Claude Code after installation. Skills activate automatically when relevant.\n\n**Update:**\n\n```bash\nclaude plugin marketplace update\nclaude plugin update sentry-skills@sentry-skills\n```\n\nOr run `/plugin` to open the plugin manager.\n\n### Skills Package (skills.sh)\n\nFor agents supporting the [skills.sh](https://skills.sh) ecosystem:\n\n```bash\nnpx skills add getsentry/skills\n```\n\nWorks with Claude Code, Cursor, Cline, GitHub Copilot, and other compatible agents.\n\n## Available Skills\n\n| Skill | Description |\n|-------|-------------|\n| [agents-md](skills/agents-md/SKILL.md) | Create and maintain concise, reference-backed AGENTS.md and CLAUDE.md files. |\n| [blog-writing-guide](skills/blog-writing-guide/SKILL.md) | Write, review, and improve blog posts for the Sentry engineering blog following Sentry's specific writing standards, voice, and quality bar. |\n| [brand-guidelines](skills/brand-guidelines/SKILL.md) | Write copy following Sentry brand guidelines. |\n| [claude-settings-audit](skills/claude-settings-audit/SKILL.md) | Analyze a repository to generate recommended Claude Code settings.json permissions. |\n| [code-review](skills/code-review/SKILL.md) | Perform code reviews following Sentry engineering practices. |\n| [code-simplifier](skills/code-simplifier/SKILL.md) | Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality. |\n| [commit](skills/commit/SKILL.md) | ALWAYS use this skill when committing code changes — never commit directly without it. |\n| [create-branch](skills/create-branch/SKILL.md) | Create git branches following Sentry naming conventions. |\n| [django-access-review](skills/django-access-review/SKILL.md) | Django access control and IDOR security review. |\n| [django-perf-review](skills/django-perf-review/SKILL.md) | Django performance code review. |\n| [doc-coauthoring](skills/doc-coauthoring/SKILL.md) | Guide users through a structured workflow for co-authoring documentation. |\n| [document-api-endpoint](skills/document-api-endpoint/SKILL.md) | Document and type a Sentry API endpoint with drf-spectacular OpenAPI schema — write/fix `@extend_schema`, specify response TypedDicts, type parameters, fix type drift, and promote to PUBLIC. |\n| [find-bugs](skills/find-bugs/SKILL.md) | Find bugs, security vulnerabilities, and code quality issues in local branch changes. |\n| [gh-review-requests](skills/gh-review-requests/SKILL.md) | Fetch unread GitHub notifications for open PRs where review is requested from a specified team or opened by a team member. |\n| [gha-security-review](skills/gha-security-review/SKILL.md) | GitHub Actions security review for workflow exploitation vulnerabilities. |\n| [iterate-pr](skills/iterate-pr/SKILL.md) | Iterate on a PR until CI passes and actionable review feedback is addressed. |\n| [presentation-creator](skills/presentation-creator/SKILL.md) | Create data-driven presentation slides using React, Vite, and Recharts with Sentry branding. |\n| [pr-link-issue](skills/pr-link-issue/SKILL.md) | Append a GitHub issue link and its Linear ticket to the current PR's description. |\n| [pr-writer](skills/pr-writer/SKILL.md) | Create, refresh, and rewrite pull request titles and descriptions following Sentry conventions. |\n| [prompt-optimizer](skills/prompt-optimizer/SKILL.md) | Optimize prompts with evals, model-family adapters, and exact external context references. |\n| [security-review](skills/security-review/SKILL.md) | Security code review for vulnerabilities. |\n| [skill-scanner](skills/skill-scanner/SKILL.md) | Scan agent skills for security issues. |\n| [skill-writer](skills/skill-writer/SKILL.md) | Canonical workflow to synthesize, create, and iteratively improve agent skills for this repository. |\n| [sred-project-organizer](skills/sred-project-organizer/SKILL.md) | Take a list of projects and their related documentation, and organize them into the SRED format for submission. |\n| [sred-work-summary](skills/sred-work-summary/SKILL.md) | Go back through the previous year of work and create a Notion doc that groups relevant links into projects that can then be documented as SRED projects. |\n| [triage-frontend-issues](skills/triage-frontend-issues/SKILL.md) | Triage the Sentry `javascript` project queue by archiving non-actionable noise (third-party libs, browser quirks, transient 5xx, test traffic) with `untilEscalating` after user approval. |\n| [typing-exclusion-worker](skills/typing-exclusion-worker/SKILL.md) | Python typing exclusion worker: remove assigned mypy exclusion modules in small scoped batches, fix typing issues, run validation, and produce a structured completion summary. |\n\n## Available Subagents\n\n| Subagent | Description |\n|----------|-------------|\n| [code-simplifier](agents/code-simplifier.md) | Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality |\n| [senpai](agents/senpai.md) | Senior engineer and technical mentor for new Sentry hires. Explains infrastructure, architecture, and engineering concepts step-by-step with references |\n\n## Contributing\n\n### Local Development\n\n```bash\ngit clone git@github.com:getsentry/skills.git ~/sentry-skills\nclaude plugin marketplace add ~/sentry-skills\nclaude plugin install sentry-skills\n```\n\nIf you use `claude plugin marketplace add --sparse` for this repo, include `skills` and `agents` alongside `.claude-plugin` because the root plugin manifest loads repo-root `skills/` and `agents/`.\n\n### Repository Structure\n\n```\nsentry-skills/\n├── .claude-plugin/\n│   ├── marketplace.json      # Marketplace manifest\n│   └── plugin.json           # Root plugin manifest for sentry-skills\n├── .agents/\n│   └── skills -> ../skills   # Local mirror for agent tooling\n├── agents/\n│   ├── code-simplifier.md\n│   └── senpai.md\n├── skills/\n│   ├── code-review/\n│   │   └── SKILL.md\n│   └── commit/\n│       └── SKILL.md\n├── AGENTS.md                 # Agent-facing documentation\n├── CLAUDE.md                 # Symlink to AGENTS.md\n└── README.md                 # This file\n```\n\nThe canonical skill source for the `sentry-skills` plugin lives at repo-root `skills/`.\n`.agents/skills` mirrors that tree for local agent tooling, and the root plugin manifest loads repo-root `skills/` and `agents/`.\n\nNew skills and materially changed skills should include a root-level `SPEC.md` alongside `SKILL.md`.\n\n### Creating New Skills\n\nSkills follow the [Agent Skills specification](https://agentskills.io/specification). Each skill requires a `SKILL.md` file with YAML frontmatter.\n\nFor repeatable `skill-writer` evaluation prompts, see [skills/skill-writer/EVAL.md](skills/skill-writer/EVAL.md).\n\n#### Skill Template\n\nCreate a new directory under `skills/`:\n\n```\nskills/my-skill/\n├── SKILL.md\n└── SPEC.md\n```\n\n**SKILL.md format:**\n\n```yaml\n---\nname: my-skill\ndescription: A clear description of what this skill does and when to use it. Include keywords that help agents identify when this skill is relevant.\n---\n\n# My Skill Name\n\n## Instructions\n\nStep-by-step guidance for the agent.\n\n## Examples\n\nConcrete examples showing expected input/output.\n\n## Guidelines\n\n- Specific rules to follow\n- Edge cases to handle\n```\n\n**SPEC.md format:**\n\nUse `SPEC.md` as the maintenance contract for the skill. It should describe intent, scope, trigger context, source/evidence model, reference architecture, evaluation expectations, known limitations, and maintenance notes. Keep runtime instructions in `SKILL.md`; keep source inventories in `SOURCES.md`; keep durable examples in `references/evidence/`.\n\n#### Naming Conventions\n\n- **name**: 1-64 characters, lowercase alphanumeric with hyphens only\n- **description**: Up to 1024 characters, include trigger keywords\n- Keep SKILL.md under 500 lines; split longer content into reference files\n\n#### Optional Fields\n\n| Field | Description |\n|-------|-------------|\n| `license` | License name or path to license file |\n| `compatibility` | Environment requirements (max 500 chars) |\n| `allowed-tools` | Comma-separated list of tools the skill can use |\n| `metadata` | Arbitrary key-value pairs for additional properties |\n\n```yaml\n---\nname: my-skill\ndescription: What this skill does\nlicense: Apache-2.0\nallowed-tools: Read, Grep, Glob\n---\n```\n\n### Where Skills Belong\n\nSkills should live in the appropriate location based on their scope:\n\n| Scope | Location | Example |\n|-------|----------|---------|\n| **Global** - Used across Sentry | `sentry-skills` plugin | `commit`, `code-review`, `pr-writer` |\n| **Domain-specific** - Used by a team or domain | Dedicated plugin in this repo (e.g., `infra-skills`) | `gcp-logs`, `terraform-review` |\n| **Repo-specific** - Only relevant to one repo | The repository itself (`.claude/skills/`) | Project-specific workflows |\n\nWhen deciding where to place a skill:\n- If most Sentry engineers would benefit, add it to `sentry-skills`\n- If only a specific team needs it, create or use a domain-specific plugin\n- If it only makes sense in one repo, keep it in that repo\n\n#### Marketplace Structure\n\nThis repository is a Claude Code **marketplace** - a collection of plugins that can be installed independently. The marketplace manifest (`.claude-plugin/marketplace.json`) lists all available plugins:\n\n```json\n{\n  \"plugins\": [\n    {\n      \"name\": \"sentry-skills\",\n      \"source\": \"./\"\n    },\n    { \"name\": \"infra-skills\", \"source\": \"./plugins/infra-skills\" }\n  ]\n}\n```\n\nMarketplace entries point at a plugin source directory. That source can be a dedicated plugin directory with its own `.claude-plugin/plugin.json`, or repo root when the root also carries a plugin manifest. The `sentry-skills` entry in this repo uses repo root as its plugin source so it can keep canonical `skills/` and `agents/` at top level.\n\nUsers can install individual plugins:\n\n```bash\n# Install just the global skills\nclaude plugin install sentry-skills@sentry-skills\n\n# Install domain-specific skills\nclaude plugin install infra-skills@sentry-skills\n```\n\nTo add a new domain-specific plugin:\n\n1. Create `plugins/<plugin-name>/.claude-plugin/plugin.json`\n2. Add skills under `plugins/<plugin-name>/skills/`\n3. Register the plugin in `.claude-plugin/marketplace.json`\n\n### Vendoring Skills\n\nWe vendor (copy) skills and agents that we use regularly into this repository rather than depending on external sources at runtime. This approach:\n\n- **Ensures consistency** - Everyone on the team uses the same version of each skill\n- **Enables customization** - We can adapt skills to Sentry-specific conventions\n- **Improves reliability** - No external dependencies that could change or disappear\n\n#### Attribution\n\nWhen vendoring a skill or agent from an external source, retain proper attribution:\n\n1. **Add a comment** at the top of the file referencing the original source:\n   ```markdown\n   <!--\n   Based on [Original Name] by [Author/Org]:\n   https://github.com/example/original-source\n   -->\n   ```\n\n2. **Include a LICENSE file** in the skill directory if the original has specific licensing requirements:\n   ```\n   skills/vendored-skill/\n   ├── SKILL.md\n   └── LICENSE      # Original license text\n   ```\n\n#### Example: code-simplifier\n\nThe `code-simplifier` agent is vendored from [Anthropic's official plugins](https://github.com/anthropics/claude-plugins-official). See the attribution comment at the top of the agent file.\n\n## References\n\n- [Agent Skills Specification](https://agentskills.io/specification)\n- [Sentry Engineering Practices](https://develop.sentry.dev/engineering-practices/)\n\n## License\n\nApache-2.0\n",
  "bytes": 12120,
  "sha": "7bceb51c0939dc9d485f17f49e7b6ebbebcfcb904fa78bf644094c6120f15365",
  "repo_slug": "getsentry/skills",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/skl_getsentry_skills_skills_create_branch_89ec1d4d/readme"
}