sentry — Codex skill: what it does, how to install
This skill queries Sentry in read-only mode to inspect issues, events, and basic health data. Use it when checking recent production errors.
npx skills add openai/plugins --skill sentry -a codexWhat sentry does
sentry uses the Sentry API to list issues, inspect issue details and events, and retrieve a specific event. Requests are read-only and always sent to the API. You can filter issues by environment, time range, and search query, while results are ordered by most recent activity.
The skill includes scripts/sentry_api.py, which makes the API calls, handles pagination, and retries once after a transient error. Set SENTRY_AUTH_TOKEN with read-only scopes such as project:read and event:read. Optional variables include SENTRY_ORG, SENTRY_PROJECT, and SENTRY_BASE_URL.
Install it when an agent needs to inspect Sentry data without changing issues or project settings. It is the wrong fit for write operations.
What it helps with
- find recent unresolved issues in production
- look up an issue by its short ID
- inspect events linked to an issue
- summarize errors for a selected time range
- retrieve event details without stack traces
Example prompts for the agent
- List 10 open issues for prod in the last 24h.
- Find the issue with short ID `ABC-123` and show its details.
- Get events for issue `1234567890` from the `prod` environment over `24h`.
How to install sentry
1Skills CLI (Vercel)
npx skills add openai/plugins --skill sentry -a codex2Manually: put the files in place
.agents/skills/sentry/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add openai/plugins --skill sentry -a claude-code2Manually: put the files in place
~/.claude/skills/sentry/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/sentry/
Manually: put the files in place
.cursor/skills/sentry/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install openai/plugins sentry2Manually: put the files in place
.github/skills/sentry/SKILL.mdPlatform CLI
gemini skills install https://github.com/openai/plugins --path plugins/sentry/skills/sentryManually: put the files in place
.devin/skills/sentry/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set201
The whole set →Similar
Questions about sentry
How do I install sentry in Codex?
Run npx skills add openai/plugins --skill sentry -a codex. The skill file is placed at .agents/skills/sentry/SKILL.md.
What does sentry do?
It runs read-only Sentry API queries for issues, events, and event details, then presents fields such as status, timestamps, environment, release, and URL.
What does sentry require to work?
Set SENTRY_AUTH_TOKEN with read-only scopes such as project:read and event:read. Requests can also use SENTRY_ORG and SENTRY_PROJECT.
Source text
SKILL.md · Apache-2.0
---
name: "sentry"
description: "Use when the user asks to inspect Sentry issues or events, summarize recent production errors, or pull basic Sentry health data via the Sentry API; perform read-only queries with the bundled script and require `SENTRY_AUTH_TOKEN`."
---
# Sentry (Read-only Observability)
## Quick start
- If not already authenticated, ask the user to provide a valid `SENTRY_AUTH_TOKEN` (read-only scopes such as `project:read`, `event:read`) or to log in and create one before running commands.
- Set `SENTRY_AUTH_TOKEN` as an env var.
- Optional defaults: `SENTRY_ORG`, `SENTRY_PROJECT`, `SENTRY_BASE_URL`.
- Defaults: org/project `{your-org}`/`{your-project}`, time range `24h`, environment `prod`, limit 20 (max 50).
- Always call the Sentry API (no heuristics, no caching).
If the token is missing, give the user these steps:
1. Create a Sentry auth token: https://sentry.io/settings/account/api/auth-tokens/
2. Create a token with read-only scopes such as `project:read`, `event:read`, and `org:read`.
3. Set `SENTRY_AUTH_TOKEN` as an environment variable in their system.
4. Offer to guide them through setting the environment variable for their OS/shell if needed.
- Never ask the user to paste the full token in chat. Ask them to set it locally and confirm when ready.
## Core tasks (use bundled script)
Use `scripts/sentry_api.py` for deterministic API calls. It handles pagination and retries once on transient errors.
## Bundled script path
```bash
export SENTRY_API="plugins/sentry/skills/sentry/scripts/sentry_api.py"
```
If you are running from an installed plugin copy instead of this repo checkout, use the same
`skills/sentry/scripts/sentry_api.py` path inside the installed plugin directory.
### 1) List issues (ordered by most recent)
```bash
python3 "$SENTRY_API" \
--org {your-org} \
--project {your-project} \
list-issues \
--environment prod \
--time-range 24h \
--limit 20 \
--query "is:unresolved"
```
### 2) Resolve an issue short ID to issue ID
```bash
python3 "$SENTRY_API" \
--org {your-org} \
--project {your-project} \
list-issues \
--query "ABC-123" \
--limit 1
```
Use the returned `id` for issue detail or events.
### 3) Issue detail
```bash
python3 "$SENTRY_API" \
--org {your-org} \
issue-detail \
1234567890
```
### 4) Issue events
```bash
python3 "$SENTRY_API" \
--org {your-org} \
issue-events \
1234567890 \
--environment prod \
--time-range 24h \
--limit 20
```
### 5) Event detail (no stack traces by default)
```bash
python3 "$SENTRY_API" \
--org {your-org} \
--project {your-project} \
event-detail \
abcdef1234567890
```
## API requirements
Always use these endpoints (GET only):
- List issues: `/api/0/projects/{org_slug}/{project_slug}/issues/`
- Issue detail: `/api/0/organizations/{org_slug}/issues/{issue_id}/`
- Events for issue: `/api/0/organizations/{org_slug}/issues/{issue_id}/events/`
- Event detail: `/api/0/projects/{org_slug}/{project_slug}/events/{event_id}/`
## Inputs and defaults
- `org_slug`: default to `{your-org}` (required for issue detail, issue events, and event detail).
- `project_slug`: default to `{your-project}` (required for list issues and event detail).
- `time_range`: default `24h` (pass as `statsPeriod` for list issues and issue events).
- `environment`: default `prod` (used by list issues and issue events).
- `limit`: default 20, max 50 (paginate until limit reached).
- `search_query`: optional `query` parameter.
- `issue_short_id`: resolve via list-issues query first.
## Output formatting rules
- Issue list: show title, short_id, status, first_seen, last_seen, count, environments, top_tags; order by most recent.
- Event detail: include culprit, timestamp, environment, release, url.
- If no results, state explicitly.
- Redact PII in output (emails, IPs). Do not print raw stack traces.
- Never echo auth tokens.
## Golden test inputs
- Org: `{your-org}`
- Project: `{your-project}`
- Issue short ID: `{ABC-123}`
Example prompt: “List the top 10 open issues for prod in the last 24h.”
Expected: ordered list with titles, short IDs, counts, last seen.
© OpenAI · Apache-2.0 · openai/plugins