shepherdjerred/monorepo/bugsink-helper
Claude Code and agent skill by shepherdjerred/monorepo
- community
- ext:[{"type":"config","description":"Configuration overrides"}]
Checking that the SKILL.md file is still in the repository.
Bugsink self-hosted error tracking via REST API - teams, projects, issues, events, releases, stacktraces When user mentions Bugsink, self-hosted error tracking, or needs to query Bugsink API for issues, events, stacktraces, or releases
Install
npx vskill@latest install shepherdjerred/monorepo/bugsink-helperSemi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard
SKILL.md
Bugsink Helper Agent
Overview
Bugsink is a self-hosted error tracking service compatible with Sentry SDKs. Use toolkit bugsink for supported reads; the REST API covers additional operations.
Authentication
Prefer toolkit bugsink — it resolves BUGSINK_TOKEN itself (env, then ~/.toolkit/config.toml [credentials], then its registered macOS Keychain entry), so no token handling is needed. There is no automatic 1Password fallback after Keychain. An explicit config override can select a 1Password reference; backend setup is documented in packages/toolkit/README.md:
For endpoints toolkit does not cover yet, fall back to raw curl:
API Endpoints Reference
| Resource | Method | Path | Required Params | |
|---|---|---|---|---|
| Teams | GET | /api/canonical/0/teams/ | — | |
| Teams | POST | /api/canonical/0/teams/ | name (body) | |
| Team | GET | /api/canonical/0/teams/{uuid}/ | — | |
| Team | PATCH | /api/canonical/0/teams/{uuid}/ | — | |
| Projects | GET | /api/canonical/0/projects/ | — (optional ?team=<uuid>) | |
| Projects | POST | /api/canonical/0/projects/ | team, name (body) | |
| Project | GET | /api/canonical/0/projects/{id}/ | — | |
| Project | PATCH | /api/canonical/0/projects/{id}/ | — | |
| Issues | GET | /api/canonical/0/issues/ | ?project=<id> | |
| Issue | GET | /api/canonical/0/issues/{uuid}/ | — | |
| Events | GET | /api/canonical/0/events/ | ?issue=<uuid> | |
| Event | GET | /api/canonical/0/events/{uuid}/ | — | |
| Stacktrace | GET | /api/canonical/0/events/{uuid}/stacktrace/ | — | |
| Releases | GET | /api/canonical/0/releases/ | ?project=<id> | |
| Releases | POST | /api/canonical/0/releases/ | project, version (body) | |
| Release | GET | /api/canonical/0/releases/{uuid}/ | — |
Notes:
- Team IDs and issue IDs are UUIDs. Project IDs are integers.
- DELETE is not supported (returns 405) on teams and projects.
- All list endpoints use cursor-based pagination.
Team Operations
List Teams
Create Team
Required fields: name (string, max 255 chars) Optional fields: visibility (enum: joinable, discoverable, hidden)
Get Team Detail
Update Team
Project Operations
List Projects
Create Project
Required fields: team (UUID), name (string, max 255 chars) Optional fields: visibility (enum: joinable, discoverable, team_members), alert_on_new_issue (bool), alert_on_regression (bool), alert_on_unmute (bool), retention_max_event_count (int, >= 0)
Get Project Detail (includes DSN)
The project detail response includes dsn, slug, digested_event_count, and stored_event_count fields not present in the create/update schema.
Update Project
Issue Operations
List Issues (requires project filter)
Required query param: project (integer project ID) Optional query params:
sort:digest_order(default) orlast_seenorder:asc(default) ordesccursor: pagination cursor
Get Issue Detail
Resolving / Muting Issues (web UI only)
The canonical REST API is read-only for issues — PATCH/POST on an issue returns 405 (Allow: GET, HEAD, OPTIONS). To resolve or mute, drive the Django + allauth web-UI bulk-action form:
- Log in: GET
/accounts/login/for thecsrfmiddlewaretoken+csrftokencookie, then POSTusername/password/csrfmiddlewaretoken/nextto/accounts/login/with `Origin` and `Referer` headers (Django HTTPS CSRF requires them, else403 CSRF verification failed). Asessionidcookie means success. - Bulk action: the issue list is at
/issues/<project_id>/(integer id); scrape itsissueFormfor a freshcsrfmiddlewaretoken, then POST to/issues/<project_id>/withcsrfmiddlewaretoken,action=resolved_next(ormute/mute_for:.../unmute), and oneissue_ids[]=<uuid>per issue (batch allowed). Verify viaGET /api/canonical/0/issues/<uuid>/→is_resolved: true.
Resolving does not prevent recurrence — the issue reopens as a regression on the next matching event, so resolve "fixed" issues only after the fix deploys.
Event Operations
List Events (requires issue filter)
Required query param: issue (UUID) Optional query params: order (asc or desc, default desc), cursor
Note: The list view omits the data field for performance. Use the detail endpoint for the full event payload.
Get Event Detail
Get Event Stacktrace (Markdown)
This is the most useful endpoint for debugging. It returns a human-readable markdown rendering of the event's stacktrace including frames, source context, and local variables.
Release Operations
List Releases (requires project filter)
Required query param: project (integer project ID)
Create Release
Required fields: project (integer), version (string) Optional fields: timestamp (datetime)
Get Release Detail
Pagination
All list endpoints use cursor-based pagination. The response shape is:
To paginate through results:
Loop through all pages:
SDK Integration
Bugsink is compatible with Sentry SDKs. Use the DSN from the project detail endpoint.
In the monorepo, applications do not build these options by hand. Bun services spread bugsinkServerOptions({ dsn, environment, release }) from @shepherdjerred/bugsink-config/server, and browser apps use bugsinkBrowserOptions from @shepherdjerred/bugsink-config. Both apply the shared privacy policy (bugsinkDataCollection()), and the server helper rejects SENTRY_* environment variables.
Python
JavaScript/TypeScript
Node.js
Important: Bugsink does not support performance tracing. Leave traces_sample_rate / tracesSampleRate unset: any value, including 0, turns on SDK span recording. Keep send_default_pii off; attach user context explicitly when an error needs it.
Common Workflows
Error Investigation
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingpackages/dotfiles/dot_agents/skills/bugsink-helper/SKILL.md
Popularity
- 7-day trend score
- 5
Not refreshed yet.
Extension points
configConfiguration overrides
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/shepherdjerred/monorepo/bugsink-helper)