sentry-monitoring
SKILL.md
Mode: Cognitive/Prompt-Driven — No standalone utility script; use via agent context.
Sentry Monitoring Skill
Overview
Provides 90%+ context savings vs raw Sentry API calls. Progressive disclosure by feature category: error tracking, performance monitoring, release management, and project configuration.
Requirements
- Sentry account with project configured
SENTRY_AUTH_TOKENenvironment variable (optional, for authenticated API calls)SENTRY_ORGenvironment variable (optional, defaults to first organization)SENTRY_PROJECTenvironment variable (optional, defaults to first project)
Tools (Progressive Disclosure)
Error Tracking
| Tool | Description | Confirmation |
|---|---|---|
| list-issues | List recent issues/errors | No |
| issue-details | Get detailed issue info | No |
| resolve-issue | Mark issue as resolved | Yes |
| ignore-issue | Ignore/snooze issue | Yes |
Performance Monitoring
| Tool | Description | Confirmation |
|---|---|---|
| list-transactions | List performance transactions | No |
| transaction-summary | Get transaction performance stats | No |
| slow-queries | Identify slow database queries | No |
Release Management
| Tool | Description | Confirmation |
|---|---|---|
| list-releases | List releases | No |
| create-release | Create new release | Yes |
| set-commits | Associate commits with release | Yes |
Project Configuration
| Tool | Description | Confirmation |
|---|---|---|
| list-projects | List Sentry projects | No |
| project-settings | View project settings | No |
| list-alerts | List alert rules | No |
Quick Reference
# List recent issues
curl -H "Authorization: Bearer $SENTRY_AUTH_TOKEN" \
"https://sentry.io/api/0/projects/$SENTRY_ORG/$SENTRY_PROJECT/issues/?query=is:unresolved"
# Get issue details
curl -H "Authorization: Bearer $SENTRY_AUTH_TOKEN" \
"https://sentry.io/api/0/issues/{issue_id}/"
# Resolve issue
curl -X PUT -H "Authorization: Bearer $SENTRY_AUTH_TOKEN" \
"https://sentry.io/api/0/issues/{issue_id}/" \
-d '{"status": "resolved"}'
# List transactions
curl -H "Authorization: Bearer $SENTRY_AUTH_TOKEN" \
"https://sentry.io/api/0/organizations/$SENTRY_ORG/events/?field=transaction"
# Create release
curl -X POST -H "Authorization: Bearer $SENTRY_AUTH_TOKEN" \
"https://sentry.io/api/0/organizations/$SENTRY_ORG/releases/" \
-d '{"version": "1.0.0", "projects": ["project-slug"]}'
# List projects
curl -H "Authorization: Bearer $SENTRY_AUTH_TOKEN" \
"https://sentry.io/api/0/organizations/$SENTRY_ORG/projects/"
Configuration
Environment Variables
| Variable | Required | Description |
|---|---|---|
SENTRY_AUTH_TOKEN |
Optional | Sentry authentication token for API calls |
SENTRY_ORG |
Optional | Organization slug (defaults to first org) |
SENTRY_PROJECT |
Optional | Project slug (defaults to first project) |
SENTRY_DSN |
No | For SDK integration (not used by this skill) |
Getting Auth Token
- Navigate to Sentry Settings → Account → API → Auth Tokens
- Create new token with scopes:
project:read,project:write,event:read - Set as environment variable:
export SENTRY_AUTH_TOKEN=your_token_here
Security
⚠️ Never expose auth tokens in output ⚠️ Destructive operations (resolve-issue, ignore-issue, create-release, set-commits) require confirmation ⚠️ Use environment variables for credentials, never hardcode
Agent Integration
- devops (primary): Production monitoring, incident response
- incident-responder (primary): Error triage, issue resolution
- developer (secondary): Debugging, performance optimization
- qa (secondary): Test environment monitoring
Error Handling
If tool execution fails:
- Verify
SENTRY_AUTH_TOKENis set:echo $SENTRY_AUTH_TOKEN - Check token permissions include required scopes
- Verify organization and project slugs are correct
- Review Sentry API rate limits (default: 3000 requests/minute)
Common Workflows
Incident Response
list-issues- Get recent unresolved errorsissue-details- Investigate specific issueresolve-issue- Mark as resolved after fix deployed
Performance Optimization
list-transactions- Identify slow endpointstransaction-summary- Analyze performance patternsslow-queries- Find database bottlenecks
Release Management
create-release- Create new release versionset-commits- Associate commits with releaselist-releases- Track release health
Troubleshooting
| Issue | Solution |
|---|---|
| 401 Unauthorized | Check SENTRY_AUTH_TOKEN is valid and not expired |
| 403 Forbidden | Verify token has required scopes (project:read, project:write, event:read) |
| 404 Not Found | Verify SENTRY_ORG and SENTRY_PROJECT are correct slugs |
| Rate limit exceeded | Wait 1 minute, reduce request frequency |
Related
- Sentry API Documentation: https://docs.sentry.io/api/
- Sentry Error Tracking: https://docs.sentry.io/product/issues/
- Sentry Performance: https://docs.sentry.io/product/performance/
- Sentry Releases: https://docs.sentry.io/product/releases/
Memory Protocol (MANDATORY)
Before starting:
Read .claude/context/memory/learnings.md
After completing:
- New pattern ->
.claude/context/memory/learnings.md - Issue found ->
.claude/context/memory/issues.md - Decision made ->
.claude/context/memory/decisions.md
ASSUME INTERRUPTION: If it's not in memory, it didn't happen.
OpenTelemetry + Grafana Stack
Auto-instrument with OTel, export to Sentry + Grafana simultaneously:
import { NodeSDK } from '@opentelemetry/sdk-node';
import { SentrySpanProcessor } from '@sentry/opentelemetry';
const sdk = new NodeSDK({ spanProcessor: new SentrySpanProcessor() });
sdk.start();
Continuous Profiling (Pyroscope)
# pyroscope.configure({ applicationName: 'api', serverAddress: 'http://pyroscope:4040' })
Grafana + Prometheus
services:
prometheus: { image: prom/prometheus }
grafana: { image: grafana/grafana }
otel-collector: { image: otel/opentelemetry-collector-contrib }
Weekly Installs
52
Repository
oimiragieo/agent-studioGitHub Stars
16
First Seen
Jan 27, 2026
Security Audits
Installed on
github-copilot51
gemini-cli50
cursor50
amp49
codex49
kimi-cli49