Sentry integration
Skill event4u-app/agent-config/dist/agent-src/skills/sentry-integration
Universal AI Agent OS — audited skills, governance rules, replayable state. One contract, every host agent.
npx -y skills add event4u-app/agent-config --skill sentry-integrationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 7 stars7 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when the user shares a Sentry URL, says "check Sentry", or wants to investigate production errors. Uses Sentry MCP tools for deep analysis.
SKILL.md
5.4 KB, as published. Nobody here has run it
Sentry Skill
When to use
Use this skill when:
- Investigating a Sentry error or issue URL
- Analyzing error patterns, frequency, or affected users
- Working with Sentry MCP tools for issue details
- Adding error reporting or breadcrumbs to code
- Configuring Sentry alerts or release tracking
Available MCP tools
Issue investigation
| Tool | Purpose |
|---|---|
get_issue_details | Full issue details: stacktrace, tags, metadata |
get_issue_tag_values | Distribution by tag (browser, URL, environment, user) |
search_issues | Find issues by criteria (unresolved, critical, etc.) |
search_events | Count/aggregate events, find individual error logs |
search_issue_events | Filter events within a specific issue |
analyze_issue_with_seer | AI root cause analysis with code fix suggestions |
Context tools
| Tool | Purpose |
|---|---|
get_trace_details | Trace overview for performance issues |
get_event_attachment | Download screenshots, logs attached to events |
find_organizations | Find org slug (needed for most queries) |
find_projects | Find project slug |
find_releases | Check recent releases and deploy timing |
Procedure: Investigate a Sentry error
1. Get issue details
From a Sentry URL:
get_issue_details(issueUrl='https://sentry.io/issues/PROJECT-123/')
From an issue ID:
get_issue_details(organizationSlug='my-org', issueId='PROJECT-123')
2. Analyze the stacktrace
- Top frame = where it crashed
- Bottom frame = entry point (HTTP request, job, command)
- Read each file in the call chain using
codebase-retrieval - Identify where data becomes invalid or assumptions break
3. Check distribution
get_issue_tag_values(issueId='PROJECT-123', tagKey='environment')
get_issue_tag_values(issueId='PROJECT-123', tagKey='url')
get_issue_tag_values(issueId='PROJECT-123', tagKey='browser')
Useful tags: environment, url, browser, os, release, user, device
4. Check frequency and timing
search_events(organizationSlug='my-org', naturalLanguageQuery='count of errors for PROJECT-123 in last 7 days')
5. AI analysis (if needed)
analyze_issue_with_seer(issueUrl='https://sentry.io/issues/PROJECT-123/')
Only use when you cannot determine the root cause from the stacktrace alone.
Error reporting in code
MonitoringHelper (project convention)
Always use the project's MonitoringHelper — never the Sentry SDK directly:
// ✅ Correct
MonitoringHelper::captureException($exception);
// ❌ Wrong
\Sentry\captureException($exception);
Breadcrumbs
Use project enums for structured breadcrumbs:
use App\Enums\Sentry\BreadcrumbType;
use App\Enums\Sentry\BreadcrumbLevel;
Context
Check the project for Sentry context enums and the tenant switching service that sets context automatically.
Common error patterns
| Pattern | Root cause | Fix approach |
|---|---|---|
TypeError: null passed to non-nullable | Missing null check on optional DB column | Add null guard or make parameter nullable |
ModelNotFoundException | Deleted or missing related record | Add optional() or existence check |
ConnectionException | Multi-tenant DB switch failed | Check tenant switching service flow |
ValidationException in jobs | Job data changed between dispatch and execution | Re-validate in handle() |
Undefined array key | External API/import data missing expected field | Add array_key_exists() or null coalescing |
Search patterns
Find issues by criteria
search_issues(organizationSlug='my-org', naturalLanguageQuery='unresolved errors in production last 24h')
search_issues(organizationSlug='my-org', naturalLanguageQuery='errors affecting more than 100 users')
search_issues(organizationSlug='my-org', naturalLanguageQuery='issues assigned to me')
Count events
search_events(organizationSlug='my-org', naturalLanguageQuery='how many errors today')
search_events(organizationSlug='my-org', naturalLanguageQuery='count of database failures this week')
Related
- Skill:
logging-monitoring— full monitoring stack (Sentry + Grafana + Loki) - Skill:
bug-analyzer— uses Sentry as input for bug investigation - Command:
/bug-investigate— fetches Sentry details automatically - Config: the SDK's config surface (
config/sentry.phpin Laravel,sentry.client.config.tsin Next.js) — Sentry DSN and configuration
Output format
- Sentry integration code with proper context and breadcrumbs
- Error grouping configuration if needed
Gotcha
- Sentry groups errors by stacktrace — different root causes may appear as the same issue. Check multiple events.
- The model tends to analyze only the latest event — check the "Events" tab for patterns across time.
- Don't use Sentry MCP tools for simple lookups — use the Sentry web UI link instead (saves tokens).
Do NOT
- Do NOT use Sentry SDK directly — use MonitoringHelper.
- Do NOT ignore Sentry errors without investigating root cause.
- Do NOT expose sensitive data in Sentry error context.
Auto-trigger keywords
- Sentry
- error tracking
- issue investigation
- error reporting