modern-swift — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited modern-swift (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.
Focused reference for Swift language features that are commonly misused or forgotten but are not concurrency-related. Concurrency lives in the swift-concurrency skill; this skill deliberately does not duplicate it.
| Topic | File | Load when |
|---|---|---|
@available, #available, deprecation, renames | references/attributes.md#availability | Marking API availability, deprecating, renaming, or gating runtime behavior on OS version |
@discardableResult | references/attributes.md#discardableresult | Function returns a value callers may reasonably ignore |
@frozen | references/attributes.md#frozen | Library author deciding whether an enum/struct layout is stable |
@inlinable, @usableFromInline | references/attributes.md#inlinable | Performance-critical code in a resilient library |
@backDeployed | references/attributes.md#backdeployed | Shipping a new API to clients running older OSes |
@resultBuilder | references/attributes.md#resultbuilder | Building a DSL (SwiftUI-style) |
@propertyWrapper | references/attributes.md#propertywrapper | Encapsulating get/set behavior on stored properties |
#Preview | references/macros.md#preview | Writing SwiftUI previews |
| Custom macros | references/macros.md#custom-macros | Understanding or authoring Swift macros |
async, await, actor, @MainActor, Sendable,@Observable, @preconcurrency) belong to swift-concurrency. Do not answer them from this skill - defer.
resilient libraries (frameworks distributed as binaries with ABI stability). App targets rarely need them. If the user is writing an app, say so and suggest the simpler alternative.
@usableFromInline, body must follow @inlinable restrictions, methods on classes must be final, stored properties are excluded. See references/attributes.md#backdeployed.
and has no effect outside resilient libraries. Remove it.
properties (no storage), functions, final methods, and subscripts.
emitted into client binaries, so it can only reference public or @usableFromInline symbols.
unused" warnings for legitimate call sites. Mark the method, don't tell the caller to add _ =.
recursion, but it's still clearer to clamp in the setter of a computed wrappedValue backed by a private stored value. See the canonical pattern in references/attributes.md#propertywrapper.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.