name: apple-platform-workspace-selection description: Use when the Apple setup flow needs to choose or confirm SPM versus Xcode, native versus XcodeGen, and the required tool prerequisites for the selected workspace shape.
Apple Platform Workspace Selection
Use this skill after capability discovery and the project interview.
When to Use
Use this skill when:
- the workspace shape is still undecided
- an existing repo needs its current workspace strategy confirmed
XcodeGenversus nativexcodeprojis still open- tool prerequisites depend on the selected workspace path
Workspace Rules
- If the repo already clearly uses
SPM, keepSPMunless the user explicitly wants migration. - If the repo already clearly uses native
xcodeproj, keep native unless the user explicitly wants migration. - If the repo already clearly uses
project.yml, keepXcodeGenunless the user explicitly wants migration. - Treat
XcodeGenas anXcodesub-mode, not as a third workspace shape.
Choose SPM when:
- the project is package-first, library-first, CLI-first, or intentionally lightweight
Choose Xcode when:
- the project is app-first
- app lifecycle targets matter
- asset catalogs, schemes, or Xcode project settings are central
Within Xcode:
- keep native checked-in
xcodeprojas the default - offer
XcodeGenonly when declarative manifests or project-file merge relief are explicit goals
Tool Prerequisite Checks
Check for:
npxgitlintswiftlintxcodegenwhen the selected strategy isXcodeGenghwhen GitHub automation is requestedxcrunwhenxcodeMCP is requested for anxcodeworkspacesosumionly when the user explicitly wants the CLImcp-remoteonly when the user wants thesosumistdio fallback
If a required tool is missing:
- explain why it is needed
- propose one concrete global install command
- wait for explicit confirmation before running it
Snippet Set Selection
Resolve one path only:
SPMXcode + nativeXcode + XcodeGen
The selected path controls README baseline, .gitignore, SwiftLint snippet, workflow snippets, and Xcode generation behavior.