Files
getsentry__skills/README.md
JonasBa acafdd41d3 feat(skills): Add component-docs skill for MDX stories documentation
Adds a new skill that guides an agent through creating or updating
component documentation in Sentry's .mdx stories format.

The skill covers the full authoring workflow:
- Step 0: Gather editorial content (when to use, alternatives, variant
  semantics, common mistakes, required setup) before writing
- Step 1: Locate the component and determine the correct import paths
- Step 2: Frontmatter structure with category table and resource fields
- Step 3: Import order convention and type-loader usage
- Step 4: Content structure by feature/variant with demo patterns,
  sub-component docs, accessibility section, and See Also format
- Step 5: Manual props table for product components without type-loader

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-04 11:48:55 -08:00

250 lines
10 KiB
Markdown

# Sentry Skills
> [!NOTE]
> For skills to help set up Sentry in your project or debug production issues, see https://github.com/getsentry/sentry-for-ai
Agent skills for Sentry employees, following the [Agent Skills](https://agentskills.io) open format.
## Installation
### Claude Code
```bash
claude plugin marketplace add getsentry/skills
claude plugin install sentry-skills@sentry-skills
```
Restart Claude Code after installation. Skills activate automatically when relevant.
**Update:**
```bash
claude plugin marketplace update
claude plugin update sentry-skills@sentry-skills
```
Or run `/plugin` to open the plugin manager.
### Skills Package (skills.sh)
For agents supporting the [skills.sh](https://skills.sh) ecosystem:
```bash
npx skills add getsentry/skills
```
Works with Claude Code, Cursor, Cline, GitHub Copilot, and other compatible agents.
## Available Skills
| Skill | Description |
|-------|-------------|
| [agents-md](plugins/sentry-skills/skills/agents-md/SKILL.md) | This skill should be used when the user asks to "create AGENTS.md", "update AGENTS.md", "maintain agent docs", "set up CLAUDE.md", or needs to keep agent instructions concise. |
| [blog-writing-guide](plugins/sentry-skills/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. |
| [brand-guidelines](plugins/sentry-skills/skills/brand-guidelines/SKILL.md) | Write copy following Sentry brand guidelines. |
| [claude-settings-audit](plugins/sentry-skills/skills/claude-settings-audit/SKILL.md) | Analyze a repository to generate recommended Claude Code settings.json permissions. |
| [code-review](plugins/sentry-skills/skills/code-review/SKILL.md) | Perform code reviews following Sentry engineering practices. |
| [code-simplifier](plugins/sentry-skills/skills/code-simplifier/SKILL.md) | Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality. |
| [commit](plugins/sentry-skills/skills/commit/SKILL.md) | ALWAYS use this skill when committing code changes — never commit directly without it. |
| [component-docs](plugins/sentry-skills/skills/component-docs/SKILL.md) | Create or update component documentation in Sentry's MDX stories format. |
| [create-branch](plugins/sentry-skills/skills/create-branch/SKILL.md) | Create git branches following Sentry naming conventions. |
| [create-pr](plugins/sentry-skills/skills/create-pr/SKILL.md) | ALWAYS use this skill when creating pull requests — never create a PR directly without it. |
| [django-access-review](plugins/sentry-skills/skills/django-access-review/SKILL.md) | Django access control and IDOR security review. |
| [django-perf-review](plugins/sentry-skills/skills/django-perf-review/SKILL.md) | Django performance code review. |
| [doc-coauthoring](plugins/sentry-skills/skills/doc-coauthoring/SKILL.md) | Guide users through a structured workflow for co-authoring documentation. |
| [find-bugs](plugins/sentry-skills/skills/find-bugs/SKILL.md) | Find bugs, security vulnerabilities, and code quality issues in local branch changes. |
| [gh-review-requests](plugins/sentry-skills/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. |
| [gha-security-review](plugins/sentry-skills/skills/gha-security-review/SKILL.md) | GitHub Actions security review for workflow exploitation vulnerabilities. |
| [iterate-pr](plugins/sentry-skills/skills/iterate-pr/SKILL.md) | Iterate on a PR until CI passes. |
| [pr-writer](plugins/sentry-skills/skills/pr-writer/SKILL.md) | Canonical workflow to create and update pull requests following Sentry conventions. |
| [security-review](plugins/sentry-skills/skills/security-review/SKILL.md) | Security code review for vulnerabilities. |
| [skill-creator](plugins/sentry-skills/skills/skill-creator/SKILL.md) | Create new agent skills following the Agent Skills specification. |
| [skill-scanner](plugins/sentry-skills/skills/skill-scanner/SKILL.md) | Scan agent skills for security issues. |
| [skill-writer](plugins/sentry-skills/skills/skill-writer/SKILL.md) | Canonical workflow to create and update agent skills for this repository. |
| [sred-project-organizer](plugins/sentry-skills/skills/sred-project-organizer/SKILL.md) | Take a list of projects and their related documentation, and organize them into the SRED format for submission. |
| [sred-work-summary](plugins/sentry-skills/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. |
## Available Subagents
| Subagent | Description |
|----------|-------------|
| [code-simplifier](plugins/sentry-skills/agents/code-simplifier.md) | Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality |
## Contributing
### Local Development
```bash
git clone git@github.com:getsentry/skills.git ~/sentry-skills
claude plugin marketplace add ~/sentry-skills
claude plugin install sentry-skills
```
### Repository Structure
```
sentry-skills/
├── .claude-plugin/
│ └── marketplace.json # Marketplace manifest
├── plugins/
│ └── sentry-skills/
│ ├── .claude-plugin/
│ │ └── plugin.json # Plugin manifest
│ ├── agents/
│ │ └── code-simplifier.md
│ └── skills/
│ ├── code-review/
│ │ └── SKILL.md
│ └── commit/
│ └── SKILL.md
├── AGENTS.md # Agent-facing documentation
├── CLAUDE.md # Symlink to AGENTS.md
└── README.md # This file
```
### Creating New Skills
Skills follow the [Agent Skills specification](https://agentskills.io/specification). Each skill requires a `SKILL.md` file with YAML frontmatter.
#### Skill Template
Create a new directory under `plugins/sentry-skills/skills/`:
```
plugins/sentry-skills/skills/my-skill/
└── SKILL.md
```
**SKILL.md format:**
```yaml
---
name: my-skill
description: A clear description of what this skill does and when to use it. Include keywords that help agents identify when this skill is relevant.
---
# My Skill Name
## Instructions
Step-by-step guidance for the agent.
## Examples
Concrete examples showing expected input/output.
## Guidelines
- Specific rules to follow
- Edge cases to handle
```
#### Naming Conventions
- **name**: 1-64 characters, lowercase alphanumeric with hyphens only
- **description**: Up to 1024 characters, include trigger keywords
- Keep SKILL.md under 500 lines; split longer content into reference files
#### Optional Fields
| Field | Description |
|-------|-------------|
| `license` | License name or path to license file |
| `compatibility` | Environment requirements (max 500 chars) |
| `allowed-tools` | Comma-separated list of tools the skill can use |
| `metadata` | Arbitrary key-value pairs for additional properties |
```yaml
---
name: my-skill
description: What this skill does
license: Apache-2.0
allowed-tools: Read, Grep, Glob
---
```
### Where Skills Belong
Skills should live in the appropriate location based on their scope:
| Scope | Location | Example |
|-------|----------|---------|
| **Global** - Used across Sentry | `sentry-skills` plugin | `commit`, `code-review`, `pr-writer` |
| **Domain-specific** - Used by a team or domain | Dedicated plugin in this repo (e.g., `infra-skills`) | `gcp-logs`, `terraform-review` |
| **Repo-specific** - Only relevant to one repo | The repository itself (`.claude/skills/`) | Project-specific workflows |
When deciding where to place a skill:
- If most Sentry engineers would benefit, add it to `sentry-skills`
- If only a specific team needs it, create or use a domain-specific plugin
- If it only makes sense in one repo, keep it in that repo
#### Marketplace Structure
This 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:
```json
{
"plugins": [
{ "name": "sentry-skills", "source": "./plugins/sentry-skills" },
{ "name": "infra-skills", "source": "./plugins/infra-skills" }
]
}
```
Each plugin lives in its own directory under `plugins/` with its own `plugin.json` manifest. Users can install individual plugins:
```bash
# Install just the global skills
claude plugin install sentry-skills@sentry-skills
# Install domain-specific skills
claude plugin install infra-skills@sentry-skills
```
To add a new domain-specific plugin:
1. Create `plugins/<plugin-name>/.claude-plugin/plugin.json`
2. Add skills under `plugins/<plugin-name>/skills/`
3. Register the plugin in `.claude-plugin/marketplace.json`
### Vendoring Skills
We vendor (copy) skills and agents that we use regularly into this repository rather than depending on external sources at runtime. This approach:
- **Ensures consistency** - Everyone on the team uses the same version of each skill
- **Enables customization** - We can adapt skills to Sentry-specific conventions
- **Improves reliability** - No external dependencies that could change or disappear
#### Attribution
When vendoring a skill or agent from an external source, retain proper attribution:
1. **Add a comment** at the top of the file referencing the original source:
```markdown
<!--
Based on [Original Name] by [Author/Org]:
https://github.com/example/original-source
-->
```
2. **Include a LICENSE file** in the skill directory if the original has specific licensing requirements:
```
plugins/sentry-skills/skills/vendored-skill/
├── SKILL.md
└── LICENSE # Original license text
```
#### Example: code-simplifier
The `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.
## References
- [Agent Skills Specification](https://agentskills.io/specification)
- [Sentry Engineering Practices](https://develop.sentry.dev/engineering-practices/)
- [Skill Synthesis Guide](docs/skill-synthesis.md) — using your AI agent to research and improve skills
## License
Apache-2.0