Files
Conor ee3b42f456 fix(ci): repair release packaging for the plugin directory layout (#104)
Releases have been broken since April. #40 moved the skill into the plugin
layout (ios-simulator-skill/skills/<name>/) the day after v1.4.0 shipped, but
release.yml still validated ios-simulator-skill/SKILL.md and
ios-simulator-skill/scripts. Any tag pushed since would fail at "Validate skill
structure" — which is why v1.4.0 is still the latest release and 1.5.0 has been
sitting unreleased.

- point validation and packaging at the real skill directory, via a single
  SKILL_DIR env var so a future restructure breaks one line instead of four
- also assert plugin.json exists, since the plugin layout is now what ships
- keep the zip's shape identical to v1.4.0's: SKILL.md and scripts/ at the root
  of the archive, which is what the documented
  `unzip skill.zip -d ~/.claude/skills/ios-simulator-skill` expects. Packaging
  the plugin root instead would have nested them a level deeper and quietly
  broken that install path
- print the archive listing in CI so the shape is visible in the log
- exclude config.json, which is runtime state (last used simulator). It is
  untracked so CI was already clean, but a local build would have shipped it
- add a version to plugin.json, which had none, so pyproject.toml, SKILL.md and
  plugin.json now all read 1.5.0

Verified by running the validation and packaging steps locally: the archive
installs to the documented path with SKILL.md at its root, and carries no
xcode_compat shim.
2026-09-12 08:35:54 +01:00
..