xcode-project-setup Skill for Claude: Add Swift Packages to Xcode Projects
xcode-project-setup, from Google's Firebase skills, lets your agent add Swift packages to an Xcode project with a bundled Swift script.
- Installs
- 134.2K
- on skills.sh
- Stars
- 497
- on GitHub
- Files
- 4
- besides SKILL.md
- Updated
- Oct 2026
- last repo commit
xcode-project-setup makes the agent change an Xcode project by running a Swift package bundled with the skill, not by editing .pbxproj with text tools or Ruby. The script adds a Swift Package dependency, links the product modules to the main target and optionally adds a GoogleService-Info.plist.
It is built around rules: no Ruby or the xcodeproj gem at all, Swift for any extra scripting, and write new source files to disk because modern Xcode synchronises folders. For Firebase packages the script adds the -ObjC linker flag, and with FirebaseCrashlytics it also sets DWARF with dSYM and adds a Crashlytics run-script build phase.
It needs macOS and Swift. If no .xcodeproj exists, the agent asks you to create an empty one in Xcode first.
Good for
- iOS developers adding Firebase or other SPM dependencies from an agent
- Teams that want the agent to avoid hand-editing .pbxproj files
- macOS users with Swift installed
Install xcode-project-setup
Claude Code
- 1
Copy this prompt.
Install the xcode-project-setup skill in Claude Code. Run this command: claude plugin marketplace add firebase/agent-skills claude plugin install firebase@firebase Then check that it loaded and tell me how to use it.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Node.js 20+, Google account.
The plugin route is the one the Firebase skills recommend for Claude Code. It installs all 13 skills in the repo and a Firebase MCP server, which .mcp.json starts with npx -y firebase-tools@15.32.1 mcp --dir . (version at review time). Restart Claude Code afterwards. The skills CLI route installs only the skills named. Every route needs Node.js 20 or newer, and the skills run the Firebase CLI through npx, so you also sign in to Firebase with a Google account. The README writes the marketplace as firebase/skills; the repository is firebase/agent-skills, the name the vendor Claude Code setup guide uses.
From the vendor's docs. Source.
What's in the skill
When it loads
Safely modifies Xcode projects (.pbxproj) to add Swift Packages and link files. Use this skill whenever an iOS project needs dependencies installed (e.g. Firebase, Alamofire).
Sections in SKILL.md
- ⛔️ CRITICAL RULES & ENVIRONMENT CHECKS
- 1. The Anti-Ruby Mandate
- 2. Modern Xcode Folder Synchronization
- 3. Allowed Scripting Languages
- 4. Toolchain Verification
- 5. Mandatory Linker Flags for Static Frameworks (Firebase)
- Empty Directory Workflow
- Standard Xcode Workflow
- CRITICAL: Always Use Latest SDK Version
- Understanding the Script's Actions
- Usage
- Example 1: Generic Package (e.g., Alamofire)
- Example 2: Firebase (Requires Plist)
Key facts
- Installs on skills.sh
- 134,165 as of 2026-11-02
- GitHub stars (whole repo)
- 497 as of 2026-11-02
- Last repo commit
- 2026-10-30
- skills.sh audits
- Gen Agent Trust Hub pass, Socket pass, Snyk pass
- Category
- ApplicationDevelopment
What it includes
No Ruby, Swift for scripts, no manual .pbxproj edits
The skill forbids Ruby and the xcodeproj gem, and says to use Swift (Node.js only as a last resort) for extra scripts. New files go on disk; folder synchronisation picks them up.
Critical rulesswift --version before anything else
If Swift is missing, the agent stops and recommends xcode-select --install, or asks whether to install it.
Runs code ·
Toolchain checkswift run adds a package and links products
Command shape: swift run --package-path <skill>/scripts/xcode_spm_setup xcode_spm_setup <project> <repo URL> <version> [--plist path] <products>. It is idempotent and skips what is already present.
Try: “Add the Firebase iOS SDK with FirebaseAuth and FirebaseFirestore to MyApp.xcodeproj”
Runs code ·
xcode_spm_setup script-ObjC flag; Crashlytics dSYM and run-script phase
For any product with Firebase in its name the script adds -ObjC to OTHER_LDFLAGS. With FirebaseCrashlytics it also sets the debug format to DWARF with dSYMs and adds a Crashlytics Run Script build phase.
Firebase extrasCheck firebase-ios-sdk releases for the version
The agent should use the most recent Firebase iOS SDK release instead of a placeholder version.
Latest SDK versionAsks you to create the Xcode project first
With no .xcodeproj or .xcworkspace, it asks you to create an empty project in Xcode and wait for your confirmation.
Empty directory workflow
From the official docs
Permissions
Medium risk
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It rewrites your .xcodeproj in place
The script loads the project, adds packages, links products, may add a plist, linker flag and Crashlytics build phase, then writes the project back. Use version control so you can diff it. github.com
The first run downloads a third-party Swift library
The bundled Package.swift depends on github.com/tuist/XcodeProj, which swift run resolves and builds. It also fetches the package you ask to add. github.com
The plugin route adds a Firebase MCP server
The Firebase plugin ships an .mcp.json that starts npx -y firebase-tools mcp in your project folder. The skills CLI route does not add it. github.com
Technical details
| Talks to | Firebase and Google Cloud through the Firebase CLI |
|---|---|
| Scopes |
|
Questions
What does xcode-project-setup do?
It lets your agent add Swift Package dependencies to an Xcode project and link them to the target by running a bundled Swift script, rather than hand-editing the project file.
How do I install it in Claude Code?
Use the install box above. The plugin route installs every Firebase skill and the MCP server. The skills CLI route installs only this skill.
Does it work on Windows or Linux?
No. The skill's compatibility line says it requires Swift locally and a macOS environment.
Does it need an API key?
No key is named in the SKILL.md. It needs the Swift toolchain, and the script's own Swift package pulls in the tuist XcodeProj library from GitHub the first time it builds.
Is xcode-project-setup safe to use?
It modifies your .xcodeproj in place, so commit or back up the project first. It builds and runs a Swift package that downloads a third-party library. Check the diff in the project file afterwards.
Why does it ban Ruby?
The SKILL.md forbids Ruby and the xcodeproj gem as a rule, and requires Swift for any scripting, with Node.js or TypeScript only as a last resort.
Information
updated Nov 2, 2026
- Repository
- firebase/agent-skills
- Folder
skills/xcode-project-setup
Sources
Docs, issue trackers and discussions this page is built from.
Show all 7Hide
- agent-skills README · github.com
- firebase-basics Claude Code setup · github.com
- Firebase plugin .mcp.json · github.com
- firebase-basics Cursor setup · github.com
- xcode-project-setup SKILL.md · github.com
- xcode_spm_setup main.swift · github.com
- Package.swift · github.com