Agent skill

Sentry Audio Error Review

by Vocab-Apps in Vocab-Apps/anki-hyper-tts

Review unresolved Sentry audio-request issues from the last 24 hours and report any whose exceptiontype looks mis-categorized against hyperttsaddon/errors.py

GPL-3.0Auto-check passed

Install Sentry Audio Error Review

skills CLI
$ npx skills add Vocab-Apps/anki-hyper-tts --skill sentry-audio-error-review -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Vocab-Apps/anki-hyper-tts sentry-audio-error-review --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Vocab-Apps/anki-hyper-tts.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/sentry-audio-error-review .claude/skills/sentry-audio-error-review && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
sentry-audio-error-review
GitHub stars
284
Token cost
~1.8k tokens
SKILL.md length
811 words
Files
1
Skills in repo
3
Repo updated
First seen
Licence
GPL-3.0

At a glance

Review unresolved Sentry audio-request issues from the last 24 hours and report any whose exceptiontype looks mis-categorized against hyperttsaddon/errors.py

  • Works in 4 steps: Pull the issue list → Gather evidence for each issue → Apply the categorization rules → …
  • SKILL.md covers Sentry coordinates (hard-coded), Step 1 — Pull the issue list, Step 2 — Gather evidence for… and Step 3 — Apply the…, plus 2 more sections
  • Calls gemini; reaches language-tools.sentry.io

What it does

Sentry Audio Error Review is an agent skill from Vocab-Apps/anki-hyper-tts. Review unresolved Sentry audio-request issues from the last 24 hours and report any whose exceptiontype looks mis-categorized against hyperttsaddon/errors.py

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It works with Sentry and Model Context Protocol. The repository describes itself as: HyperTTS Addon for Anki. The licence is GPL-3.0.

Example prompts

  • “/sentry-audio-error-review”

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Pull the issue list
  2. Gather evidence for each issue
  3. Apply the categorization rules
  4. Report

What it can do on your machine

Read from SKILL.md and the folder at commit 05007b9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • gemini

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • language-tools.sentry.io

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Sentry Audio Error Review loads about 1.8k tokens when it runs. Until then it costs about 46 tokens; SKILL.md has 811 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~46
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Vocab-Apps/anki-hyper-tts at commit 05007b9, republished under its GPL-3.0 licence (© Vocab-Apps). 811 words, ~1,764 tokens.

