Agent skill
xcb-config
Configure xcb.json to map Xcode schemes to workspaces/projects for building with xcb
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/xcb-config-jcfontecha-markdown-editor-ios
SKILL.md
xcb Configuration Guide
xcb is a CLI wrapper around xcodebuild. The xcb.json file maps scheme names to their containers (workspace, project, or Swift package).
Config Structure
{
"version": 1,
"open": {
"defaultTarget": "app",
"aliases": {
"demo": "demo-app",
"kit": "packages"
}
},
"builds": [
{
"id": "optional-identifier",
"scheme": "SchemeName",
"workspace": "Path/To/App.xcworkspace",
"destination": "platform=iOS Simulator,name=iPhone 15",
"configuration": "Debug"
}
]
}
Build Entry Fields
| Field | Required | Description |
|---|---|---|
scheme |
Yes | Xcode scheme name (must match exactly) |
workspace |
One of these | Path to .xcworkspace file |
project |
required | Path to .xcodeproj file |
packageDir |
Path to Swift package directory | |
id |
No | Identifier for the build entry |
destination |
No | xcodebuild destination string |
configuration |
No | Build configuration (Debug/Release) |
sdk |
No | SDK name (iphonesimulator, iphoneos, macosx) |
Open Shortcuts
If your repo has multiple Xcode containers, configure which one xcb open should use:
{
"open": {
"defaultTarget": "app",
"aliases": {
"demo": "demo-app",
"kit": "packages"
}
}
}
open.defaultTargetpoints to a build entry byid(preferred) or byscheme.open.aliasesmaps short names to build entryid(or scheme).
Then:
xcb open # opens defaultTarget
xcb open demo # opens aliases.demo
Common Destinations
- iOS Simulator:
"platform=iOS Simulator,name=iPhone 15" - Generic iOS:
"generic/platform=iOS" - macOS:
"platform=macOS" - watchOS Simulator:
"platform=watchOS Simulator,name=Apple Watch Series 9 (45mm)"
How to Configure
- Run
xcb schemesto list available schemes from the workspace/project - For each scheme you want to build, add a build entry with:
- The exact
schemename - The
workspaceorprojectpath containing that scheme - Optional
destinationandconfiguration
- The exact
Example: App with SPM Dependencies
{
"version": 1,
"builds": [
{
"id": "app",
"scheme": "MyApp",
"workspace": "MyApp.xcworkspace",
"destination": "platform=iOS Simulator,name=iPhone 15",
"configuration": "Debug"
},
{
"id": "tests",
"scheme": "MyAppTests",
"workspace": "MyApp.xcworkspace",
"destination": "platform=iOS Simulator,name=iPhone 15",
"configuration": "Debug"
}
]
}
Example: Swift Package
{
"version": 1,
"builds": [
{
"scheme": "MyLibrary",
"packageDir": ".",
"destination": "generic/platform=iOS"
}
]
}
Example: Swift Package that Uses UIKit (macOS swift build will fail)
If any package targets import UIKit, do not rely on swift build on macOS. Use an iOS Simulator destination in xcb.json:
{
"version": 1,
"builds": [
{
"id": "uikit-package",
"scheme": "MyUIKitPackage",
"packageDir": ".",
"destination": "platform=iOS Simulator,name=iPhone 15",
"configuration": "Debug"
}
]
}
Notes:
xcbwill auto-generate a.xcodeprojfor the package if needed.- If you explicitly pass
--destinationor--sdk, those override defaults.
Usage After Configuration
xcb MyApp # Build the MyApp scheme
xcb MyAppTests # Build the test scheme
xcb schemes # List all available schemes
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?