swift-api-design-guidelines — Claude Code skill: how to install
Applies Apple's official Swift API Design Guidelines to codebases. It guides argument labels, naming conventions for mutating methods, and structured documentation comments.
npx skills add dpearson2699/swift-ios-skills --skill swift-api-design-guidelines -a claude-codeWhat swift-api-design-guidelines does
This skill guides developers through naming Swift functions, parameters, and types. It clarifies when to drop argument labels, how to integrate prepositions into call sites, and why mutating operations take imperative verbs like sort() while nonmutating copies take participles like sorted().
A dedicated section covers documentation structure for public declarations. It expects summaries to state what a declaration creates or accesses, alongside symbol markup for parameters, errors, and algorithmic complexity. Because callers assume computed properties execute in O(1) time, the guidelines mandate explicit complexity notes for any property exceeding constant time.
Its scope centers strictly on naming ergonomics and call-site readability. When facing concurrency logic, deeper type-system mechanics, or linter configuration, the guide delegates to swift-concurrency, swift-language, or swiftlint.
What it helps with
- choose argument labels that read naturally at the call site
- name mutating and nonmutating method pairs following standard grammar patterns
- write documentation comments with parameter tags and return descriptions
- mark algorithmic complexity on computed properties that exceed O(1)
Example prompts for the agent
- Review this Swift method signature and verify argument labels against the API guidelines.
- Help me choose a nonmutating name for an operation that modifies a custom collection.
- Draft a documentation comment for a computed property with O(n) complexity.
How to install swift-api-design-guidelines
1Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill swift-api-design-guidelines -a claude-code2Manually: put the files in place
~/.claude/skills/swift-api-design-guidelines/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/swift-api-design-guidelines/
1Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill swift-api-design-guidelines -a codex2Manually: put the files in place
.agents/skills/swift-api-design-guidelines/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill swift-api-design-guidelines -a cursor2Manually: put the files in place
.cursor/skills/swift-api-design-guidelines/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install dpearson2699/swift-ios-skills swift-api-design-guidelines2Manually: put the files in place
.github/skills/swift-api-design-guidelines/SKILL.md1Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill swift-api-design-guidelines -a gemini-cli2Platform CLI
gemini skills install https://github.com/dpearson2699/swift-ios-skills --path skills/swift-api-design-guidelinesManually: put the files in place
.devin/skills/swift-api-design-guidelines/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill swift-api-design-guidelines -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about swift-api-design-guidelines
How do I install swift-api-design-guidelines in Claude Code?
Run npx skills add dpearson2699/swift-ios-skills --skill swift-api-design-guidelines -a claude-code.
What does the swift-api-design-guidelines skill do?
It audits and designs Swift public APIs following official naming and clarity conventions. The skill helps refine parameter labels, method pairs, and documentation markup.
Does this skill handle Swift concurrency or linter setups?
No, it focuses solely on API surface design and call-site ergonomics. Concurrency patterns go to swift-concurrency, and linter configuration belongs in swiftlint.