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.
npx skills add SethCalkins/claude-ios-swift-plugin --skill swift-concurrency-guardgit clone --depth 1 https://github.com/SethCalkins/claude-ios-swift-pluginWrote 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.
[](https://agentmods.dev/skills/sethcalkins/claude-ios-swift-plugin/swift-concurrency-guard)<a href="https://agentmods.dev/skills/sethcalkins/claude-ios-swift-plugin/swift-concurrency-guard"><img src="https://agentmods.dev/badge/skills/sethcalkins/claude-ios-swift-plugin/swift-concurrency-guard/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.
<a href="https://agentmods.dev/skills/sethcalkins/claude-ios-swift-plugin/swift-concurrency-guard"><img src="https://agentmods.dev/badge/skills/sethcalkins/claude-ios-swift-plugin/swift-concurrency-guard.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00055 | $0.02745 |
| Opus 5 | $0.00028 | $0.01373 |
| Sonnet 5 | $0.00011 | $0.00549 |
| Haiku 4.5 | $0.00006 | $0.00275 |
Grade A, and why
swift-concurrency-guard 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 11d 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.
How it starts
The opening of the file, as written. The whole thing — 457 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Swift Concurrency Guard
Overview
The Concurrency Guard is a SwiftSyntax-based static analyzer that blocks edits introducing concurrency anti-patterns. It runs as a Claude Code PreToolUse hook, preventing regressions before they happen.
Blocker Rules (Exit Code 2)
These rules block edits when violated. Claude receives the error and must fix the code.
CC-CONC-001 — No Task.detached
Why: Unstructured tasks cause priority inversions and are hard to cancel. SSE reconnection loops using Task.detached became unbounded/unowned.
Detect: Task.detached anywhere outside allowlisted paths.
Fix: Replace with structured Task {} owned by a lifecycle object; store handle + cancel.
// BAD
Task.detached { await fetchData() }
// GOOD
private var fetchTask: Task<Void, Never>?
func startFetch() {
fetchTask = Task { await fetchData() }
}
deinit { fetchTask?.cancel() }
CC-CONC-002 — No Task in init for App-Critical Types
Why: Actor hops during sync init cause launch hangs ("actor hop during sync init").
Scope: App, Scene, AppShellState, ViewModels, Coordinators, Services created at launch.
Detect: In init() { ... } block, forbid Task {, Task(, await, withTaskGroup.
Fix: Move to .task {} in the view, or an explicit async start() called from .task.
// BAD
init() {
Task { await loadData() } // Actor hop in sync init!
}
// GOOD
init() {
// Synchronous setup only
}
var body: some View {
ContentView()
.task { await viewModel.start() }
}
CC-CONC-003 — No Async Work in Render/Layout Paths
Why: Tasks launched during layoutSubviews → CA::Transaction::commit hangs.
Detect: Forbid Task creation inside:
var body: some View { ... }(and nested builders)layoutSubviews,updateUIView,updateNSView,draw(_:),viewDidLayoutSubviews,updateConstraints
Fix: Use .task(id:), onAppear (guarded), or a coordinator started after first frame.
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.
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.
- 11d ago First seen · 457 lines · 55 tokens per session scan A 6ad6b499ee79
swift-concurrency-guard is a skill published in the GitHub repository SethCalkins/claude-ios-swift-plugin (2 stars, last pushed 7mo ago), licensed MIT. It adds 55 tokens to every session and 2,745 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.
Other skills, from other repositories
swift-concurrency-expert
Swift concurrency review/fix: compiler errors, Sendable, isolation, remediation.
axiom-analyze-swift-performance
Use when the user mentions Swift performance audit, code optimization, or performance review.
kotlin-tooling-native-build-performance
Diagnoses and fixes slow Kotlin/Native compilation and linking in Kotlin Multiplatform projects that target iOS. Use when the user reports slow iOS or shared-framework builds, long linkDebug/linkRelease or XCFramework tasks, cold CI builds that re-download the Kotlin/Native toolchain, KSP or other generated code on…
xcode-compilation-analyzer
Analyze Swift and mixed-language compile hotspots using build timing summaries and Swift frontend diagnostics, then produce a recommend-first source-level optimization plan. Use when a developer reports slow compilation, type-checking warnings, expensive clean-build compile phases, long CompileSwiftSources tasks…
kotlin-coroutines-skill
Load, when a developer writes, reviews, or debugs Kotlin coroutine code and needs help spotting concurrency bugs — GlobalScope leaks, runBlocking in suspend, missing Flow catch, hardcoded or wrong dispatchers, unhandled timeouts, cancellation and structured-concurrency mistakes — or asks how to make async Kotlin…
agent-swift-build-resolver
Swift/Xcode build, compilation, and dependency error resolution specialist. Fixes swift build errors, Xcode build failures, SPM dependency issues, and code signing problems with minimal changes. Use when Swift builds fail.