webaudio-review

webaudio-review is a skill for Claude Code, Codex from kunitoki/sonic-skills. It costs 99 tokens per session (989 once invoked), scanned A, original, Unlicense.

A code-review guide for JavaScript and TypeScript that use the Web Audio API, the browser system for creating and processing sound. It checks AudioWorklet code, audio graphs, threading concerns, and outdated patterns.

In plain words
What is it for?
Use it to review AudioWorkletProcessor code, inspect Web Audio graph construction, or diagnose audio glitches in a web application.
Why use it?
It helps identify browser audio code that may cause dropouts, crackling, UI blocking, or garbage-collection pauses. It explains why creating objects or doing blocking work inside real-time processing is risky.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to review AudioWorkletProcessor code, inspect Web Audio graph construction, or diagnose audio glitches in a web application.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/kunitoki/sonic-skills/webaudio-review
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add kunitoki/sonic-skills --skill webaudio-review
Clone the repo
git clone --depth 1 https://github.com/kunitoki/sonic-skills

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for webaudio-review

README.md
[![agentmods](https://agentmods.dev/badge/skills/kunitoki/sonic-skills/webaudio-review.svg)](https://agentmods.dev/skills/kunitoki/sonic-skills/webaudio-review)
Your own site
<a href="https://agentmods.dev/skills/kunitoki/sonic-skills/webaudio-review"><img src="https://agentmods.dev/badge/skills/kunitoki/sonic-skills/webaudio-review.svg" alt="Measured on agentmods" height="20"></a>
Per session 99 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 989 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00099 $0.00989
Opus 5 $0.00049 $0.00495
Sonnet 5 $0.00020 $0.00198
Haiku 4.5 $0.00010 $0.00099

Measured 8d ago against content hash 60f3b2342635, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

webaudio-review scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/webaudio-review/SKILL.md · 84 lines

How it starts

The opening of the file, as written. The whole thing — 84 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Web Audio API Safety Review

Note — JS realtime model differs from native: JavaScript allocation does not look like malloc, but it still creates garbage-collector work and can introduce render-thread jitter. The same cardinal rule applies: avoid allocations and blocking operations inside process().

Invoke audio-dsp-review concepts (no allocations, no blocking) adapted for JavaScript: replace "mutex" with "GC pause" and "malloc" with "object/array creation".

Step 1 — Identify the architecture

Determine which Web Audio pattern is in use before scanning:

Pattern Where audio runs Risk level
AudioWorkletProcessor subclass Dedicated worklet thread Medium — GC and message overhead
ScriptProcessorNode Main thread High — deprecated; blocks UI
Main-thread AudioContext only Main thread Low — standard graph
OfflineAudioContext Offline render Low — no real-time deadline

Step 2 — Scan for violations

Violation Location Risk
Using ScriptProcessorNode Anywhere Deprecated; runs on main thread → dropouts under UI load
new Float32Array(...) inside process() AudioWorkletProcessor.process() GC allocation → potential pause during render
Creating objects/arrays/closures inside process() AudioWorkletProcessor.process() GC pressure → jitter
port.postMessage() every process() block AudioWorkletProcessor High overhead; batch updates or use SharedArrayBuffer
Accessing window, document, or DOM from worklet process() or worklet scope Worklet thread has no DOM access — throws ReferenceError
Importing non-worklet-safe modules in addModule() Worklet module file DOM APIs throw; do network/file loading on the main thread and pass data in
Not handling autoplay policy AudioContext creation Context starts suspended; must resume on user gesture
SharedArrayBuffer comms without integer Atomics protocol Worklet ↔ main comms Race-prone shared state — Atomics works on integer typed arrays, not Float32Array
Changing AudioNode graph from worklet thread process() connect()/disconnect() are main-thread-only
Assuming a hardcoded render quantum in loops/buffers process() Spec and browsers use 128-frame quanta today, but code should use output[channel].length
Forgetting await audioContext.resume() After user gesture handler Stays suspended; no audio output

Read the full file on GitHub · 84 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 8d ago First seen · 84 lines · 99 tokens per session scan A 60f3b2342635

Subscribe to this mod's changes

webaudio-review is a skill published in the GitHub repository kunitoki/sonic-skills (19 stars, last pushed 3mo ago), licensed Unlicense. It adds 99 tokens to every session and 989 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

audit-pr

Audit a whole PR against the delivery contract and return MERGE-READY or evidenced blockers with the full URL. Consumes the current review-change REVIEW-PASS receipt instead of re-running review axes; posts a SHA-bound ready comment; never edits or merges. Triggers: "audit-pr", "is this PR ready", "merge gate".

gtrabanco/agentic-workflow · 71 tokens

review-change

Review a change with only applicable internal axes, classify every finding, persist fix-now work, and return one evidence-backed decision. Findings only; --adversarial N uses isolated reviewers; --synthesize fuses supplied reviewer tables. Triggers: "review-change", "review this change", "adversarial review".

gtrabanco/agentic-workflow · 67 tokens

review-plan

Independent read-only review of a frozen Engineering plan before execution, in a context that did not cut it: feature or fix snapshot, obligation ledger sweep, phase and validator checks. Returns only PLAN-REVIEW-PASS or PLAN-REVIEW-FAIL with a snapshot-bound receipt (a product-intent gap is PLAN-REVIEW-FAIL with…

gtrabanco/agentic-workflow · 100 tokens

fold-findings

Repair persisted fix-now findings in compatible atomic batches: root-cause fixes, green gate, commit/push, and per-row folded: yes updates. Never reclassify or substitute backlog notes. Triggers: "fold-findings", "fix the review findings", "repair audit blockers".

gtrabanco/agentic-workflow · 65 tokens

review-code

Internal correctness + simplification review pass of the agentic-workflow review pack — composed in-turn by review-change and product-audit; not a menu entry. Checks correctness, error handling, duplication, dead code, and simplification opportunities against the project's own conventions. Findings only; never edits…

gtrabanco/agentic-workflow · 63 tokens

review-perf

Internal performance review pass of the agentic-workflow review pack — composed in-turn by review-change and product-audit; not a menu entry. Checks the changed paths for algorithmic and resource regressions: N+1s, hot-path allocations, asset weight, and leaks. Findings only; never edits code.

gtrabanco/agentic-workflow · 67 tokens