blurt: Agent for Claude Code

.claude/agents/swift6-concurrency-reviewer.md

swift6-concurrency-reviewer is an agent for Claude Code from AssemblyAI/blurt. It costs 67 tokens per session (931 once invoked), scanned A, original, MIT.

A code reviewer for Swift 6 concurrency, which controls how asynchronous work shares data between actors and tasks. It checks Blurt's actor isolation, Sendable values, global state, and audio-dictation pipeline rules.

In plain words
What is it for?
Use it after editing Swift engine or app code involving actors, async work, microphone capture, or dictation.
Why use it?
It catches unsafe data sharing and incorrect actor or task access before strict-concurrency builds fail or runtime races occur. It also checks that changes preserve the app's documented audio and pipeline invariants.

Agent for Claude Code

Written for Claude Code: installed under .claude/.

This is AssemblyAI/blurt's own configuration. It tells Claude Code how to work on blurt itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything blurt configures →

Reuse

Borrowing it

Nothing to install: this file belongs to AssemblyAI/blurt. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/AssemblyAI/blurt/main/.claude/agents/swift6-concurrency-reviewer.md
Clone the repo
git clone --depth 1 https://github.com/AssemblyAI/blurt

Made for: Claude Code.

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 swift6-concurrency-reviewer

README.md
[![agentmods](https://agentmods.dev/badge/agents/assemblyai/blurt/swift6-concurrency-reviewer/github.svg)](https://agentmods.dev/agents/assemblyai/blurt/swift6-concurrency-reviewer)
Your own site
<a href="https://agentmods.dev/agents/assemblyai/blurt/swift6-concurrency-reviewer"><img src="https://agentmods.dev/badge/agents/assemblyai/blurt/swift6-concurrency-reviewer/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for swift6-concurrency-reviewer

Your own site · 80×15
<a href="https://agentmods.dev/agents/assemblyai/blurt/swift6-concurrency-reviewer"><img src="https://agentmods.dev/badge/agents/assemblyai/blurt/swift6-concurrency-reviewer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 67 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 931 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.00067 $0.00931
Opus 5 $0.00034 $0.00465
Sonnet 5 $0.00013 $0.00186
Haiku 4.5 $0.00007 $0.00093

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

Security

Grade A, and why

swift6-concurrency-reviewer 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 9d 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.

.claude/agents/swift6-concurrency-reviewer.md · 62 lines

How it starts

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

You are a Swift 6 strict-concurrency reviewer for Blurt, a macOS dictation app. The engine (Sources/BlurtEngine/) is a swift-tools-version:6.2 package with no external dependencies; the app shell (App/Blurt/) is AppKit/SwiftUI.

What to review

Look at the changes (default to the working diff via git diff and git diff --staged; the caller may name specific files) and judge them against:

  1. Actor isolationDictationSession, KeyInjector, and MicCapture are actors; @MainActor guards UI/coordinator state (AppCoordinator, WizardController, overlay). Flag isolation that's claimed but not held, cross-actor access without await, and nonisolated used to dodge a real race rather than because the state is genuinely safe.
  2. Sendable — values crossing actor/task boundaries must be Sendable. The stateless API client (AssemblyAITranscriber) is a Sendable struct; keep it that way. Flag captured non-Sendable references in Task {} / @Sendable closures (the DictationKeyTap callbacks are @Sendable).
  3. Global mutable statestatic var without nonisolated(unsafe) or isolation fails the build (-warnings-as-errors). Prefer static let.
  4. Data races / ordering — the pipeline is press()/release()/cancel() with a phase stream; check that release/cancel races are handled and that the OSAllocatedUnfairLock in DictationKeyTap guards all mutable gate state.
  5. Leak hygiene — long-lived observers use [weak self]; new ones should too (gated by MemoryLeakTests, since LeakSanitizer is unavailable on Darwin).

Project invariants (treat violations as findings)

  • Do not reintroduce AVAudioEngine/installTap. MicCapture deliberately uses an AVCaptureSession (CaptureSessionRecorder) with a fresh recorder per session to survive input device switches (-10868 / all-zero buffers). Flag any move back to a long-lived engine or tap. Session control — building and startRunning() — belongs off the actor on the recorder's serial controlQueue; flag a blocking hardware call made inline on MicCapture.
  • Do not reintroduce a warm/prepared recorder. warmUp() is stateless by measurement (see its doc comment): a warm recorder pre-pays nothing and brings back a device-identity check, a pin check and a bring-up flag.
  • No streaming STT, no local models, no separate LLM cleanup pass — cleanup rides in the dictation request's llm block, as its instruction (CleanupInstruction). There is no config.prompt; the steering field is config.conversation_context (ConversationContext). Flag reintroductions of any of these, config.prompt included.
  • Unit tests use Swift Testing (@Suite/@Test/#expect), not XCTest (the BlurtUITests XCUITest bundle is the exception), and must never touch the real Keychain (APIKeyStore) — use an isolated service.

Read the full file on GitHub · 62 lines

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. 9d ago First seen · 62 lines · 67 tokens per session scan A 8e2bd8c7e86d

Subscribe to this mod's changes

swift6-concurrency-reviewer is an agent published in the GitHub repository AssemblyAI/blurt (5 stars, last pushed today), licensed MIT. It adds 67 tokens to every session and 931 once invoked, about $0.0003 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-31.

Related

Other agents, from other repositories

concurrency-auditor

Use this agent when the user mentions concurrency checking, Swift 6 compliance, data race prevention, or async code review. Automatically scans Swift code for Swift 6 strict concurrency violations - detects unsafe Task captures, missing @MainActor, Sendable violations, and actor isolation problems. user: "Can you…

CharlesWiltgen/Axiom · 144 tokens

swift-performance-analyzer

Use this agent when the user mentions Swift performance audit, code optimization, or performance review. Automatically scans Swift code for performance anti-patterns - detects unnecessary copies, ARC overhead, unspecialized generics, collection inefficiencies, actor isolation costs, and memory layout issues that cause…

CharlesWiltgen/Axiom · 230 tokens

swift-reviewer

Expert Swift code reviewer specializing in protocol-oriented design, value semantics, ARC memory management, Swift Concurrency, and idiomatic patterns. Use for all Swift code changes. MUST BE USED for Swift projects.

mturac/everything-openai-codex · 44 tokens

kotlin-abi-review

For library projects: check whether the next release breaks binary compatibility, and which version bump it needs.

Heapy/kortex · 0 tokens

kotlin-code-reviewer

Kotlin/Java code review specialist. Invoke to review a Kotlin or Java diff, pull request, or code snippet for correctness, idiomatic style, security, performance, and test quality. Also for Spring Boot, Flyway migrations, JVM architecture, and fintech domain logic review.

pranav8494/team-of-agents · 62 tokens

swift-reviewer

Expert Swift / SwiftUI code reviewer specializing in Swift 6 strict concurrency, value semantics, SwiftUI state management, memory management (retain cycles), and HIG compliance. Use for all Swift code changes in iOS / macOS projects.

shimo4228/claude-harness · 52 tokens