SentrySAFE
High-performance AI coding agent CLI written in Rust with zero unsafe code
Overview
High-performance AI coding agent CLI written in Rust with zero unsafe code
46a2537504c9OBSERVED · 2026-10-10What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
--- name: sentry description: "Fetch and analyze Sentry issues, events, transactions, and logs. Helps agents debug errors, find root causes, and understand what happened at specific times." --- # Sentry Skill Access Sentry data via the API for debugging and investigation. Uses auth token from `~/.sentryclirc`. ## Quick Reference | Task | Command | |------|---------| | Find errors on a date | `search-events.js --org X --start 2025-12-23T15:00:00 --level error` | | List open issues | `list-issues.js --org X --status unresolved` | | Get issue details | `fetch-issue.js <issue-id-or-url> --latest` | | Get event details | `fetch-event.js <event-id> --org X --project Y` | | Search logs | `search-logs.js --org X --project Y "level:error"` | ## Common Debugging Workflows ### "What went wrong at this time?" Find events around a specific timestamp: ```bash # Find all events in a 2-hour window ./scripts/search-events.js --org myorg --project backend \ --start 2025-12-23T15:00:00 --end 2025-12-23T17:00:00 # Filter to just errors ./scripts/search-events.js --org myorg --start 2025-12-23T15:00:00 \ --level error # Find a specific transaction type ./scripts/search-events.js --org myorg --start 2025-12-23T15:00:00 \ --transaction process-incoming-email ``` ### "What errors have occurred recently?" ```bash # List unresolved errors from last 24 hours ./scripts/list-issues.js --org myorg --status unresolved --level error --period 24h # Find high-frequency issues ./scripts/list-issues.js --org myorg --query "times_seen:>50" --sort freq # Issues affecting users ./scripts/list-issues.js --org myorg --query "is:unresolved has:user" --sort user ``` ### "Get details about a specific issue/event" ```bash # Get issue with latest stack trace ./scripts/fetch-issue.js 5765604106 --latest ./scripts/fetch-issue.js https://sentry.io/organizations/myorg/issues/123/ --latest ./scripts/fetch-issue.js MYPROJ-123 --org myorg --latest # Get specific event with all breadcrumbs ./scripts/fetch-event.js abc123def456 --org myorg --project backend --breadcrumbs ``` ### "Find events with a specific tag" ```bash # Find by custom tag (e.g., thread_id, user_id) ./scripts/search-events.js --org myorg --tag thread_id:th_abc123 # Find by user email ./scripts/search-events.js --org myorg --query "user.email:*@example.com" ``` --- ## Fetch Issue ```bash ./scripts/fetch-issue.js <issue-id-or-url> [options] ``` Get details about a specific issue (grouped error). **Accepts:** - Issue ID: `5765604106` - Issue URL: `https://sentry.io/organizations/sentry/issues/5765604106/` - New URL format: `https://myorg.sentry.io/issues/5765604106/` - Short ID: `JAVASCRIPT-ABC` (requires `--org` flag) **Options:** - `--latest` - Include the latest event with full stack trace - `--org <org>` - Organization slug (for short IDs) - `--json` - Output raw JSON **Output includes:** - Title, culprit, status, level - First/last seen timestamps - Event count and user impact - Tags and environment info - With `--latest`: stack trace, request details, breadcrumbs, runtime context --- ## Fetch Event ```bash ./scripts/fetch-event.js <event-id> --org <org> --project <project> [options] ``` Get full details of a specific event by its ID. **Options:** - `--org, -o <org>` - Organization slug (required) - `--project, -p <project>` - Project slug (required) - `--breadcrumbs, -b` - Show all breadcrumbs (default: last 30) - `--spans` - Show span tree for transactions - `--json` - Output raw JSON **Output includes:** - Timestamp, project, title, message - All tags - Context (runtime, browser, OS, trace info) - Request details - Exception with stack trace - Breadcrumbs - Spans (with `--spans`) --- ## Search Events ```bash ./scripts/search-events.js [options] ``` Search for events (transactions, errors) using Sentry Discover. **Time Range Options:** - `--period, -t <period>` - Relative time (24h, 7d, 14d) - `--start <datetime>` - Start time (ISO 8601: 2025-12-23T15:00:00) - `--end <datetime>` - End time (ISO 8601) **Filter Options:** - `--org, -o <org>` - Organization slug (required) - `--project, -p <project>` - Project slug or ID - `--query, -q <query>` - Discover search query - `--transaction <name>` - Transaction name filter - `--tag <key:value>` - Tag filter (repeatable) - `--level <level>` - Level filter (error, warning, info) - `--limit, -n <n>` - Max results (default: 25, max: 100) - `--fields <fields>` - Comma-separated fields to include **Query Syntax:** ``` transaction:process-* Wildcard transaction match level:error Filter by level user.email:[email protected] Filter by user environment:production Filter by environment has:stack.filename Has stack trace ``` --- ## List Issues ```bash ./scripts/list-issues.js [options] ``` List and search issues (grouped errors) in a project. **Options:** - `--org, -o <org>` - Organization slug (required) - `--project, -p <project>` - Project slug (repeatable) - `--query, -q <query>` - Issue search query - `--status <status>` - unresolved, resolved, ignored - `--level <level>` - error, warning, info, fatal - `--period, -t <period>` - Time period (default: 14d) - `--limit, -n <n>` - Max results (default: 25) - `--sort <sort>` - date, new, priority, freq, user - `--json` - Output raw JSON **Query Syntax:** ``` is:unresolved Status filter is:assigned Has assignee assigned:me Assigned to current user level:error Level filter firstSeen:+7d First seen > 7 days ago lastSeen:-24h Last seen within 24h times_seen:>100 Event count filter has:user Has user context error.handled:0 Unhandled errors only ``` --- ## Search Logs ```bash ./scripts/search-logs.js [query|url] [options] ``` Search for logs in Sentry's Logs Explorer. **Options:** - `--org, -o <org>` - Organization slug (required unless URL provided) - `--project, -p <project>` - Filter by project slug
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | WARN |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (1 observation(s))
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (1)
.beads/beads.jsonl
Gates applied: no_behavioural_pass.
46a2537504c9full audit observations/trust-audit/skill/dicklesworthstone__sentry.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-10 | 46a2537504c9 | SAFE | B | 89 | first audit |
Questions
What does the Sentry skill do?
High-performance AI coding agent CLI written in Rust with zero unsafe code
Is Sentry safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can Sentry access on my machine?
The audit observed that it reaches the network. Each of those is consistent with what it says it does. Secrets in the source: none found.
How current is this page?
The grade is for one exact copy of the source (46a2537504c9), read on 2026-10-10. The repository is watched, and a new audit runs when it changes — this is the first audit.