Quickstart
Install foundation skills, point an agent at this repo, and complete a first verified session.
Get from a clone of this repository to a working agent session in a few minutes. Skills target the consumer app you build next — not this repo’s archived package.
Prerequisites
| Tool | Why |
|---|---|
| Xcode (recent stable) | Build/test iOS and macOS targets |
| Codex | Supported and verified host for this repository’s installer, skill discovery, and $skill-name workflow |
| XcodeBuildMCP | Preferred build/test/simulator MCP |
| Node.js 22.12+ | Optional — this Blume docs site only |
| Maestro | Optional until you need UI flows |
See Tools for the full stack.
Other skill- and MCP-capable hosts have documentation-only/manual compatibility; this repository does not provide verified Cursor or Claude Code adapters. Read Agent host support before adapting these instructions.
1. Install skills
From the repository root:
./Scripts/install-skills.sh --dry-run # preview
./Scripts/install-skills.sh
./Scripts/verify-skills.sh
| Fact | Detail |
|---|---|
| Default target | ${CODEX_HOME:-$HOME/.codex}/skills |
| What install does | Symlinks installable skills from .agents/skills/ into user scope |
| State file | .apple-development-foundation-links under the target (installer-owned only) |
Install failure modes
| Message / situation | What to do |
|---|---|
Conflict; leaving untouched: … |
Something already occupies that skill name. Inspect the path; do not force-overwrite. Rename/remove only if you own it, then re-run install |
Existing identical symlink is not installer-owned |
Destination is correct; leave it. Skills still resolve |
Already installed (installer-owned) |
Success from a prior run |
Missing manifest.json / required tools (python3, awk, readlink) |
Fix the clone and PATH; re-run |
--uninstall removes only installer-owned symlinks that still match recorded destinations (including broken links after a moved repo). Full table: Troubleshooting · Scripts.
2. Configure XcodeBuildMCP
First, give an explicitly selected consumer repository its project-local operating contract. Preview before writing:
./Scripts/init-consumer-guidance.sh --target /path/to/consumer --dry-run
./Scripts/init-consumer-guidance.sh --target /path/to/consumer
The initializer copies the installed bootstrap skill’s
.agents/skills/codex-bootstrap/assets/consumer-AGENTS.md.template to the consumer
root as AGENTS.md. It
refuses an existing AGENTS.md and never edits global ~/.codex/AGENTS.md; review
and manually merge approved sections when consumer instructions already exist.
Customize the template’s project/workspace, scheme, configuration, platforms,
deployment versions, simulator/config, repository-native verification commands,
and Apple verification policy knobs (XcodeBuildMCP CLI fallback and raw
xcodebuild/xcrun/simctl: require-approval by default, or allowed /
denied). Copy-paste the same contract from AGENTS.md template
when you prefer not to run the script.
- Add XcodeBuildMCP to Codex’s MCP server list using current Codex and XcodeBuildMCP documentation.
- In the consumer (or monorepo) workspace root, create project-local config when you need more than the default simulator tools:
# <workspace-root>/.xcodebuildmcp/config.yaml
schemaVersion: 1
enabledWorkflows: ["simulator", "ui-automation", "debugging"]
# Optional sessionDefaults (auto-fill MCP + CLI):
# projectPath or workspacePath, scheme, simulatorId (preferred) or simulatorName
| Fact | Detail |
|---|---|
| Default workflows | simulator (+ session defaults tools). Add more only when needed |
| Need macOS / device / UI automation | Add macos, device, ui-automation, … — configuration · workflows |
| After config change | Reload or restart the MCP session |
| MCP vs CLI names | MCP: build_run_sim, discover_projs. CLI: xcodebuildmcp simulator build-and-run — full map on XcodeBuildMCP |
Interactive setup: xcodebuildmcp setup. List tools: xcodebuildmcp tools. Diagnostics: xcodebuildmcp doctor. Session discipline: XcodeBuildMCP and repo MCP.md.
MCP registration is host-specific. This repository verifies the Codex workflow but does not write host configuration. For any manual compatibility attempt, use the host’s authoritative documentation and do not invent paths or syntax. See Agent host support.
For build, run, and test fallback, follow the deterministic capability ladder: MCP tools; explicitly permitted XcodeBuildMCP CLI; authorized repository-native tooling; otherwise report blocked.
3. Open a session with a structured prompt
Minimal paste:
Goal: Use Apple Development Foundation skills for this Apple-platform task.
Constraints: Work only in the consumer workspace. Follow the authorized XcodeBuildMCP capability ladder. Do not expand AppleDevelopmentFoundation archive/Sources/.
Inputs: Skills at /path/to/AppleDevelopmentFoundation/.agents/skills
Done when: Task implemented, reviews applied if shared/sensitive UI, verification reported.
Verification: session_show_defaults, then MCP build/test; report scheme, simulator, residual risk.
More scenarios: Copy-paste prompts.
4. First task checklist
- Confirm active workspace = consumer app/package (not this foundation repo unless skill maintenance was requested).
- Route:
$apple-development-foundationfor new chats and new-app bootstrap (it shortlists$codex-bootstrap). Invoke a child skill directly only when it is already selected or the task is clearly scoped to that child ($swiftui-component-author, …). - Call
session_show_defaultsbefore the first build/run/test; report the project/workspace, scheme, configuration, and exact simulator/device, then fix missing values viasession_set_defaultsif needed. - For simulator launch, prefer MCP
build_run_sim. Use the matching CLI only when active policy explicitly permits that fallback. - Implement only what the task needs; run review skills before shipping shared UI or sensitive code.
- Verify with XcodeBuildMCP (and Maestro when UI regression matters); pin
simulatorId, wait for same-project test processes, and keep simulator tests serialized with parallel testing disabled by default. - Report project/workspace, scheme, configuration, exact simulator/device, what ran, and residual risk.
Scenario paths: Task recipes.
5. How you know it worked
| Check | Pass looks like |
|---|---|
| Skills | Codex can resolve $codex-bootstrap / foundation skills, or its repository path load works |
| Consumer contract | Project-local AGENTS.md exists or approved rules were merged without replacing existing instructions |
| Verify script | ./Scripts/verify-skills.sh exits 0 after install or skill edits |
| MCP | session_show_defaults returns usable project/scheme/simulator (or clear missing fields you then fix) |
| App work | Build/test via MCP succeeds for the consumer target |
6. Preview these docs (optional)
npm install
npm run dev
# production check:
npm run build && npm run validate
Requires Node.js ≥ 22.12. App/skill work does not require the docs site.
Next
- Task recipes — pick the matching scenario
- Session workflow — full loop when the task spans multiple steps
- Skill routing —
$apple-development-foundationshortlist - Bootstrap a new app — new consumer SwiftUI project
- Agent host support — verified vs manual compatibility
- Troubleshooting — install / MCP / Maestro blockers
Agent feed (after deploy): site-root llms.txt. Skills source of truth: .agents/skills/manifest.json + each SKILL.md.