PlugWiki

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. 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. 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

  1. ⛔️ CRITICAL RULES & ENVIRONMENT CHECKS
  2. 1. The Anti-Ruby Mandate
  3. 2. Modern Xcode Folder Synchronization
  4. 3. Allowed Scripting Languages
  5. 4. Toolchain Verification
  6. 5. Mandatory Linker Flags for Static Frameworks (Firebase)
  7. Empty Directory Workflow
  8. Standard Xcode Workflow
  9. CRITICAL: Always Use Latest SDK Version
  10. Understanding the Script's Actions
  11. Usage
  12. Example 1: Generic Package (e.g., Alamofire)
  13. 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
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 rules

  • swift --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 check

  • swift 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 extras

  • Check 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 version

  • Asks 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 toFirebase and Google Cloud through the Firebase CLI
Scopes
  • Google account signed in to the Firebase CLI

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

Folder
skills/xcode-project-setup

firebase/agent-skillsskills.sh

Sources

Docs, issue trackers and discussions this page is built from.

Show all 7
  1. agent-skills README · github.com
  2. firebase-basics Claude Code setup · github.com
  3. Firebase plugin .mcp.json · github.com
  4. firebase-basics Cursor setup · github.com
  5. xcode-project-setup SKILL.md · github.com
  6. xcode_spm_setup main.swift · github.com
  7. Package.swift · github.com

Updated Nov 2, 2026.