swift-language-pro — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited swift-language-pro (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Write idiomatic, safe, modern Swift. Follow Apple's API Design Guidelines.
Trigger: /swift-language-pro.
struct/enum) by default; use class only for identity orreference semantics.
❌
class Point { var x = 0.0; var y = 0.0 } // accidental shared mutation✅
struct Point { var x = 0.0; var y = 0.0 }❌ Two bools that allow impossible states
struct State { var isLoading: Bool; var error: Error? } // loading + error?✅
enum LoadState<Value> { case idle, loading, loaded(Value), failed(Error) }if let / guard let; avoid force-unwrap ! outside tests.guard for early exit, keeping the happy path unindented.❌
func name(_ u: User?) -> String { return u!.name }✅
func name(_ u: User?) -> String {
guard let u else { return "Guest" }
return u.name
}❌ Boolean failure
func save() -> Bool✅
enum SaveError: Error { case diskFull, notAuthorized }
func save() throws // call sites use try/catch; errors carry meaning❌
func insertObject(_ obj: Element, atIndex i: Int)
list.insertObject(x, atIndex: 0)✅
func insert(_ element: Element, at index: Int)
list.insert(x, at: 0)where; prefer protocols with associated types over Any.✅
func max<C: Collection>(of items: C) -> C.Element? where C.Element: Comparable {
items.max()
}class where a struct would do.! in app code.Bool/nil for failures instead of throws.Any/type-erasure where a generic constraint fits.Per issue: file:line, the guideline violated, before/after. Lead with safety (force-unwraps, impossible states) before style.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.