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 agentmods add agents/okminlee/everything-claude-code-ios/swift-tdd-guide-examplegit clone --depth 1 https://github.com/OkminLee/everything-claude-code-iosWrote 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/agents/okminlee/everything-claude-code-ios/swift-tdd-guide-example)<a href="https://agentmods.dev/agents/okminlee/everything-claude-code-ios/swift-tdd-guide-example"><img src="https://agentmods.dev/badge/agents/okminlee/everything-claude-code-ios/swift-tdd-guide-example.svg" alt="Measured on agentmods" 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 | $0.00000 | $0.01360 |
| Opus 5 | $0.00000 | $0.00680 |
| Sonnet 5 | $0.00000 | $0.00272 |
| Haiku 4.5 | $0.00000 | $0.00136 |
Grade A, and why
swift-tdd-guide-example 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 4d 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 — 232 lines — stays where its author put it; the contents beside it link to each section on GitHub.
swift-tdd-guide 사용 예제
TDD 방식으로 새 기능을 개발하는 세션 예시입니다.
시나리오
상품 검색 기능을 TDD로 개발하는 상황입니다.
세션 예시
사용자 요청
@swift-tdd-guide
상품 검색 기능을 TDD로 개발하고 싶어.
- 검색어로 상품 목록 조회
- 빈 검색어는 전체 목록 반환
- 네트워크 에러 시 로컬 캐시 반환
에이전트 응답 예시
## TDD 워크플로우 시작
### Step 1: 테스트 케이스 정의
```swift
// Tests/ProductSearchServiceTests.swift
import Testing
@testable import MyApp
@Suite("ProductSearchService Tests")
struct ProductSearchServiceTests {
var sut: ProductSearchService!
var mockRepository: MockProductRepository!
init() {
mockRepository = MockProductRepository()
sut = ProductSearchService(repository: mockRepository)
}
// MARK: - 검색 성공 케이스
@Test("검색어로 상품 조회 시 일치하는 상품 반환")
func searchWithQuery_returnsMatchingProducts() async throws {
// Given
let expectedProducts = [Product.mock(name: "iPhone")]
mockRepository.searchResult = .success(expectedProducts)
// When
let result = try await sut.search(query: "iPhone")
// Then
#expect(result.count == 1)
#expect(result.first?.name == "iPhone")
}
@Test("빈 검색어로 조회 시 전체 상품 반환")
func searchWithEmptyQuery_returnsAllProducts() async throws {
// Given
let allProducts = [Product.mock(), Product.mock()]
mockRepository.allProductsResult = .success(allProducts)
// When
let result = try await sut.search(query: "")
// Then
#expect(result.count == 2)
}
// MARK: - 에러 케이스
@Test("네트워크 에러 시 캐시된 결과 반환")
func searchWithNetworkError_returnsCachedResults() async throws {
// Given
mockRepository.searchResult = .failure(NetworkError.noConnection)
mockRepository.cachedProducts = [Product.mock(name: "Cached")]
// When
let result = try await sut.search(query: "test")
// Then
#expect(result.first?.name == "Cached")
}
@Test("네트워크 에러이고 캐시도 없으면 에러 throw")
func searchWithNetworkErrorAndNoCache_throwsError() async {
// Given
mockRepository.searchResult = .failure(NetworkError.noConnection)
mockRepository.cachedProducts = []
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.
- 4d ago First seen · 232 lines · 0 tokens per session scan A bc6936b1c751
swift-tdd-guide-example is an agent published in the GitHub repository OkminLee/everything-claude-code-ios (58 stars, last pushed 5mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,360 tokens. 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.
Other agents, from other repositories
android-dev
Android/Kotlin development expert. Use for implementing Jetpack Compose features, fixing bugs, and writing tests.
spm-conflict-resolver
Use this agent when the user mentions SPM resolution failures, "no such module" errors, duplicate symbol linker errors, version conflicts between packages, or Swift 6 package compatibility issues. Analyzes Package.swift and Package.resolved to diagnose and resolve Swift Package Manager dependency conflicts. user: "SPM…
swiftui-modernization
Migrates legacy SwiftUI and UIKit to current APIs — ObservableObject to @Observable, NavigationView to NavigationStack, completion handlers to async/await, AnyView removal, deprecated modifiers. Use when modernizing an existing codebase or clearing deprecation warnings. Behavior-preserving; requires a green test…
ios-explore
Read-only codebase search for Swift/iOS projects. Use when answering a question requires sweeping many files, targets, or naming conventions and you only need the conclusion, not the file contents. Returns file:line citations. Safe to run several of these in parallel.
copilot
cd your-android-project git clone https://github.com/haidrrrry/compose-kotlin-agent-skills.git .github/skills/compose-kotlin-agent-skills.
aider
Aider reads CONVENTIONS.md, .aider.conf.yml, and files you add to context.