Install
Terminal · npx$
npx skills add https://github.com/johnrogers/claude-swift-engineering --skill swift-styleWorks with Paperclip
How Swift Style fits into a Paperclip company.
Swift Style drops into any Paperclip agent that handles this kind of work. Assign it to a specialist inside a pre-configured PaperclipOrg company and the skill becomes available on every heartbeat — no prompt engineering, no tool wiring.
S
SaaS FactoryPaired
Pre-configured AI company — 18 agents, 18 skills, one-time purchase.
$27$59
Explore packSource file
SKILL.md148 linesExpandCollapse
---name: swift-styledescription: Swift code style conventions for clean, readable code. Use when writing Swift code to ensure consistent formatting, naming, organization, and idiomatic patterns.--- # Swift Style Guide Code style conventions for clean, readable Swift code. ## Core Principles **Clarity > Brevity > Consistency** Code should compile without warnings. ## Naming - `UpperCamelCase` — Types, protocols- `lowerCamelCase` — Everything else- Clarity at call site- No abbreviations except universal (URL, ID) ```swift// Preferredlet maximumWidgetCount = 100func fetchUser(byID id: String) -> User``` ## Golden Path Left-hand margin is the happy path. Don't nest `if` statements. ```swift// Preferredfunc process(value: Int?) throws -> Result { guard let value = value else { throw ProcessError.nilValue } guard value > 0 else { throw ProcessError.invalidValue } return compute(value)}``` ## Code Organization Use extensions and MARK comments: ```swiftclass MyViewController: UIViewController { // Core implementation} // MARK: - UITableViewDataSourceextension MyViewController: UITableViewDataSource { }``` ## Spacing - Braces open on same line, close on new line- One blank line between methods- Colon: no space before, one space after ## Self Avoid `self` unless required by compiler. ```swift// Preferredfunc configure() { backgroundColor = .systemBackground}``` ## Computed Properties Omit `get` for read-only: ```swiftvar diameter: Double { radius * 2}``` ## Closures Trailing closure only for single closure parameter. ## Type Inference Let compiler infer when clear. For empty collections, use type annotation: ```swiftvar names: [String] = []``` ## Syntactic Sugar ```swift// Preferredvar items: [String]var cache: [String: Int]var name: String?``` ## Access Control - `private` over `fileprivate`- Don't add `internal` (it's the default)- Access control as leading specifier ## Memory Management ```swiftresource.request().onComplete { [weak self] response in guard let self else { return } self.updateModel(response)}``` ## Comments - Explain **why**, not what- Use `//` or `///`, avoid `/* */`- Keep up-to-date or delete ## Constants Use case-less enum for namespacing: ```swiftenum Math { static let pi = 3.14159}``` ## Common Mistakes 1. **Abbreviations beyond URL, ID, UUID** — Abbreviations like `cfg`, `mgr`, `ctx`, `desc` hurt readability. Spell them out: `configuration`, `manager`, `context`, `description`. The three exceptions are URL, ID, UUID. 2. **Nested guard/if statements** — Deep nesting makes code hard to follow. Use early returns and guards to keep the happy path left-aligned. 3. **Inconsistent self usage** — Either always omit `self` (preferred) or always use it. Mixing makes code scanning harder and confuses capture semantics. 4. **Overly generic type names** — `Manager`, `Handler`, `Helper`, `Coordinator` are too vague. Names should explain responsibility: `PaymentProcessor`, `EventDispatcher`, `ImageCache`, `NavigationCoordinator`. 5. **Implied access control** — Don't skip access control. Explicit `private`, `public` helps future maintainers understand module boundaries. `internal` is default, so omit it.Related skills
1password
Install 1password skill for Claude Code from steipete/clawdis.
3d Web Experience
Install 3d Web Experience skill for Claude Code from sickn33/antigravity-awesome-skills.
Ab Test Setup
This handles the full A/B testing workflow from hypothesis formation to statistical analysis. It walks you through proper test design, calculates sample sizes,