Install
$ agentstack add skill-gaelic-ghost-socket-xcode-app-project-workflow ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Xcode App Project Workflow
SwiftData And SwiftUI Rule
When a task combines SwiftData with SwiftUI, keep SwiftData directly coupled to SwiftUI through Apple's data-driven path: modelContainer, environment modelContext, @Query, SwiftData model objects, and bindings. Do not add repositories, stores, service layers, DTO mirrors, view-model caches, wrapper objects, or other abstraction layers between SwiftData and SwiftUI. If this skill is not the right owner for SwiftData-backed SwiftUI work, hand off to apple-dev-skills:swiftui-app-architecture-workflow instead of inventing an intermediate data layer.
Purpose
Use this skill as a compatibility surface for older references to xcode-app-project-workflow while the repo transitions to narrower Xcode execution skills. The real long-term owners are xcode-build-run-workflow for build, run, diagnostics, toolchain, and guarded mutation work and xcode-testing-workflow for Swift Testing, XCTest, XCUITest, and .xctestplan work. scripts/run_workflow.py is intentionally routing-only now: it infers enough workspace context to choose the real owner and preserves the direct .pbxproj warning boundary so older flows continue to work during the migration window.
When To Use
- Use this skill when older docs, prompts, or install surfaces still name
xcode-app-project-workflow. - Use this skill when the request is broad and the first job is deciding between the narrower Xcode build/run and testing skills.
- Use this skill after Apple or Swift docs have already been gathered through
explore-apple-swift-docsand the work has shifted into Xcode-aware execution or implementation. - Do not use this skill as the default path for ordinary Xcode build/run work or ordinary Xcode testing work now that narrower skills exist.
- Do not use this skill as the default path for ordinary Swift package development when
Package.swiftis the source of truth and Xcode-managed behavior is not the main concern. - Recommend
xcode-build-run-workflowwhen the task is primarily about workspace inspection, diagnostics, build, run, previews, toolchain work, file membership, Metal-toolchain-aware execution, or guarded mutation. - Recommend
xcode-testing-workflowwhen the task is primarily about Swift Testing, XCTest, XCUITest,.xctestplan, test filtering, retries, or test diagnosis. - Recommend
explore-apple-swift-docswhen the user needs Apple or Swift documentation lookup, source selection, Dash compatibility, or docs install follow-up rather than execution work. - Recommend
format-swift-sourceswhen the user needs to integrate or maintain SwiftLint or SwiftFormat across CLI, Xcode, SwiftPM, Git hooks, GitHub Actions, or SwiftFormat config export rather than active Xcode execution work. - Recommend
structure-swift-sourceswhen the user needs file splitting, source-tree cleanup, DocC coverage, or TODO/FIXME ledger normalization rather than active Xcode execution work. - Recommend
bootstrap-swift-packagewhen the user needs to create a brand new Swift package rather than work inside an existing Xcode or Swift project. - Recommend
swift-package-build-run-workfloworswift-package-testing-workflowwhen the task is ordinary SwiftPM package development outside Xcode-managed execution. - Recommend
sync-xcode-project-guidancewhen an existing Xcode app repo needsAGENTS.mdor workflow-guidance alignment rather than active engineering work. - Mention that older references to
apple-xcode-workflownow map through this compatibility surface.
Single-Path Workflow
- Classify the request into one operation type:
- workspace or session inspection
- read, search, or diagnostics
- build, test, or run
- package or toolchain management
- mutation
- Apply the Apple docs gate before any Apple design, architecture, implementation, or refactor guidance:
- use
explore-apple-swift-docsto gather the relevant Apple documentation first - state the documented API behavior, lifecycle rule, or workflow requirement being relied on before proposing changes
- do not rely on memory as the primary source when Apple docs exist
- if the docs and the current code conflict, stop and report that conflict
- if no relevant Apple docs can be found, say that explicitly before proceeding
- Apply the shared Swift policy before giving implementation guidance:
- apply the detailed local policy in
references/snippets/apple-xcode-project-core.md - preserve its simplicity-first, shape-preserving, and anti-ceremony Swift guidance
- preserve its project-appropriate logging, telemetry, and SwiftUI architecture guidance
- Run
scripts/run_workflow.pyto preserve the direct.pbxprojwarning safeguard and route the request toward the narrower Xcode build/run or testing skill. - Use
references/xcodegen-project-maintenance.mdonly to identify whether an XcodeGen-backed project mutation should route toxcode-build-run-workfloworxcode-testing-workflow; do not rebuild a second XcodeGen execution-planning surface here. - Use
references/mcp-tool-matrix.md,references/cli-fallback-matrix.md, andreferences/testing-plans-file-membership-and-configurations.mdonly to explain why the narrower skill should take over; do not rebuild a second Xcode execution-planning surface here. - Report the Apple docs relied on, the direct
.pbxprojwarning result when relevant, and the recommended narrower skill.
Inputs
operation_type: one of the operation types listed above.request: optional short natural-language request text used to inferoperation_typewhen the explicit operation is omitted.workspace_path: optional absolute path for the target Xcode or Swift workspace.tab_identifier: optional MCP tab identifier when already known.mcp_failure_reason: optional input when continuing from an earlier MCP failure.direct_pbxproj_edit: optional flag when the requested mutation would directly edit a.pbxprojfile.direct_pbxproj_edit_opt_in: optional explicit opt-in after the user has been warned about direct.pbxprojedit risks.- Defaults:
- runtime entrypoint: executable
scripts/run_workflow.py - the runtime may infer
operation_typefrom--requesttext when the request wording is clear enough - direct edits are allowed by default when they do not directly edit
.pbxproj
Outputs
statushandoff: the workflow is routing the request into the narrower Xcode build/run or testing skillblocked: prerequisites, policy, or mutation safeguards prevented completionpath_typeprimary: the compatibility-routing path completed successfullyoutput- operation type
guard_resultrecommended_skill- one next step payload when needed
Guards and Stop Conditions
- Apply the mutation safeguard from
references/mutation-risk-policy.mdonly when the operation type ismutation. - Do not skip the explicit warning path for direct
.pbxprojedits. - Route XcodeGen-backed project-structure edits to the narrower owner and keep generated
.pbxprojchanges as reviewed output fromxcodegen generate, not as hand-edited input. - Stop with
handoffwhen the request should move intoxcode-build-run-workfloworxcode-testing-workflow. - Stop with
blockedwhen the required workspace context cannot be resolved and the operation cannot safely continue.
Fallbacks and Handoffs
- This skill now routes to the narrower Xcode execution skills rather than acting as the primary execution owner itself.
- Do not let this compatibility surface regrow concrete Xcode command-planning logic; keep it limited to routing context, the
.pbxprojsafeguard, and one concise next step. - Hand off to
xcode-build-run-workflowwhen the request is primarily about workspace inspection, diagnostics, build, run, previews, file membership, toolchains, Metal-aware execution, or guarded mutation. - Hand off to
xcode-testing-workflowwhen the request is primarily about Swift Testing, XCTest, XCUITest,.xctestplan, flaky tests, retries, or test filtering. - Recommend
explore-apple-swift-docsdirectly when the task becomes Apple or Swift docs exploration work. - Recommend
swift-package-build-run-workfloworswift-package-testing-workflowdirectly when the task becomes ordinary SwiftPM package execution outside Xcode-managed work. - Recommend
format-swift-sourcesdirectly when the task becomes SwiftLint or SwiftFormat setup, config export, or style-tooling maintenance work. - Recommend
structure-swift-sourcesdirectly when the task becomes structural source cleanup work. - Recommend
bootstrap-swift-packagedirectly when the task becomes new-package scaffolding. - Recommend
sync-xcode-project-guidancedirectly when the repo needs Xcode-specific guidance sync rather than execution. scripts/run_workflow.pypreserves the direct.pbxprojwarning path while routing toward the narrower skill that should really own the work.- When maintaining this repository itself, refresh repo-guidance consumers after substantial Xcode-policy changes and keep the top-level export-surface docs aligned. Do not tell users to rely on repo-local installer workflows; this repository does not ship them.
Customization
- Use
references/customization-flow.md. scripts/customization_config.pystores and reports customization state.scripts/run_workflow.pyreads customization state, but the current compatibility router keeps a fixed routing policy and does not expose ordinary user-facing knobs.- MCP tool execution itself remains agent-side and is not performed by the local runtime entrypoint or by the skill as a direct runtime.
References
Workflow References
references/workflow-policy.mdreferences/mcp-tool-matrix.mdreferences/cli-fallback-matrix.mdreferences/toolchain-management.mdreferences/testing-plans-file-membership-and-configurations.mdreferences/xcodegen-project-maintenance.mdreferences/mutation-risk-policy.mdreferences/mutation-via-mcp.md
Contract References
references/mcp-failure-handoff.mdreferences/customization-flow.md
Support References
- Recommend
explore-apple-swift-docswhen the user needs Apple or Swift docs exploration or Dash-compatible docs access. - Recommend
format-swift-sourceswhen the user needs SwiftLint or SwiftFormat setup rather than active Xcode execution. - Recommend
structure-swift-sourceswhen the user needs structural Swift source cleanup rather than active Xcode execution. - Recommend
sync-xcode-project-guidancewhen the user needs repo guidance aligned inside an existing Xcode app repo. - Recommend
references/snippets/apple-xcode-project-core.mdwhen the user needs to add or merge the shared Xcode-project guidance into an end-user repo. references/allowlist-guidance.mdreferences/skills-installation.mdreferences/skills-discovery.mdreferences/snippets/apple-xcode-project-core.md
Script Inventory
scripts/run_workflow.pyscripts/detect_xcode_managed_scope.shscripts/customization_config.py
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: gaelic-ghost
- Source: gaelic-ghost/socket
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.