Download SKILL.mdSave it as .claude/skills/sentry-audio-error-review/SKILL.md (or your agent's skills folder).
name
sentry-audio-error-review
description
Review unresolved Sentry audio-request issues from the last 24 hours and report any whose exception_type looks mis-categorized against hypertts_addon/errors.py
user_invocable
true

Sentry Audio-Error Categorization Review

Pull every unresolved HyperTTS audio-request issue from the last 24 hours, judge whether each issue's exception_type tag matches the actual error evidence, and report any that look mis-categorized so the service code can be fixed.

Every audio-request exception is captured at hypertts_addon/servicemanager.py:232-246 with the tag is_audio_request_exception: True. The exception class name is captured in the exception_type tag and the retryable flag in error_retryable. When a service maps an HTTP response or network failure to the wrong subclass of ServiceRequestError, retry logic and triage signal both degrade — that is what this skill catches.

Sentry coordinates (hard-coded)

  • Organization slug: language-tools
  • Project ID: 6170140
  • Sentry filter: is:unresolved is_audio_request_exception:True, last 24h
  • Canonical issue URL form: https://language-tools.sentry.io/issues/<shortId>/

Step 1 — Pull the issue list

Call mcp__sentry__search_issues with:

  • organizationSlug='language-tools'
  • projectSlugOrId='6170140'
  • query='is:unresolved is_audio_request_exception:True lastSeen:-1d'
  • limit=100

The is_audio_request_exception:True tag filter is required — it scopes the search to audio request failures only (the same filter used in the Sentry UI URL for this triage workflow).

Use lastSeen:-1d, not lastSeen:-24h. The two are semantically equivalent, but the embedded query-rewriter in the Sentry MCP normalizes the boolean tag value to lowercase (is_audio_request_exception:true) only on the -24h path, and the lowercase form returns zero results for this tag. The -1d form is preserved verbatim and works.

Record each issue's shortId, title, and Sentry URL. If zero issues are returned, report "No unresolved audio-request issues in the last 24 hours" and stop.

Step 2 — Gather evidence for each issue

For each issue, call mcp__sentry__get_sentry_resource with the issue URL. From the latest event extract:

  • exception_type tag — the current categorization
  • error_retryable tag — the current retryable flag
  • audio_service tag — which service raised it
  • The exception class name and message in the stack trace
  • Any HTTP status code, underlying exception type, or low-level error string referenced in the message (e.g. 502 Bad Gateway, requests.exceptions.ConnectionError, Connection refused, ReadTimeout, Name or service not known)

If an issue's tags or event payload don't contain enough evidence to judge the categorization, note it as "insufficient evidence" rather than flagging it.

Step 3 — Apply the categorization rules

Use this table — derived from hypertts_addon/errors.py and the mapping logic in hypertts_addon/cloudlanguagetools.py and hypertts_addon/servicemanager.py — to judge whether exception_type matches the evidence:

Evidence in eventCorrect exceptionRetryable
HTTP 401 or 403ServicePermissionErrorFalse
HTTP 404 (audio not found for that text/voice)AudioNotFoundErrorFalse
All priority-mode voices exhaustedAudioNotFoundAnyVoiceErrorFalse
Unsupported input (e.g. requested audio format not available)ServiceInputErrorFalse
HTTP 429 with Retry-AfterRateLimitRetryAfterErrorTrue
HTTP 502 / 503 / 504 (no Retry-After)ServiceGatewayErrorTrue
requests.exceptions.Timeout / "timed out" / "ReadTimeout"ServiceTimeoutErrorTrue
requests.exceptions.ConnectionError / "Connection refused" / "Name or service not known" / "Network is unreachable"ServiceConnectionErrorTrue
Anything else / no clear classifierUnknownServiceErrorTrue

Mis-categorization heuristic — flag an issue when any of these hold:

  • The evidence clearly matches a specific row above but exception_type is the catch-all UnknownServiceError or the legacy RequestError. A more specific class would have improved retry logic and grouping.
  • A permanent error (rows where Retryable=False) is currently tagged with a transient class, or vice versa — compare the table's Retryable column against the error_retryable tag.
  • The evidence points to a different specific row than exception_type claims (e.g. tagged ServiceTimeoutError but the trace shows a 502 response).
Show full SKILL.md (289 more words)Show less

Do not flag an issue when the categorization is correct or when there is insufficient evidence in the event to judge.

Do not flag generic TransientError (or generic PermanentError) when the retryable disposition is correct. The base TransientError class is an acceptable categorization for any retryable error — refining it to the specific subclass (ServiceGatewayError, ServiceTimeoutError, etc.) is a nice-to-have, not a mis-categorization. Concretely, do not flag these patterns:

  • TransientError for Gemini TTS error: 504 Deadline Exceeded / <Response [504]>
  • TransientError for VocabAI <Response [504]> with body "timeout generating TTS audio for Watson: ... Read timed out."
  • TransientError for VocabAI <Response [504]> with body "timeout generating TTS audio for VocalWare: ... Read timed out."
  • TransientError for VocabAI <Response [504]> with body "Could not generate audio: CancellationReason.Error Timeout while synthesizing..."

Flagging is reserved for cases where the retryable disposition itself is wrong (a permanent error tagged transient or vice versa), or where the catch-all UnknownServiceError / legacy RequestError is hiding a clear specific category.

Step 4 — Report

For each mis-categorized issue, print:

  • URL: https://language-tools.sentry.io/issues/<shortId>/
  • Service: value of audio_service tag
  • Currently tagged as: <exception_type> (error_retryable=<bool>)
  • Evidence: 1–2 lines quoted from the stack trace or message
  • Suggested category: <class> — and where in the service code the mapping should be added or fixed (look at the audio_service tag to find the right services/service_<x>.py, or cloudlanguagetools.py for CLT-routed services)

End the report with a one-line summary: Reviewed N issues, M look mis-categorized. If M == 0, say so explicitly — don't stay silent.

Reference: where the rules live in code

  • hypertts_addon/errors.py — full exception hierarchy
  • hypertts_addon/servicemanager.py:232-298 — Sentry tagging plus the requests.exceptions.Timeout / ConnectionError / generic Exception fallback handler that maps to ServiceTimeoutError / ServiceConnectionError / UnknownServiceError
  • hypertts_addon/cloudlanguagetools.py:109-200 — the most thorough HTTP-status-to-error mapping in the codebase; use it as a model for what good categorization looks like

© Vocab-Apps, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/sentry-audio-error-review of Vocab-Apps/anki-hyper-tts.

Open the folder on GitHubat commit 05007b9

Compare with similar skills

Sentry Audio Error Review next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Sentry Audio Error Review compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Sentry Audio Error Review this skillVocab-Apps/anki-hyper-tts284—~1.8kAutomated safety check: PassGPL-3.0
Dotagentsgetsentry/sentry-wizard295—~900Automated safety check: PassCustom licence
Sentry Triage FeedbackisHarryh/Ark-Pets1.1k—~2.1kAutomated safety check: PassGPL-3.0
Logging Observabilitygetsentry/toolkit920—~2.6kAutomated safety check: PassCustom licence
MCP QAgetsentry/toolkit920—~1.3kAutomated safety check: PassCustom licence
MCP ServersPostHog/code179—~1.9kAutomated safety check: PassMIT

Similar skills

  • Dotagents

    getsentry/sentry-wizard

    Official

    Manage agent skill dependencies with dotagents. An agent skill from getsentry/sentry-wizard.

    295 GitHub stars~900 tokensUpdated 2 days ago
    Agent WorkflowsAuto-check passed
  • Sentry Triage Feedback

    isHarryh/Ark-Pets

    A skill your agent uses when the user asks to triage user feedback collected on Sentry.

    1.1k GitHub stars~2.1k tokensUpdated 15 days ago
    Agent WorkflowsAuto-check passed
  • Logging Observability

    getsentry/toolkit

    Official

    Review code for correct logging and error handling patterns.

    920 GitHub stars~2.6k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • MCP QA

    getsentry/toolkit

    Official

    QA MCP tool changes with local CLI and real agent clients. An agent skill from getsentry/toolkit.

    920 GitHub stars~1.3k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • MCP Servers

    PostHog/code

    Official

    Install, configure, authenticate, and troubleshoot MCP (Model Context Protocol) servers for this agent.

    179 GitHub stars~1.9k tokensUpdated 2 mo ago
    Agent WorkflowsAuto-check passed
  • Triage Frontend Issues

    getsentry/skills

    Official

    Triage new issues in the Sentry javascript project by archiving non-actionable noise.

    1k GitHub stars~2k tokensUpdated yesterday
    Frontend & DesignAuto-check passed

More from Vocab-Apps/anki-hyper-tts

  • Sentry Issues

    Vocab-Apps/anki-hyper-tts

    Look up HyperTTS crash reports in Sentry — the project is language-tools/anki-hyper-tts, project ID 6170140.

    284 GitHub stars~1.9k tokensUpdated 28 days ago
    Auto-check passed
  • Anki Gui Automation

    Vocab-Apps/anki-hyper-tts

    Develop and verify HyperTTS GUI screens against a real, running Anki instance: launch Anki headlessly on a throwaway profile, inject notes with AnkiConnect, read the live Qt widget tree as text…

    284 GitHub stars~2.8k tokensUpdated 28 days ago
    Auto-check: notes

Questions about Sentry Audio Error Review

What does Sentry Audio Error Review do?

Review unresolved Sentry audio-request issues from the last 24 hours and report any whose exceptiontype looks mis-categorized against hyperttsaddon/errors.py. Sentry Audio Error Review is an agent skill from Vocab-Apps/anki-hyper-tts.

How do I install Sentry Audio Error Review in Claude Code?

Run `npx skills add Vocab-Apps/anki-hyper-tts --skill sentry-audio-error-review -a claude-code`. Or copy the skill folder (.claude/skills/sentry-audio-error-review in Vocab-Apps/anki-hyper-tts) into .claude/skills/sentry-audio-error-review in your project. Claude Code loads it when a task matches its description.

How do I install Sentry Audio Error Review in Codex?

Run `npx skills add Vocab-Apps/anki-hyper-tts --skill sentry-audio-error-review -a codex`. Or copy the skill folder (.claude/skills/sentry-audio-error-review in Vocab-Apps/anki-hyper-tts) into .agents/skills/sentry-audio-error-review in your project. Codex loads it when a task matches its description.

Can I use Sentry Audio Error Review in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Vocab-Apps/anki-hyper-tts --skill sentry-audio-error-review -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/sentry-audio-error-review, .gemini/skills/sentry-audio-error-review, .github/skills/sentry-audio-error-review and .opencode/skills/sentry-audio-error-review in your project.

What does Sentry Audio Error Review need to run?

Going by SKILL.md and its folder, Sentry Audio Error Review needs the command-line tools its instructions call (gemini).

Does Sentry Audio Error Review access the network?

SKILL.md names 1 domain. In commands or code: language-tools.sentry.io; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Sentry Audio Error Review safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Sentry Audio Error Review use?

Sentry Audio Error Review is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Sentry Audio Error Review use?

About 1.8k tokens (SKILL.md is roughly 7.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Sentry Audio Error Review?

Skills that share tags, products or a category with Sentry Audio Error Review: Dotagents (getsentry/sentry-wizard, 295 stars), Sentry Triage Feedback (isHarryh/Ark-Pets, 1.1k stars), Logging Observability (getsentry/toolkit, 920 stars) and MCP QA (getsentry/toolkit, 920 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Sentry Audio Error Review?

Vocab-Apps (a GitHub organization) maintains it in Vocab-Apps/anki-hyper-tts, which has 284 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on September 13, 2026.

Source: Vocab-Apps/anki-hyper-tts on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.