{"id":"7d1dfe14-e418-43ed-954a-6883431f03d1","shortId":"meGWhN","kind":"skill","title":"xcode-app-project-workflow","tagline":"Compatibility workflow surface for broad or legacy Xcode execution requests. Use when older references still point at xcode-app-project-workflow and route the request into xcode-build-run-workflow or xcode-testing-workflow while preserving the direct .pbxproj warning boundary.","description":"# Xcode App Project Workflow\n\n## Purpose\n\nUse 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.\n\n## When To Use\n\n- Use this skill when older docs, prompts, or install surfaces still name `xcode-app-project-workflow`.\n- Use this skill when the request is broad and the first job is deciding between the narrower Xcode build/run and testing skills.\n- Use this skill after Apple or Swift docs have already been gathered through `explore-apple-swift-docs` and the work has shifted into Xcode-aware execution or implementation.\n- 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.\n- Do not use this skill as the default path for ordinary Swift package development when `Package.swift` is the source of truth and Xcode-managed behavior is not the main concern.\n- Recommend `xcode-build-run-workflow` when the task is primarily about workspace inspection, diagnostics, build, run, previews, toolchain work, file membership, Metal-toolchain-aware execution, or guarded mutation.\n- Recommend `xcode-testing-workflow` when the task is primarily about Swift Testing, XCTest, XCUITest, `.xctestplan`, test filtering, retries, or test diagnosis.\n- Recommend `explore-apple-swift-docs` when the user needs Apple or Swift documentation lookup, source selection, Dash compatibility, or docs install follow-up rather than execution work.\n- Recommend `format-swift-sources` when 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.\n- Recommend `structure-swift-sources` when the user needs file splitting, source-tree cleanup, DocC coverage, or TODO/FIXME ledger normalization rather than active Xcode execution work.\n- Recommend `bootstrap-swift-package` when the user needs to create a brand new Swift package rather than work inside an existing Xcode or Swift project.\n- Recommend `swift-package-build-run-workflow` or `swift-package-testing-workflow` when the task is ordinary SwiftPM package development outside Xcode-managed execution.\n- Recommend `sync-xcode-project-guidance` when an existing Xcode app repo needs `AGENTS.md` or workflow-guidance alignment rather than active engineering work.\n- Mention that older references to `apple-xcode-workflow` now map through this compatibility surface.\n\n## Single-Path Workflow\n\n1. Classify the request into one operation type:\n   - workspace or session inspection\n   - read, search, or diagnostics\n   - build, test, or run\n   - package or toolchain management\n   - mutation\n2. Apply the Apple docs gate before any Apple design, architecture, implementation, or refactor guidance:\n   - use `explore-apple-swift-docs` to gather the relevant Apple documentation first\n   - state the documented API behavior, lifecycle rule, or workflow requirement being relied on before proposing changes\n   - do not rely on memory as the primary source when Apple docs exist\n   - if the docs and the current code conflict, stop and report that conflict\n   - if no relevant Apple docs can be found, say that explicitly before proceeding\n3. Apply the shared Swift policy before giving implementation guidance:\n   - apply the detailed local policy in `references/snippets/apple-xcode-project-core.md`\n   - preserve its simplicity-first, shape-preserving, and anti-ceremony Swift guidance\n   - preserve its project-appropriate logging, telemetry, and SwiftUI architecture guidance\n4. Run `scripts/run_workflow.py` to preserve the direct `.pbxproj` warning safeguard and route the request toward the narrower Xcode build/run or testing skill.\n5. Use `references/xcodegen-project-maintenance.md` only to identify whether an XcodeGen-backed project mutation should route to `xcode-build-run-workflow` or `xcode-testing-workflow`; do not rebuild a second XcodeGen execution-planning surface here.\n6. Use `references/mcp-tool-matrix.md`, `references/cli-fallback-matrix.md`, and `references/testing-plans-file-membership-and-configurations.md` only to explain why the narrower skill should take over; do not rebuild a second Xcode execution-planning surface here.\n7. Report the Apple docs relied on, the direct `.pbxproj` warning result when relevant, and the recommended narrower skill.\n\n## Inputs\n\n- `operation_type`: one of the operation types listed above.\n- `request`: optional short natural-language request text used to infer `operation_type` when the explicit operation is omitted.\n- `workspace_path`: optional absolute path for the target Xcode or Swift workspace.\n- `tab_identifier`: optional MCP tab identifier when already known.\n- `mcp_failure_reason`: optional input when continuing from an earlier MCP failure.\n- `direct_pbxproj_edit`: optional flag when the requested mutation would directly edit a `.pbxproj` file.\n- `direct_pbxproj_edit_opt_in`: optional explicit opt-in after the user has been warned about direct `.pbxproj` edit risks.\n- Defaults:\n  - runtime entrypoint: executable `scripts/run_workflow.py`\n  - the runtime may infer `operation_type` from `--request` text when the request wording is clear enough\n  - direct edits are allowed by default when they do not directly edit `.pbxproj`\n\n## Outputs\n\n- `status`\n  - `handoff`: the workflow is routing the request into the narrower Xcode build/run or testing skill\n  - `blocked`: prerequisites, policy, or mutation safeguards prevented completion\n- `path_type`\n  - `primary`: the compatibility-routing path completed successfully\n- `output`\n  - operation type\n  - `guard_result`\n  - `recommended_skill`\n  - one next step payload when needed\n\n## Guards and Stop Conditions\n\n- Apply the mutation safeguard from `references/mutation-risk-policy.md` only when the operation type is `mutation`.\n- Do not skip the explicit warning path for direct `.pbxproj` edits.\n- Route XcodeGen-backed project-structure edits to the narrower owner and keep generated `.pbxproj` changes as reviewed output from `xcodegen generate`, not as hand-edited input.\n- Stop with `handoff` when the request should move into `xcode-build-run-workflow` or `xcode-testing-workflow`.\n- Stop with `blocked` when the required workspace context cannot be resolved and the operation cannot safely continue.\n\n## Fallbacks and Handoffs\n\n- This skill now routes to the narrower Xcode execution skills rather than acting as the primary execution owner itself.\n- Do not let this compatibility surface regrow concrete Xcode command-planning logic; keep it limited to routing context, the `.pbxproj` safeguard, and one concise next step.\n- Hand off to `xcode-build-run-workflow` when the request is primarily about workspace inspection, diagnostics, build, run, previews, file membership, toolchains, Metal-aware execution, or guarded mutation.\n- Hand off to `xcode-testing-workflow` when the request is primarily about Swift Testing, XCTest, XCUITest, `.xctestplan`, flaky tests, retries, or test filtering.\n- Recommend `explore-apple-swift-docs` directly when the task becomes Apple or Swift docs exploration work.\n- Recommend `swift-package-build-run-workflow` or `swift-package-testing-workflow` directly when the task becomes ordinary SwiftPM package execution outside Xcode-managed work.\n- Recommend `format-swift-sources` directly when the task becomes SwiftLint or SwiftFormat setup, config export, or style-tooling maintenance work.\n- Recommend `structure-swift-sources` directly when the task becomes structural source cleanup work.\n- Recommend `bootstrap-swift-package` directly when the task becomes new-package scaffolding.\n- Recommend `sync-xcode-project-guidance` directly when the repo needs Xcode-specific guidance sync rather than execution.\n- `scripts/run_workflow.py` preserves the direct `.pbxproj` warning path while routing toward the narrower skill that should really own the work.\n- 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.\n\n## Customization\n\n- Use `references/customization-flow.md`.\n- `scripts/customization_config.py` stores and reports customization state.\n- `scripts/run_workflow.py` reads customization state, but the current compatibility router keeps a fixed routing policy and does not expose ordinary user-facing knobs.\n- MCP tool execution itself remains agent-side and is not performed by the local runtime entrypoint or by the skill as a direct runtime.\n\n## References\n\n### Workflow References\n\n- `references/workflow-policy.md`\n- `references/mcp-tool-matrix.md`\n- `references/cli-fallback-matrix.md`\n- `references/toolchain-management.md`\n- `references/testing-plans-file-membership-and-configurations.md`\n- `references/xcodegen-project-maintenance.md`\n- `references/mutation-risk-policy.md`\n- `references/mutation-via-mcp.md`\n\n### Contract References\n\n- `references/mcp-failure-handoff.md`\n- `references/customization-flow.md`\n\n### Support References\n\n- Recommend `explore-apple-swift-docs` when the user needs Apple or Swift docs exploration or Dash-compatible docs access.\n- Recommend `format-swift-sources` when the user needs SwiftLint or SwiftFormat setup rather than active Xcode execution.\n- Recommend `structure-swift-sources` when the user needs structural Swift source cleanup rather than active Xcode execution.\n- Recommend `sync-xcode-project-guidance` when the user needs repo guidance aligned inside an existing Xcode app repo.\n- Recommend `references/snippets/apple-xcode-project-core.md` when the user needs to add or merge the shared Xcode-project guidance into an end-user repo.\n- `references/allowlist-guidance.md`\n- `references/skills-installation.md`\n- `references/skills-discovery.md`\n- `references/snippets/apple-xcode-project-core.md`\n\n### Script Inventory\n\n- `scripts/run_workflow.py`\n- `scripts/detect_xcode_managed_scope.sh`\n- `scripts/customization_config.py`","tags":["xcode","app","project","workflow","apple","dev","skills","gaelic-ghost","agent-skills","apple-development","apple-docs","apple-docs-mcp"],"capabilities":["skill","source-gaelic-ghost","skill-xcode-app-project-workflow","topic-agent-skills","topic-apple-development","topic-apple-docs","topic-apple-docs-mcp","topic-codex","topic-codex-app","topic-codex-cli","topic-codex-skills","topic-dash-docsets","topic-ios","topic-macos","topic-swift"],"categories":["apple-dev-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/gaelic-ghost/apple-dev-skills/xcode-app-project-workflow","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add gaelic-ghost/apple-dev-skills","source_repo":"https://github.com/gaelic-ghost/apple-dev-skills","install_from":"skills.sh"}},"qualityScore":"0.453","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 7 github stars · SKILL.md body (10,564 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:13:59.306Z","embedding":null,"createdAt":"2026-05-18T13:21:11.844Z","updatedAt":"2026-05-18T19:13:59.306Z","lastSeenAt":"2026-05-18T19:13:59.306Z","tsv":"'1':512 '2':537 '3':620 '4':662 '5':684 '6':721 '7':748 'absolut':799 'access':1414 'across':372 'act':1055 'action':379 'activ':386,413,490,1430,1448 'add':1477 'agent':1358 'agent-sid':1357 'agents.md':482 'align':487,1301,1463 'allow':889 'alreadi':199,815 'anti':647 'anti-ceremoni':646 'api':568 'app':3,25,51,68,165,479,1468 'appl':194,205,330,337,499,540,545,555,562,591,610,751,1146,1154,1397,1404 'apple-xcode-workflow':498 'appli':538,621,630,951 'appropri':655 'architectur':547,660 'awar':216,300,1114 'back':694,978 'becom':1153,1177,1196,1218,1232 'behavior':269,569 'block':916,1025 'bootstrap':419,1225 'bootstrap-swift-packag':418,1224 'boundari':49,137 'brand':429 'broad':10,175 'build':35,89,93,278,290,447,528,702,1015,1094,1106,1164 'build/run':186,232,680,912 'cannot':1031,1037 'ceremoni':648 'chang':580,991,1290 'choos':127 'classifi':513 'cleanup':404,1221,1445 'clear':884 'cli':373 'code':600 'command':1072 'command-plan':1071 'compat':6,60,345,506,929,1066,1336,1412 'compatibility-rout':928 'complet':923,932 'concern':274 'concis':1086 'concret':1069 'condit':950 'config':382,1201 'conflict':601,606 'consum':1284 'context':125,1030,1080 'continu':141,823,1039 'contract':1388 'coverag':406 'creat':427 'current':599,1335 'custom':1320,1327,1331 'dash':344,1411 'dash-compat':1410 'decid':181 'default':227,251,865,891 'design':546 'detail':632 'develop':257,463 'diagnosi':326 'diagnost':95,289,527,1105 'direct':46,134,668,756,829,839,844,861,886,896,972,1149,1173,1192,1214,1228,1243,1259,1375 'doc':156,197,207,332,347,541,557,592,596,611,752,1148,1157,1300,1399,1407,1413 'docc':405 'document':340,563,567 'earlier':826 'edit':831,840,846,863,887,897,974,982,1002 'end':1489 'end-us':1488 'engin':491 'enough':123,885 'entrypoint':867,1368 'execut':14,78,217,301,354,388,415,468,717,744,868,1051,1059,1115,1181,1255,1354,1432,1450 'execution-plan':716,743 'exist':243,438,477,593,1466 'explain':729 'explicit':617,792,850,968 'explor':204,329,554,1145,1158,1396,1408 'explore-apple-swift-doc':203,328,553,1144,1395 'export':383,1202,1298 'export-surfac':1297 'expos':1346 'face':1350 'failur':818,828 'fallback':1040 'file':295,399,843,1109 'filter':322,1142 'first':178,564,641 'fix':1340 'flag':833 'flaki':1137 'flow':140 'follow':350 'follow-up':349 'format':358,1189,1417 'format-swift-sourc':357,1188,1416 'found':614 'gate':542 'gather':201,559 'generat':989,997 'git':376 'github':378 'give':627 'guard':98,303,937,947,1117 'guidanc':474,486,551,629,650,661,1242,1251,1283,1456,1462,1485 'hand':1001,1089,1119 'hand-edit':1000 'handoff':901,1006,1042 'hook':377 'identifi':689,809,813 'implement':219,548,628 'infer':122,787,873 'input':767,821,1003 'insid':436,1464 'inspect':288,523,1104 'instal':159,348,1312 'integr':366 'intent':116 'inventori':1497 'job':179 'keep':988,1075,1292,1338 'knob':1351 'known':816 'languag':782 'ledger':409 'legaci':12 'let':1064 'level':1296 'lifecycl':570 'limit':1077 'list':775 'local':633,1311,1366 'log':656 'logic':1074 'long':83 'long-term':82 'lookup':341 'main':273 'maintain':368,1276 'mainten':1207 'manag':268,467,535,1185 'map':503 'may':872 'mcp':811,817,827,1352 'membership':296,1110 'memori':585 'mention':493 'merg':1479 'metal':298,1113 'metal-awar':1112 'metal-toolchain-awar':297 'migrat':146 'move':1011 'mutat':99,304,536,696,837,920,953,963,1118 'name':162 'narrow':76,184,241,678,732,765,910,985,1049,1267 'natur':781 'natural-languag':780 'need':336,364,398,425,481,946,1247,1403,1423,1441,1460,1475 'new':430,1234 'new-packag':1233 'next':942,1087 'normal':410 'older':18,63,139,155,495 'omit':795 'one':517,770,941,1085 'oper':518,768,773,788,793,874,935,960,1036 'opt':847,852 'opt-in':851 'option':778,798,810,820,832,849 'ordinari':230,235,254,460,1178,1347 'output':899,934,994 'outsid':464,1182 'owner':85,130,986,1060 'packag':256,421,432,446,453,462,532,1163,1170,1180,1227,1235 'package.swift':259 'path':228,252,510,797,800,924,931,970,1262 'payload':944 'pbxproj':47,135,669,757,830,842,845,862,898,973,990,1082,1260 'perform':1363 'plan':718,745,1073 'point':21 'polici':625,634,918,1289,1342 'prerequisit':917 'preserv':44,132,637,644,651,666,1257 'prevent':922 'preview':292,1108 'primari':588,926,1058 'primarili':285,314,1101,1130 'proceed':619 'project':4,26,52,69,166,442,473,654,695,980,1241,1455,1484 'project-appropri':653 'project-structur':979 'prompt':157 'propos':579 'purpos':54 'rather':352,384,411,433,488,1053,1253,1428,1446 'read':524,1330 'real':81,129 'realli':1271 'reason':819 'rebuild':712,739 'recommend':275,305,327,356,390,417,443,469,764,939,1143,1160,1187,1209,1223,1237,1394,1415,1433,1451,1470 'refactor':550 'refer':19,64,496,1377,1379,1389,1393 'references/allowlist-guidance.md':1492 'references/cli-fallback-matrix.md':724,1382 'references/customization-flow.md':1322,1391 'references/mcp-failure-handoff.md':1390 'references/mcp-tool-matrix.md':723,1381 'references/mutation-risk-policy.md':956,1386 'references/mutation-via-mcp.md':1387 'references/skills-discovery.md':1494 'references/skills-installation.md':1493 'references/snippets/apple-xcode-project-core.md':636,1471,1495 'references/testing-plans-file-membership-and-configurations.md':726,1384 'references/toolchain-management.md':1383 'references/workflow-policy.md':1380 'references/xcodegen-project-maintenance.md':686,1385 'refresh':1280 'regrow':1068 'relev':561,609,761 'reli':576,583,753,1307 'remain':1356 'repo':73,480,1246,1282,1310,1461,1469,1491 'repo-guid':1281 'repo-loc':1309 'report':604,749,1326 'repositori':1278,1315 'request':15,31,173,515,675,777,783,836,877,881,907,1009,1099,1128 'requir':574,1028 'resolv':1033 'result':759,938 'retri':323,1139 'review':993 'risk':864 'rout':29,118,673,698,905,930,975,1046,1079,1264,1341 'router':1337 'routing-on':117 'rule':571 'run':36,90,94,279,291,448,531,663,703,1016,1095,1107,1165 'runtim':866,871,1367,1376 'safe':1038 'safeguard':671,921,954,1083 'say':615 'scaffold':1236 'script':1496 'scripts/customization_config.py':1323,1500 'scripts/detect_xcode_managed_scope.sh':1499 'scripts/run_workflow.py':114,664,869,1256,1329,1498 'search':525 'second':714,741 'select':343 'session':522 'setup':1200,1427 'shape':643 'shape-preserv':642 'share':623,1481 'shift':212 'ship':1318 'short':779 'side':1359 'simplic':640 'simplicity-first':639 'singl':509 'single-path':508 'skill':57,79,153,170,189,192,224,242,248,683,733,766,915,940,1044,1052,1268,1372 'skill-xcode-app-project-workflow' 'skip':966 'sourc':262,342,360,394,402,589,1191,1213,1220,1419,1437,1444 'source-gaelic-ghost' 'source-tre':401 'specif':1250 'split':400 'state':565,1328,1332 'status':900 'step':943,1088 'still':20,161 'stop':602,949,1004,1023 'store':1324 'structur':392,981,1211,1219,1435,1442 'structure-swift-sourc':391,1210,1434 'style':1205 'style-tool':1204 'substanti':1286 'success':933 'support':1392 'surfac':8,61,160,507,719,746,1067,1299 'swift':107,196,206,255,316,331,339,359,393,420,431,441,445,452,556,624,649,806,1132,1147,1156,1162,1169,1190,1212,1226,1398,1406,1418,1436,1443 'swift-package-build-run-workflow':444,1161 'swift-package-testing-workflow':451,1168 'swiftformat':371,381,1199,1426 'swiftlint':369,1197,1424 'swiftpm':375,461,1179 'swiftui':659 'sync':471,1239,1252,1453 'sync-xcode-project-guid':470,1238,1452 'tab':808,812 'take':735 'target':803 'task':283,312,458,1152,1176,1195,1217,1231 'telemetri':657 'tell':1304 'term':84 'test':41,104,108,188,237,308,317,321,325,454,529,682,708,914,1021,1124,1133,1138,1141,1171 'text':784,878 'todo/fixme':408 'tool':1206,1353 'toolchain':96,293,299,534,1111 'top':1295 'top-level':1294 'topic-agent-skills' 'topic-apple-development' 'topic-apple-docs' 'topic-apple-docs-mcp' 'topic-codex' 'topic-codex-app' 'topic-codex-cli' 'topic-codex-skills' 'topic-dash-docsets' 'topic-ios' 'topic-macos' 'topic-swift' 'toward':676,1265 'transit':74 'tree':403 'truth':264 'type':519,769,774,789,875,925,936,961 'use':16,55,150,151,168,190,222,246,552,685,722,785,1321 'user':335,363,397,424,856,1305,1349,1402,1422,1440,1459,1474,1490 'user-fac':1348 'warn':48,136,670,758,859,969,1261 'whether':690 'window':147 'word':882 'work':100,113,143,210,233,238,294,355,389,416,435,492,1159,1186,1208,1222,1274 'workflow':5,7,27,37,42,53,70,91,105,167,280,309,449,455,485,501,511,573,704,709,903,1017,1022,1096,1125,1166,1172,1313,1378 'workflow-guid':484 'workspac':124,287,520,796,807,1029,1103 'would':838 'xcode':2,13,24,34,40,50,67,77,88,103,164,185,215,231,236,267,277,307,374,387,414,439,466,472,478,500,679,701,707,742,804,911,1014,1020,1050,1070,1093,1123,1184,1240,1249,1288,1431,1449,1454,1467,1483 'xcode-app-project-workflow':1,23,66,163 'xcode-awar':214 'xcode-build-run-workflow':33,87,276,700,1013,1092 'xcode-manag':266,465,1183 'xcode-polici':1287 'xcode-project':1482 'xcode-specif':1248 'xcode-testing-workflow':39,102,306,706,1019,1122 'xcodegen':693,715,977,996 'xcodegen-back':692,976 'xctest':109,318,1134 'xctestplan':112,320,1136 'xcuitest':110,319,1135","prices":[{"id":"93b3c705-ee54-4081-9be9-1a3ec2d5654c","listingId":"7d1dfe14-e418-43ed-954a-6883431f03d1","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"gaelic-ghost","category":"apple-dev-skills","install_from":"skills.sh"},"createdAt":"2026-05-18T13:21:11.844Z"}],"sources":[{"listingId":"7d1dfe14-e418-43ed-954a-6883431f03d1","source":"github","sourceId":"gaelic-ghost/apple-dev-skills/xcode-app-project-workflow","sourceUrl":"https://github.com/gaelic-ghost/apple-dev-skills/tree/main/skills/xcode-app-project-workflow","isPrimary":false,"firstSeenAt":"2026-05-18T13:21:11.844Z","lastSeenAt":"2026-05-18T19:13:59.306Z"}],"details":{"listingId":"7d1dfe14-e418-43ed-954a-6883431f03d1","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"gaelic-ghost","slug":"xcode-app-project-workflow","github":{"repo":"gaelic-ghost/apple-dev-skills","stars":7,"topics":["agent-skills","apple-development","apple-docs","apple-docs-mcp","codex","codex-app","codex-cli","codex-skills","dash-docsets","ios","macos","swift","swift-package-manager","swift-toolchain","swiftly","swiftpm","xcode","xcode-mcp","xcodebuild","xcrun"],"license":"apache-2.0","html_url":"https://github.com/gaelic-ghost/apple-dev-skills","pushed_at":"2026-05-13T01:26:51Z","description":"Apple Dev Workflows for Codex | Now Available in Socket Marketplace","skill_md_sha":"874eb4194d770e7cef3c0b1a0ff10e353c16a654","skill_md_path":"skills/xcode-app-project-workflow/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/gaelic-ghost/apple-dev-skills/tree/main/skills/xcode-app-project-workflow"},"layout":"multi","source":"github","category":"apple-dev-skills","frontmatter":{"name":"xcode-app-project-workflow","description":"Compatibility workflow surface for broad or legacy Xcode execution requests. Use when older references still point at xcode-app-project-workflow and route the request into xcode-build-run-workflow or xcode-testing-workflow while preserving the direct .pbxproj warning boundary."},"skills_sh_url":"https://skills.sh/gaelic-ghost/apple-dev-skills/xcode-app-project-workflow"},"updatedAt":"2026-05-18T19:13:59.306Z"}}