release-tag
Skill0 starsChanged 4 months agoMITView on GitHub
Phase 3 of 5 in the release chain (changelog → bump → tag → publish → verify). Commits the bump + changelog and creates the annotated git tag for the version. Trigger when the previous phase says "run release-tag next", or standalone via "release-tag", "phase 3 of release", "commit and tag the release".
4 other projects use a version of this.
Adopted by
Most recently taken up by
- poweruserz/OpenTokenUsagetheir own version, first seen Oct 15, 2026
- TGPSKI/leathertheir own version, first seen Sep 7, 2026
- KhaledSaeed18/dotclaudetheir own version, first seen Jul 4, 2026
- hhhyyyy99/prot-skillstheir own version, first seen Jun 16, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- poweruserz/OpenTokenUsage★ 37same name
- TGPSKI/leather★ 17same name
- hhhyyyy99/prot-skills★ 7same name
- KhaledSaeed18/dotclaude★ 5same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository21 other files it gives its agents.
- bughunt-diagnoseSkill
- bughunt-fixSkill
- bughunt-reproSkill
- bughunt-verifySkill
- feature-ship-buildSkill
- feature-ship-reviewSkill
- feature-ship-shipSkill
- feature-ship-specSkill
- migrate-inventorySkill
- migrate-transformSkill
- migrate-verifySkill
- onboard-deepenSkill
- onboard-digestSkill
- onboard-mapSkill
- release-bumpSkill
- release-changelogSkill
- release-publishSkill
- release-verifySkill
- research-artifactSkill
- research-gatherSkill
- research-synthesizeSkill
The file
We split this skill into the rules it gives an agent
12 rules. 0 are common, 4 are distinctive, and 8 are very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 22
All chain state is managed by the chain tool: authoritative JSON at .pi/fairy-tales/chains/release/state.json with a human-readable …
- Very specific: line 29
Call the chain tool with action: "status", chain: "release" (a legacy .release-state.md from an older version is imported automatically):
- Very specific: line 32
If there is no run → abort: "No release run found.
- Very specific: line 33
If the run is not active with currentPhase: "tag" → abort: "Expected the run to be at phase tag but it is at <currentPhase/status>.
- Very specific: line 36
If data.package / data.version (or the bump phase summary) is missing → abort: "Phase pointer looks right but the Phase 2 output is missing.
- Very specific: line 39
If the tool reports the chain is locked by another session, abort.
- Distinctive: line 54
If on the default branch and the project's convention is to branch, create a release branch first.
- Very specific: line 59
Create the annotated tag: git tag -a v<version> -m "<package> v<version>".
- Very specific: line 64
Leave the commit and tag local.
- Distinctive: line 69
Call the chain tool:
- Distinctive: line 83
After completing this phase, output exactly:
- Distinctive: line 88
Do not start the next phase.
“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Release: Tag
Chain version: 2 (durable state contract — see docs/STATE-CONTRACT.md)
Phase 3 of 5: release-changelog → release-bump → release-tag → release-publish → release-verify
Overview
Commits the version bump and changelog produced by earlier phases, then creates the
annotated git tag. Keeps the tag local by default — pushing and publishing happen in the
next phase — so a mistake here is still easy to undo (git tag -d, git reset).
All chain state is managed by the chain tool: authoritative JSON at
.pi/fairy-tales/chains/release/state.json with a human-readable state.md
projection beside it. Never create or edit state files by hand, and never create lock
files — the tool locks for you.
Load State
Call the chain tool with action: "status", chain: "release" (a legacy
.release-state.md from an older version is imported automatically):
- If there is no run → abort: "No release run found. Run
release-changelogfirst." - If the run is not
activewithcurrentPhase: "tag"→ abort: "Expected the run to be at phasetagbut it is at<currentPhase/status>. Run that phase's skill instead." - If
data.package/data.version(or the bump phase summary) is missing → abort: "Phase pointer looks right but the Phase 2 output is missing. Treat as corrupted — restart the chain or repair via chain action 'update'." - If the tool reports the chain is locked by another session, abort; a dead session's
lock can be cleared with
action: "unlock". Never create lock files yourself.
Workflow
Step 1 — Commit
Stage package.json, CHANGELOG.md, and any other release-related files, then commit
with a conventional message:
chore(release): <package> v<version>End the commit body with the project's standard Co-Authored-By trailer if it uses one.
If on the default branch and the project's convention is to branch, create a release
branch first.
Step 2 — Tag
Create the annotated tag: git tag -a v<version> -m "<package> v<version>". Confirm with
git tag --list v<version> and git describe --tags.
Step 3 — Do NOT push yet
Leave the commit and tag local. release-publish handles push + publish so the network
step is a single, explicit phase.
Step 4 — Complete the phase
Call the chain tool:
action: "complete-phase", chain: "release", phase: "tag",
summary: "committed release; created local tag v<version>; tag/commit are local only — release-publish will push and publish",
data: {},
artifacts: { "commit": "<commit sha>", "tag": "v<version>" }The tool validates this is the current phase, advances the run to publish, and
rewrites the JSON + markdown projection atomically.
Handoff
After completing this phase, output exactly:
Phase 3 complete. Chain state updated (
.pi/fairy-tales/chains/release/state.json). Run/release-publishto begin Phase 4.
Do not start the next phase. Do not offer to continue. Output only the handoff line and stop.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

