| name | mcp-span-cli-release |
| description | Release MCPSpanCLI by reading Sources/MCPSpanCLI/BuildInfo.swift, validating the matching v<version> tag, building, tagging, pushing, and checking the GitHub release workflow. |
MCPSpanCLI Release Skill
Use this skill when the user wants to release MCPSpanCLI, publish a new GitHub Release, or tag a version based on the project version.
Release source of truth
Sources/MCPSpanCLI/BuildInfo.swift is the version source of truth.
Read it before publishing. The release tag must be:
v<BuildInfo.version>
Example:
static let version = "0.1.4"
publishes tag v0.1.4.
Workflow
-
Check the current version:
sed -n '1,80p' Sources/MCPSpanCLI/BuildInfo.swift
-
Check release docs and installer assumptions when the release touches README, install instructions, archive names, or version text:
sed -n '1,220p' .github/workflows/release.yml
sed -n '1,220p' scripts/install.sh
-
Build before tagging:
swift build
-
Run the bundled release script:
skills/mcp-span-cli-release/scripts/release_from_build_info.sh --dry-run
skills/mcp-span-cli-release/scripts/release_from_build_info.sh
-
After pushing the tag, check the release workflow:
gh run list --workflow Release --limit 3
If needed, inspect the newest run:
gh run view <RUN_ID> --log-failed
Rules
- Do not invent the version from the latest tag. Use
BuildInfo.swift.
- Do not publish with a dirty working tree.
- Do not reuse an existing local or remote tag.
- Push the current branch before pushing the tag.
- The GitHub Actions workflow publishes the release archive after the tag is pushed.