{"id":"f0b6b5df-4f64-461a-93e7-43f905090a09","shortId":"G9XUsU","kind":"skill","title":"swift-package-build-run-workflow","tagline":"Guide build, run, manifest, dependency, plugin, resource, Metal-packaging, and Release-versus-Debug work in existing Swift Package Manager repositories. Use when Package.swift is the source of truth and the task is package build or run work rather than package testing.","description":"# Swift Package Build Run Workflow\n\n## Purpose\n\nUse this skill as the primary execution workflow for non-testing work in existing Swift Package Manager repositories. Keep it focused on manifest and dependency changes, package resources, plugins, builds, runs, Release-versus-Debug validation, and SwiftPM-first package collaboration. `scripts/run_workflow.py` is the runtime entrypoint for repo-shape checks, package-first command planning, and Xcode handoff decisions when Apple-managed behavior starts to matter.\n\n## When To Use\n\n- Use this skill for ordinary build and run work inside an existing Swift package repo.\n- Use this skill for manifest, target, product, dependency, plugin, and package-resource work driven by `Package.swift`.\n- Use this skill for package resources, `Bundle.module`, `.process(...)`, `.copy(...)`, `.embedInCode(...)`, and package-local fixture layout decisions.\n- Use this skill for Metal library packaging, distribution, and the SwiftPM side of Metal-related package work before Xcode-managed Apple toolchain behavior becomes the real concern.\n- Use this skill for Debug-versus-Release validation, build artifacts, and tagged-release package expectations.\n- Use this skill for Swift Package Index readiness checks in package repositories, but hand external add-package submission to Socket's guarded `scripts/spi_add_package.py` issue-form flow when that script is available.\n- Do not use this skill for package-testing-first work, test-plan execution, XCTest or Swift Testing diagnosis, or test-specific filtering and retries.\n- Do not use this skill for brand-new package bootstrap from nothing.\n- Do not use this skill for repo-guidance alignment in an existing package repo.\n- Do not use this skill as the default path for Xcode workspace, scheme, preview, simulator, or navigator-driven work.\n- Recommend `swift-package-testing-workflow` when the request is primarily about running, diagnosing, organizing, or evolving tests.\n- Recommend `bootstrap-swift-package` when the package repo does not exist yet.\n- Recommend `sync-swift-package-guidance` when the repo guidance needs to be added, refreshed, or merged.\n- Recommend `xcode-build-run-workflow` when the task depends on active Xcode workspace state, scheme-aware execution, previews, navigator diagnostics, simulator or device flows, or guarded mutation inside Xcode-managed scope.\n- Recommend `explore-apple-swift-docs` when the user needs Apple or Swift docs exploration before implementation or package changes.\n\n## Single-Path Workflow\n\n1. Classify the request into one operation type:\n   - package inspection\n   - read or search\n   - manifest or dependency changes\n   - build\n   - run\n   - plugin\n   - toolchain management\n   - mutation\n2. Apply the Apple and Swift docs gate before any design, architecture, implementation, or refactor guidance:\n   - use `explore-apple-swift-docs` to gather the relevant SwiftPM, Swift, or Apple documentation first\n   - when SwiftPM behavior, manifest syntax, package plugins, resources, products, targets, or dependency rules matter, prefer the Dash.app docset workflow with the `swiftlang/swift-package-manager` docset first\n   - fall back to the canonical `swiftlang/swift-package-manager` GitHub repository only when the local Dash docset is unavailable or insufficient\n   - state the documented API behavior, package rule, or workflow requirement being relied on before proposing changes\n   - do not rely on memory as the primary source when docs exist\n   - if the docs and the current code conflict, stop and report that conflict\n   - if no relevant docs can be found, say that explicitly before proceeding\n3. Apply the shared Swift-package policy before giving implementation guidance:\n   - apply the detailed local policy in `references/snippets/apple-swift-package-core.md` when package-policy wording is needed\n   - preserve its simplicity-first, shape-preserving, and anti-ceremony Swift guidance\n   - preserve its explicit `swiftLanguageModes: [.v6]` package-manifest default and prefer that spelling over the legacy `swiftLanguageVersions` alias on current manifest surfaces\n   - preserve its package-appropriate logging, telemetry, and structured-concurrency guidance\n4. Run `scripts/run_workflow.py` to resolve repo shape, confirm the request stays on the build/run surface, and plan the SwiftPM-first command path.\n5. Use `references/cli-command-matrix.md` for agent-executed SwiftPM commands and terminal-first editor workflows.\n6. Use `references/package-resources-testing-and-builds.md` when the request touches package resources, Metal artifacts, `Bundle.module`, or Debug/Release and tagged-release validation.\n7. If the repo root is ambiguous because Xcode-managed markers are present at the same root, use `references/xcode-handoff-conditions.md` and hand off cleanly to `xcode-build-run-workflow`.\n8. For Swift Package Index add-package work, distinguish local readiness from external submission:\n   - local readiness may include `Package.swift`, semantic-version tag, `swift package dump-package`, `swift build`, `swift test`, `.spi.yml`, and DocC checks\n   - external submission must use the official `SwiftPackageIndex/PackageList` Add Package issue form\n   - when working from Socket, run `uv run /Users/galew/Workspace/gaelic-ghost/socket/scripts/spi_add_package.py hands-free <package-root>` and follow its Codex Computer Use handoff\n   - never create PackageList issues with `gh issue create`, apply labels manually, fork PackageList, edit `packages.json`, or open PackageList PRs\n9. Report which parts were agent-executed, the docs relied on, the repo-shape result, and any required next step or handoff.\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- `repo_root`: optional absolute path for the target package repo.\n- `mixed_root_opt_in`: optional explicit opt-in when the user wants a SwiftPM-first plan for a mixed root even though Xcode markers are present.\n- Defaults:\n  - runtime entrypoint: executable `scripts/run_workflow.py`\n  - `repo_root=.` when omitted\n  - the runtime may infer `operation_type` from `--request` text when the request wording is clear enough\n  - package execution prefers `swift package`, `swift build`, and `swift run`\n  - mixed roots hand off by default unless `--mixed-root-opt-in` is passed\n\n## Outputs\n\n- `status`\n  - `success`: the workflow completed on the SwiftPM-first path\n  - `handoff`: the workflow is handing off to another skill because testing or Xcode-managed behavior is the safer surface\n  - `blocked`: prerequisites or repo-shape rules prevented completion\n- `path_type`\n  - `primary`: the SwiftPM-first path completed\n  - `fallback`: a non-mutating planned command path was returned\n- `output`\n  - operation type\n  - resolved repo root\n  - repo-shape result\n  - `planned_commands`\n  - one concise next step or handoff payload\n\n## Guards and Stop Conditions\n\n- Stop with `blocked` when the repo root cannot be resolved.\n- Stop with `blocked` when the repo does not contain `Package.swift`.\n- Stop with `handoff` when the request is really package-testing work.\n- Stop with `handoff` when the repo root is mixed and Xcode-managed behavior is the safer default.\n- Stop with `handoff` when the requested work crosses into Xcode project membership, scheme, preview, simulator, or other Xcode-managed concerns.\n- Stop with `blocked` when no safe SwiftPM-first command path exists for the requested operation.\n- Stop with `blocked` when Swift Package Index submission is requested but the package is only locally ready, the official Add Package issue form is unavailable, the Socket guarded script reports incomplete readiness, or the created issue cannot be verified with the `Add Package` label.\n\n## Fallbacks and Handoffs\n\n- SwiftPM and ordinary filesystem edits are the default execution surface for this skill.\n- The only current fallback is a non-mutating planned command result when the user asked for guidance rather than immediate execution.\n- Hand off to `swift-package-testing-workflow` when the request becomes primarily about tests, test plans, or test diagnosis.\n- Hand off to `xcode-build-run-workflow` when package build or distribution work depends on:\n  - active Xcode workspace or scheme state\n  - previews, snippet execution, simulator, or device flows\n  - navigator issues or Xcode build-log inspection\n  - Xcode MCP mutation tools\n  - Metal shader compilation, Apple-managed Metal toolchain inspection, or package distribution that depends on Xcode-managed Apple SDK integration\n  - direct changes inside `.xcodeproj`, `.xcworkspace`, or `.pbxproj` managed scope\n- Recommend `sync-swift-package-guidance` when the request is really about repo guidance instead of execution.\n- Recommend `bootstrap-swift-package` when the repository still needs to be created from scratch.\n- When maintaining this repository itself, refresh guidance-sync consumers after substantial package-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.template.yaml`.\n- `scripts/customization_config.py` stores and reports customization state.\n- `scripts/run_workflow.py` reads customization state, but the current workflow keeps a fixed SwiftPM-first policy and does not expose ordinary user-facing knobs yet.\n- Run the Python wrapper and customization entrypoints through `uv`, because they rely on inline `PyYAML` script metadata rather than a repo-global Python environment.\n\n## References\n\n### Workflow References\n\n- `references/workflow-policy.md`\n- `references/repo-shape-detection.md`\n- `references/cli-command-matrix.md`\n- `references/package-resources-testing-and-builds.md`\n- `references/xcode-handoff-conditions.md`\n\n### Contract References\n\n- `references/customization.template.yaml`\n\n### Support References\n\n- Recommend `references/snippets/apple-swift-package-core.md` when the user needs reusable SwiftPM baseline policy wording in an end-user repo.\n- `references/snippets/apple-swift-package-core.md`\n- For Swift Package Index add-package automation in Socket, use `/Users/galew/Workspace/gaelic-ghost/socket/scripts/spi_add_package.py` and `/Users/galew/Workspace/gaelic-ghost/socket/docs/maintainers/spi-add-package-automation-plan.md`.\n\n### Script Inventory\n\n- `scripts/run_workflow.py`\n- `scripts/customization_config.py`","tags":["swift","package","build","run","workflow","apple","dev","skills","gaelic-ghost","agent-skills","apple-development","apple-docs"],"capabilities":["skill","source-gaelic-ghost","skill-swift-package-build-run-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/swift-package-build-run-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,567 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:58.773Z","embedding":null,"createdAt":"2026-05-18T13:21:11.089Z","updatedAt":"2026-05-18T19:13:58.773Z","lastSeenAt":"2026-05-18T19:13:58.773Z","tsv":"'/users/galew/workspace/gaelic-ghost/socket/docs/maintainers/spi-add-package-automation-plan.md':1497 '/users/galew/workspace/gaelic-ghost/socket/scripts/spi_add_package.py':804,1495 '1':438 '2':461 '3':588 '4':662 '5':685 '6':700 '7':719 '8':749 '9':834 'absolut':890 'activ':391,1262 'ad':376 'add':240,755,793,1163,1185,1489 'add-packag':239,754,1488 'agent':690,840 'agent-execut':689,839 'alia':645 'align':306,1375 'ambigu':725 'anoth':993 'anti':624 'anti-ceremoni':623 'api':538 'appl':120,200,417,424,464,480,490,1291,1305 'apple-manag':119,1290 'appli':462,589,600,823 'appropri':654 'architectur':472 'artifact':217,710 'ask':1219 'autom':1491 'avail':256 'awar':397 'back':518 'baselin':1474 'becom':203,1237 'behavior':122,202,495,539,1001,1102 'block':1006,1059,1069,1130,1146 'bootstrap':294,352,1336 'bootstrap-swift-packag':351,1335 'brand':291 'brand-new':290 'build':4,8,42,52,86,134,216,383,455,746,779,956,1251,1256,1280 'build-log':1279 'build/run':675 'bundle.module':167,711 'cannot':1064,1180 'canon':521 'ceremoni':625 'chang':82,433,454,550,1309,1364 'check':108,232,785 'classifi':439 'clean':742 'clear':948 'code':569 'codex':811 'collabor':98 'command':112,683,693,1030,1045,1137,1214 'compil':1289 'complet':979,1014,1023 'comput':812 'concern':206,1127 'concis':1047 'concurr':660 'condit':1056 'confirm':669 'conflict':570,575 'consum':1358 'contain':1075 'contract':1461 'copi':169 'creat':816,822,1178,1346 'cross':1114 'current':568,647,1206,1409 'custom':1394,1401,1405,1433 'dash':529 'dash.app':509 'debug':21,91,212 'debug-versus-releas':211 'debug/release':713 'decis':117,177 'default':319,636,925,965,1106,1198 'depend':11,81,151,389,453,504,1260,1300 'design':471 'detail':602 'devic':404,1273 'diagnos':345 'diagnosi':276,1245 'diagnost':401 'direct':1308 'distinguish':758 'distribut':185,1258,1298 'doc':419,427,467,482,561,565,579,843,1374 'docc':784 'docset':510,515,530 'document':491,537 'driven':158,330 'dump':776 'dump-packag':775 'edit':828,1195 'editor':698 'embedincod':170 'end':1480 'end-us':1479 'enough':949 'entrypoint':103,927,1434 'environ':1452 'even':919 'evolv':348 'execut':62,271,398,691,841,928,951,1199,1225,1270,1333 'exist':24,70,140,309,361,562,1139 'expect':223 'explicit':585,630,883,902 'explor':416,428,479 'explore-apple-swift-doc':415,478 'export':1372 'export-surfac':1371 'expos':1421 'extern':238,762,786 'face':1425 'fall':517 'fallback':1024,1188,1207 'filesystem':1194 'filter':281 'first':96,111,266,492,516,618,682,697,913,984,1021,1136,1416 'fix':1413 'fixtur':175 'flow':251,405,1274 'focus':77 'follow':809 'fork':826 'form':250,796,1166 'found':582 'free':807 'gate':468 'gather':484 'gh':820 'github':523 'give':597 'global':1450 'guard':246,407,1053,1171 'guid':7 'guidanc':305,368,372,476,599,627,661,1221,1322,1330,1356 'guidance-sync':1355 'hand':237,740,806,962,990,1226,1246 'handoff':116,814,857,986,1051,1079,1091,1109,1190 'hands-fre':805 'immedi':1224 'implement':430,473,598 'includ':767 'incomplet':1174 'index':230,753,1150,1487 'infer':878,937 'inlin':1441 'input':858 'insid':138,409,1310 'inspect':447,1282,1295 'instal':1386 'instead':1331 'insuffici':534 'integr':1307 'inventori':1499 'issu':249,795,818,821,1165,1179,1276 'issue-form':248 'keep':75,1366,1411 'knob':1426 'label':824,1187 'languag':873 'layout':176 'legaci':643 'level':1370 'librari':183 'list':866 'local':174,528,603,759,764,1159,1385 'log':655,1281 'maintain':1350 'manag':27,73,121,199,412,459,729,1000,1101,1126,1292,1304,1315 'manifest':10,79,148,451,496,635,648 'manual':825 'marker':730,922 'matter':125,506 'may':766,936 'mcp':1284 'membership':1118 'memori':555 'merg':379 'metadata':1444 'metal':15,182,192,709,1287,1293 'metal-packag':14 'metal-rel':191 'mix':897,917,960,968,1097 'mixed-root-opt-in':967 'must':788 'mutat':408,460,1028,1212,1285 'natur':872 'natural-languag':871 'navig':329,400,1275 'navigator-driven':328 'need':373,423,613,1343,1471 'never':815 'new':292 'next':854,1048 'non':66,1027,1211 'non-mut':1026,1210 'non-test':65 'noth':296 'offici':791,1162 'omit':886,933 'one':443,861,1046 'open':831 'oper':444,859,864,879,884,938,1035,1143 'opt':899,904,970 'opt-in':903 'option':869,889,901 'ordinari':133,1193,1422 'organ':346 'output':974,1034 'packag':3,16,26,41,48,51,72,83,97,110,142,155,165,173,184,194,222,229,234,241,264,293,310,335,354,357,367,432,446,498,540,594,609,634,653,707,752,756,774,777,794,895,950,954,1086,1149,1156,1164,1186,1231,1255,1297,1321,1338,1362,1486,1490 'package-appropri':652 'package-first':109 'package-loc':172 'package-manifest':633 'package-polici':608,1361 'package-resourc':154 'package-test':1085 'package-testing-first':263 'package.swift':31,160,768,1076 'packagelist':817,827,832 'packages.json':829 'part':837 'pass':973 'path':320,436,684,891,985,1015,1022,1031,1138 'payload':1052 'pbxproj':1314 'plan':113,270,678,914,1029,1044,1213,1242 'plugin':12,85,152,457,499 'polici':595,604,610,1363,1417,1475 'prefer':507,638,952 'prerequisit':1007 'present':732,924 'preserv':614,621,628,650 'prevent':1013 'preview':325,399,1120,1268 'primari':61,558,1017 'primarili':342,1238 'proceed':587 'process':168 'product':150,501 'project':1117 'propos':549 'prs':833 'purpos':55 'python':1430,1451 'pyyaml':1442 'rather':46,1222,1445 'read':448,1404 'readi':231,760,765,1160,1175 'real':205 'realli':1084,1327 'recommend':332,350,363,380,414,1317,1334,1466 'refactor':475 'refer':1453,1455,1462,1465 'references/cli-command-matrix.md':687,1458 'references/customization.template.yaml':1396,1463 'references/package-resources-testing-and-builds.md':702,1459 'references/repo-shape-detection.md':1457 'references/snippets/apple-swift-package-core.md':606,1467,1483 'references/workflow-policy.md':1456 'references/xcode-handoff-conditions.md':738,1460 'refresh':377,1354 'relat':193 'releas':19,89,214,221,717 'release-versus-debug':18,88 'relev':486,578 'reli':546,553,844,1381,1439 'repo':106,143,304,311,358,371,667,722,848,887,896,930,1010,1038,1041,1062,1072,1094,1329,1384,1449,1482 'repo-glob':1448 'repo-guid':303 'repo-loc':1383 'repo-shap':105,847,1009,1040 'report':573,835,1173,1400 'repositori':28,74,235,524,1341,1352,1389 'request':340,441,671,705,868,874,941,945,1082,1112,1142,1153,1236,1325 'requir':544,853 'resolv':666,1037,1066 'resourc':13,84,156,166,500,708 'result':850,1043,1215 'retri':283 'return':1033 'reusabl':1472 'root':723,736,888,898,918,931,961,969,1039,1063,1095 'rule':505,541,1012 'run':5,9,44,53,87,136,344,384,456,663,747,801,803,959,1252,1428 'runtim':102,926,935 'safe':1133 'safer':1004,1105 'say':583 'scheme':324,396,1119,1266 'scheme-awar':395 'scope':413,1316 'scratch':1348 'script':254,1172,1443,1498 'scripts/customization_config.py':1397,1501 'scripts/run_workflow.py':99,664,929,1403,1500 'scripts/spi_add_package.py':247 'sdk':1306 'search':450 'semant':770 'semantic-vers':769 'shader':1288 'shape':107,620,668,849,1011,1042 'shape-preserv':619 'share':591 'ship':1392 'short':870 'side':189 'simplic':617 'simplicity-first':616 'simul':326,402,1121,1271 'singl':435 'single-path':434 'skill':58,131,146,163,180,209,226,261,288,301,316,994,1203 'skill-swift-package-build-run-workflow' 'snippet':1269 'socket':244,800,1170,1493 'sourc':34,559 'source-gaelic-ghost' 'specif':280 'spell':640 'spi.yml':782 'start':123 'state':394,535,1267,1402,1406 'status':975 'stay':672 'step':855,1049 'still':1342 'stop':571,1055,1057,1067,1077,1089,1107,1128,1144 'store':1398 'structur':659 'structured-concurr':658 'submiss':242,763,787,1151 'substanti':1360 'success':976 'support':1464 'surfac':649,676,1005,1200,1373 'swift':2,25,50,71,141,228,274,334,353,366,418,426,466,481,488,593,626,751,773,778,780,953,955,958,1148,1230,1320,1337,1485 'swift-packag':592 'swift-package-build-run-workflow':1 'swift-package-testing-workflow':333,1229 'swiftlang/swift-package-manager':514,522 'swiftlanguagemod':631 'swiftlanguagevers':644 'swiftpackageindex/packagelist':792 'swiftpm':95,188,487,494,681,692,912,983,1020,1135,1191,1415,1473 'swiftpm-first':94,680,911,982,1019,1134,1414 'sync':365,1319,1357 'sync-swift-package-guid':364,1318 'syntax':497 'tag':220,716,772 'tagged-releas':219,715 'target':149,502,894 'task':39,388 'telemetri':656 'tell':1378 'termin':696 'terminal-first':695 'test':49,67,265,269,275,279,336,349,781,996,1087,1232,1240,1241,1244 'test-plan':268 'test-specif':278 'text':875,942 'though':920 'tool':1286 'toolchain':201,458,1294 'top':1369 'top-level':1368 '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' 'touch':706 'truth':36 'type':445,860,865,880,939,1016,1036 'unavail':532,1168 'unless':966 'use':29,56,128,129,144,161,178,207,224,259,286,299,314,477,686,701,737,789,813,876,1395,1494 'user':422,908,1218,1379,1424,1470,1481 'user-fac':1423 'uv':802,1436 'v6':632 'valid':92,215,718 'verifi':1182 'version':771 'versus':20,90,213 'want':909 'word':611,946,1476 'work':22,45,68,137,157,195,267,331,757,798,1088,1113,1259 'workflow':6,54,63,337,385,437,511,543,699,748,978,988,1233,1253,1387,1410,1454 'workspac':323,393,1264 'wrapper':1431 'xcode':115,198,322,382,392,411,728,745,921,999,1100,1116,1125,1250,1263,1278,1283,1303 'xcode-build-run-workflow':381,744,1249 'xcode-manag':197,410,727,998,1099,1124,1302 'xcodeproj':1311 'xctest':272 'xcworkspac':1312 'yet':362,1427","prices":[{"id":"18f67f47-a9f3-4209-b1b9-51ac1e155886","listingId":"f0b6b5df-4f64-461a-93e7-43f905090a09","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.089Z"}],"sources":[{"listingId":"f0b6b5df-4f64-461a-93e7-43f905090a09","source":"github","sourceId":"gaelic-ghost/apple-dev-skills/swift-package-build-run-workflow","sourceUrl":"https://github.com/gaelic-ghost/apple-dev-skills/tree/main/skills/swift-package-build-run-workflow","isPrimary":false,"firstSeenAt":"2026-05-18T13:21:11.089Z","lastSeenAt":"2026-05-18T19:13:58.773Z"}],"details":{"listingId":"f0b6b5df-4f64-461a-93e7-43f905090a09","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"gaelic-ghost","slug":"swift-package-build-run-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":"a32ec356dd1be9f4b53b6ae1d0f9d63d2e50138e","skill_md_path":"skills/swift-package-build-run-workflow/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/gaelic-ghost/apple-dev-skills/tree/main/skills/swift-package-build-run-workflow"},"layout":"multi","source":"github","category":"apple-dev-skills","frontmatter":{"name":"swift-package-build-run-workflow","description":"Guide build, run, manifest, dependency, plugin, resource, Metal-packaging, and Release-versus-Debug work in existing Swift Package Manager repositories. Use when Package.swift is the source of truth and the task is package build or run work rather than package testing."},"skills_sh_url":"https://skills.sh/gaelic-ghost/apple-dev-skills/swift-package-build-run-workflow"},"updatedAt":"2026-05-18T19:13:58.773Z"}}