mcpField
S
sentry-monitoring

sentry-monitoring

github.com/oimiragieoCloud & DevOps4459 installsUpdated 17w ago
Repository

About sentry-monitoring

sentry-monitoring is a prompt-driven skill for using Sentry through agent context. It supports operations, incident response, and development work across errors, performance, releases, and project configuration, with confirmation required for state-changing actions.

Key features

  1. 01List and inspect error issues
  2. 02Require confirmation to resolve or ignore issues
  3. 03Review transaction performance and slow queries
  4. 04Manage releases and associated commits
  5. 05Inspect project settings and alerts

Use cases

  1. 01Triage unresolved production errors
  2. 02Find slow endpoints and database queries
  3. 03Create releases and track release status

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/oimiragieo/agent-studio --skill sentry-monitoring

After installing, type/sentry-monitoringin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

commands/
sentry-monitoring.md
hooks/
post-execute.cjs
pre-execute.cjs
references/
research-requirements.md
rules/
sentry-monitoring.md
schemas/
input.schema.json
output.schema.json
scripts/
main.cjs
templates/
implementation-template.md

Details

From the project README

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_TOKEN environment variable (optional, for authenticated API calls)
  • SENTRY_ORG environment variable (optional, defaults to first organization)
  • SENTRY_PROJECT environment variable (optional, defaults to first project)

Tools (Progressive Disclosure)

Error Tracking
ToolDescriptionConfirmation
list-issuesList recent issues/errorsNo
issue-detailsGet detailed issue infoNo
resolve-issueMark issue as resolvedYes
ignore-issueIgnore/snooze issueYes
Performance Monitoring
ToolDescriptionConfirmation
list-transactionsList performance transactionsNo
transaction-summaryGet transaction performance statsNo
slow-queriesIdentify slow database queriesNo
Release Management
ToolDescriptionConfirmation
list-releasesList releasesNo
create-releaseCreate new releaseYes
set-commitsAssociate commits with releaseYes
Project Configuration
ToolDescriptionConfirmation
list-projectsList Sentry projectsNo
project-settingsView project settingsNo
list-alertsList alert rulesNo

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
VariableRequiredDescription
SENTRY_AUTH_TOKENOptionalSentry authentication token for API calls
SENTRY_ORGOptionalOrganization slug (defaults to first org)
SENTRY_PROJECTOptionalProject slug (defaults to first project)
SENTRY_DSNNoFor SDK integration (not used by this skill)
Getting Auth Token
  1. Navigate to Sentry Settings → Account → API → Auth Tokens
  2. Create new token with scopes: project:read, project:write, event:read
  3. 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:

  1. Verify SENTRY_AUTH_TOKEN is set: echo $SENTRY_AUTH_TOKEN
  2. Check token permissions include required scopes
  3. Verify organization and project slugs are correct
  4. Review Sentry API rate limits (default: 3000 requests/minute)

Common Workflows

Incident Response
  1. list-issues - Get recent unresolved errors
  2. issue-details - Investigate specific issue
  3. resolve-issue - Mark as resolved after fix deployed
Performance Optimization
  1. list-transactions - Identify slow endpoints
  2. transaction-summary - Analyze performance patterns
  3. slow-queries - Find database bottlenecks
Release Management
  1. create-release - Create new release version
  2. set-commits - Associate commits with release
  3. list-releases - Track release health

Troubleshooting

IssueSolution
401 UnauthorizedCheck SENTRY_AUTH_TOKEN is valid and not expired
403 ForbiddenVerify token has required scopes (project:read, project:write, event:read)
404 Not FoundVerify SENTRY_ORG and SENTRY_PROJECT are correct slugs
Rate limit exceededWait 1 minute, reduce request frequency

Related

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 }

Comments

Markdown supported