After the skill PR has been merged, complete the local release wrap-up: install or update the changed skills, clean up old names, fill in Codex links, sync consumer directories, and independently reconcile with the lock and versions. Trigger words:"release skill"、"release X"、"skill release wrap-up"、「release skill」。
Customer-readable description
What this skill can do
| Customer wants | Skill will do | Customer can see |
|---|---|---|
| Release one or more skills after merge | Install, update, sync symlinks, and verify lock/version | Six-column release receipt |
| Rename or delete old skills | Remove old installations and all managed directory remnants | Cleaned count and zero-remnant verification |
How customers use it
First confirm the target skill has been merged to the remote repository; this skill does not execute git, PR, merge, push, or publish remote state. Then provide the repository, skill list, and optional old names:
python3 skills/soia-dev-skill-release/scripts/release_skills.py \
--repo <owner/name> \
--skills <skill-a,skill-b> \
--removed <legacy-skill> \
--dry-run
After reviewing the dry-run, remove --dry-run to execute. By default it targets claude-code,codex, can be overridden with --agents ; version verification by default uses the agreed local checkout, can be overridden with --repo-dir <repo-path> .
Dependencies and installation
npx skills add soia-team/soia-open-skills -g -a '*' -s soia-dev-skill-release -y
| Dependency | Type | Purpose | What to do if missing |
|---|---|---|---|
npx skills |
Hard dependency | Install, remove, update, and maintain lock | Stop and report the failed step |
soia-dev-sync-skills |
Hard dependency | Sync SOIA and WorkBuddy symlinks | Install this skill first, then retry |
| Python 3 | Hard dependency | Execute the release script | Install Python 3, then retry |
Private information and intermediate data
According to this repository's DATA_STORAGE_SPEC.md, this skill only reads and writes each AI skill installation directory and ~/.agents/.skill-lock.json; it does not read or save credentials, private configuration, caches, or intermediate files. The terminal receipt only shows skill names, versions, link status, and failed steps.
Logs and completion receipt
Stop at the first failed step, and output the steps reached and the following six-column receipt:
| Skill | Action | Repository version | Installed version | Symlinks (three places) | Result |
|---|---|---|---|---|---|
<skill> |
install/update/remove | <version> |
<version> |
agents / claude / codex | ok / removed / failed |
Workflow
- Execute item by item
npx skills add <repo> -g -a <agents> -s <skill> -y。 - When there is
--removed, execute with the same argumentsnpx skills remove, and clean up.agents、.claude、.soia、.workbuddy、.codexfive places of same-name remnants. - Execute
npx skills update -g -y, covering collateral updates from cross-references. - Iterate over
~/.agents/skills: for skills that haveSKILL.mdand are missing on the Codex side, create relative symlinks; historically proven directories do not haveSKILL.md, and do not enter Codex. - Call the installed
soia-dev-sync-skills, targetingsoia,workbuddy。 - Reconcile
~/.agents/.skill-lock.json: all new skills must come from--repo, and old names must have zero remnants. - Compare each local checkout's
SKILL.mdversion with the~/.agents/skillsinstalled version.
Boundaries and validation
- Only perform the local wrap-up after merge; the pre-release merge is done by the caller.
--dry-runDo not execute any commands or file writes; only output the plan receipt.- Forward testing should mock in a temporary HOME
subprocess, covering command order, stop-on-failure, cleanup of the five old names, Codex chain completion, lock branch, and dry-run.