Summary
bootstrap-swift-package and bootstrap-xcode-app-project fail their mutating path when both companion plugins are installed from Socket into the current versioned cache layout. They report that repository-skills is missing even though it is installed and exposed.
Reproduction
- Install or enable
apple-dev-skills and repository-skills from the Socket marketplace.
- Run either Apple bootstrap workflow through its supported mutating path.
- The workflow reaches its
maintain-project-repo installation step and fails.
Observed installed paths:
/Users/galew/.codex/plugins/cache/socket/apple-dev-skills/9.34.0/...
/Users/galew/.codex/plugins/cache/socket/repository-skills/9.34.0/skills/maintain-project-repo/scripts/run_workflow.py
Actual behavior
-
bootstrap-swift-package/scripts/bootstrap_swift_package.sh constructs:
$script_dir/../../../../repository-skills/skills/maintain-project-repo/scripts/run_workflow.py
From a versioned cache install, this resolves beneath apple-dev-skills/, not the sibling repository-skills/<version>/ directory.
-
bootstrap-xcode-app-project/scripts/bootstrap_xcode_app_project.py uses Path(__file__).resolve().parents[4] as the plugin root. In the source-tree layout that reaches plugins/, but in the versioned cache layout it reaches apple-dev-skills/, causing the same incorrect sibling lookup.
Both workflows then instruct the user to install a companion plugin that is already present.
Expected behavior
The Apple bootstrap workflows should discover the installed companion runner across both source-tree and versioned-cache layouts, then execute repository-skills:maintain-project-repo successfully.
Suggested direction
Reuse or factor the candidate-based discovery approach already present in the guidance-sync scripts: check source-tree siblings and versioned plugin-cache siblings, select a concrete maintain-project-repo/scripts/run_workflow.py, and keep the existing clear error only after those candidates are exhausted. Add regression coverage for the versioned-cache layout.
Impact
This blocks new Swift package and Xcode app bootstrap despite a valid companion-plugin installation.
Summary
bootstrap-swift-packageandbootstrap-xcode-app-projectfail their mutating path when both companion plugins are installed from Socket into the current versioned cache layout. They report thatrepository-skillsis missing even though it is installed and exposed.Reproduction
apple-dev-skillsandrepository-skillsfrom the Socket marketplace.maintain-project-repoinstallation step and fails.Observed installed paths:
Actual behavior
bootstrap-swift-package/scripts/bootstrap_swift_package.shconstructs:From a versioned cache install, this resolves beneath
apple-dev-skills/, not the siblingrepository-skills/<version>/directory.bootstrap-xcode-app-project/scripts/bootstrap_xcode_app_project.pyusesPath(__file__).resolve().parents[4]as the plugin root. In the source-tree layout that reachesplugins/, but in the versioned cache layout it reachesapple-dev-skills/, causing the same incorrect sibling lookup.Both workflows then instruct the user to install a companion plugin that is already present.
Expected behavior
The Apple bootstrap workflows should discover the installed companion runner across both source-tree and versioned-cache layouts, then execute
repository-skills:maintain-project-reposuccessfully.Suggested direction
Reuse or factor the candidate-based discovery approach already present in the guidance-sync scripts: check source-tree siblings and versioned plugin-cache siblings, select a concrete
maintain-project-repo/scripts/run_workflow.py, and keep the existing clear error only after those candidates are exhausted. Add regression coverage for the versioned-cache layout.Impact
This blocks new Swift package and Xcode app bootstrap despite a valid companion-plugin installation.