releaselisted
Install: claude install-skill AnotherSava/claude-code-common
# Release
Tag the current `main` commit as `vX.Y.Z` and let the project's CI workflow build the artifact(s) and publish a GitHub Release. Supports multiple project stacks via dispatch — same shape as the global `deploy` skill.
## Context
### Git state (universal)
- Working tree clean?: !`git status --porcelain`
- Current branch: !`git branch --show-current`
- Fetch remote: !`git fetch origin main 2>/dev/null || true`
- Unmerged remote commits: !`git rev-list HEAD..origin/main --count 2>/dev/null || echo 0`
- Unpushed local commits: !`git rev-list origin/main..HEAD --count 2>/dev/null || echo 0`
- Latest tag: !`git describe --tags --abbrev=0 2>/dev/null || echo "(none)"`
- Repo: !`gh repo view --json nameWithOwner --jq .nameWithOwner 2>/dev/null || echo unknown`
### Project type probes
- Chrome extension: !`test -f manifest.json && test -f package.json && grep -q '"manifest_version"' manifest.json 2>/dev/null && echo yes || echo no`
- .NET project: !`ls src/*.csproj 2>/dev/null | grep -q . && echo yes || echo no`
- Tauri project: !`test -f src-tauri/tauri.conf.json && echo yes || echo no`
### Stack-specific data
- Manifest version: !`node -p "require('./manifest.json').version" 2>/dev/null || echo n/a`
- Package version: !`node -p "require('./package.json').version" 2>/dev/null || echo n/a`
- AssemblyName: !`sed -n 's/.*<AssemblyName>\([^<]*\)<.*/\1/p' src/*.csproj 2>/dev/null | head -1 || echo n/a`
- Has signing policy section: !`grep -q "Code signing policy" README.md 2