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 0xMassi/claude-skills --skill swift-strictgit clone --depth 1 https://github.com/0xMassi/claude-skillsWrote 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/0xmassi/claude-skills/swift-strict)<a href="https://agentmods.dev/skills/0xmassi/claude-skills/swift-strict"><img src="https://agentmods.dev/badge/skills/0xmassi/claude-skills/swift-strict/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/0xmassi/claude-skills/swift-strict"><img src="https://agentmods.dev/badge/skills/0xmassi/claude-skills/swift-strict.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.00087 | $0.03218 |
| Opus 5.5 | $0.00035 | $0.01287 |
| Sonnet 5.5 | $0.00017 | $0.00644 |
| Haiku 4.5 | $0.00009 | $0.00322 |
Grade A, and why
swift-strict 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 1mo 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 — 474 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Swift Strict Standard
Rules extracted from 3 production SwiftUI iOS apps.
CRITICAL: Unwrapping Rules
SW-01: Never force unwrap in production code
// BAD
let name = user!.name
let url = URL(string: urlString)!
let day = calendar.date(byAdding: .day, value: -1, to: date)!
// GOOD
guard let name = user?.name else { return }
guard let url = URL(string: urlString) else {
throw AppError.invalidURL(urlString)
}
guard let day = calendar.date(byAdding: .day, value: -1, to: date) else { return }
Exceptions (very rare, must justify):
fatalError()inrequired init?(coder:)for programmatic-only views@IBOutletconnections (but prefer programmatic UI)
SW-02: Use guard let for early returns, if let for scoped binding
// GOOD: guard for early exit (preferred pattern)
func listNotes(in folder: String) -> [Note] {
guard let root = cloud.stikRoot else { return [] }
guard let files = try? fm.contentsOfDirectory(at: root) else { return [] }
return files.filter { ... }
}
// GOOD: if let when value only needed in branch
if let fileName = removed.photoFilename {
let url = Self.photosDir.appendingPathComponent(fileName)
try? fm.removeItem(at: url)
}
Default to guard. Use if-let only when the value is needed for one branch.
SW-03: Avoid try? for critical operations
// BAD: silently swallows error
try? FileManager.default.createDirectory(at: dir, withIntermediateDirectories: true)
// GOOD: handle or propagate
do {
try FileManager.default.createDirectory(at: dir, withIntermediateDirectories: true)
} catch {
logger.error("Failed to create directory: \(error)")
throw AppError.fileSystemError(error)
}
// ACCEPTABLE: truly optional operations
try? fm.removeItem(at: tempFile) // Cleanup, failure is OK
CRITICAL: Error Handling
SW-04: Custom error enums with LocalizedError
enum AppError: LocalizedError {
case invalidFolderName
case containerUnavailable
case networkUnavailable
case unauthorized
case serverError(Int)
var errorDescription: String? {
switch self {
case .invalidFolderName: String(localized: "error_invalid_folder")
case .containerUnavailable: String(localized: "error_container")
case .networkUnavailable: String(localized: "error_network")
case .unauthorized: String(localized: "error_unauthorized")
case .serverError(let code): String(localized: "error_server \(code)")
}
}
}
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.
- 1mo ago First seen · 474 lines · 87 tokens per session scan A e97746ac47c9
swift-strict is a skill published in the GitHub repository 0xMassi/claude-skills (8 stars, last pushed 6mo ago), licensed MIT. It adds 87 tokens to every session and 3,218 once invoked, about $0.0003 per session on Opus 5.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
android-development
Android development guidelines for Kotlin with clean architecture, MVI pattern, Material Design, and best practices for building robust mobile applications.
kotlin-development
Kotlin development guidelines with best practices for clean code, naming conventions, function design, and data handling.
flutter
Expert in Flutter and Dart development with clean architecture and state management.
coding-best-practices
Reviews Swift/iOS code for adherence to modern Swift idioms, Apple platform best practices, architecture patterns, and code quality standards. Use when user mentions best practices, code review, clean code, refactoring, or wants to improve code quality.
kotlin-reviewer
Use when reviewing a Kotlin/Spring Boot pull request, systematic checklist covering architecture, idioms, testing, security, and observability.
dart-flutter-patterns
Dart 3.x / Flutter discipline — null safety mandatory; force-unwrap (!) banned outside justified narrow cases; const constructors everywhere possible; Riverpod / BLoC for state; freezed for immutable models + sealed unions; gorouter for navigation; structured concurrency via async/await + Stream; Material 3 /…