Skip to content
cccskills
FreePublished on GitHub

gaia-release

Helper for release operations, compilation of changelogs between tags, version lockstep syncing, and promotion of GitHub releases from canary/pre-release to latest/production. Use when the user asks to "compile the changelog", "promote release to latest", "tag a release", or do version release operations.

The English summary is being prepared. Showing the original description.

Works withGitHub
See how to install

Files included (1)

  • SKILL.md5.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

gaia-release

A skill for managing releases, compiling changelogs across tags, verifying version lockstep, and promoting releases from canary/beta to latest/production.

When to invoke

Trigger when the user requests release operations, including:

  • "Compile the changelog from previous latest" / "generate release notes"
  • "Mark tag vX.Y.Z as Latest" / "promote release to latest"
  • "Update release notes on GitHub"
  • Release bump checks and tag auditing

Do NOT use for:

  • Standard git branch merging (use standard git procedures)
  • Regular document sync routines (use gaia-docs-sync or similar)

Operating Contract

1. Compile Changelogs

To compile a changelog from a previous version/tag to the target tag:

  1. Fetch all tags from remote to ensure your local tag list is up-to-date:
    git fetch --tags
    
  2. Find the commits and tags between the starting tag and the target tag:
    git log <start_tag>..<target_tag> --decorate --oneline
    
  3. Group commits by their release tags and format them into readable changelog groups:
    • Features (feat:, chore:, etc.)
    • Bug Fixes (fix:, etc.)
    • Documentation (docs:, etc.)
    • CI / Testing / Housekeeping (infra:, test:, etc.)
  4. Keep the list concise and link to the relevant Pull Requests or Issues.

2. Verify / Sync Version Lockstep

If requested to update version files:

  1. The three manifest files must remain in lockstep:
    • pyproject.toml
    • packages/cli-npm/package.json
    • registry/gaia.json (gitignored pipeline-internal, but updated locally)
  2. Use python3 scripts/verify_lockstep.py to check current lockstep alignment.
  3. Sync versions using:
    gaia dev release <patch|minor|major> --sync
    
    Or if not bumping and only syncing manifests to the highest version:
    python3 -m gaia_cli.main dev release --sync
    

3. Promote GitHub Release to Latest / Production

⚠️ Ancestry guard (mandatory — issue: split-brain release state). Before promoting or publishing any tag, verify the tag's commit is an ancestor of main. Promoting/publishing a tag whose commit never landed on main desyncs the published version from the branch manifests, which makes sync-artifacts.yml recompute the same patch version on every subsequent merge and hard-fail on fatal: tag 'vX.Y.Z' already exists (this is exactly what happened with v6.8.9). Run this and abort if it fails:

git fetch --tags origin main
if ! git merge-base --is-ancestor "$(git rev-list -n1 <tag>)" origin/main; then
  echo "ABORT: <tag> commit is not on main — land the version-bump commit first."
  exit 1
fi

If the tag is legitimately ahead of main (e.g. the release commit is still in flight), do not promote/publish yet — merge the bump to main first, or reconcile main's manifests to the tag version so the branch owns it.

To change a canary or beta release to the latest production release on GitHub:

  1. Generate the changelog/notes in a markdown file (e.g. generated-output/changelog_vX.Y.Z.md).
  2. Run the gh release edit command with the appropriate flags to update the title, remove the prerelease flag, mark it as latest, and upload the notes:
    gh release edit <tag> --title "<tag>" --prerelease=false --latest --notes-file <path_to_notes.md>
    
  3. Run gh release view <tag> to verify that the release shows prerelease: false and the title/notes are correct.

4. Manually Publish to PyPI

If the release needs to be manually published to PyPI (e.g., when bypassing automated CI triggers or for manual publication control):

⚠️ Apply the same ancestry guard from §3 first. Publishing a version to PyPI that main's pyproject.toml does not carry is unrecoverable (PyPI versions are immutable) and strands main behind the published version. Only publish when main's version ≥ the version being published.

  1. Use the GitHub CLI to trigger the Publish gaia-cli to PyPI workflow manually. Specify the main branch as the reference, which will build the version defined in pyproject.toml on the main branch:
    gh workflow run publish-pypi.yml --ref main
    
  2. Monitor the run to confirm that the build and publish steps complete successfully.

5. Code Change Constraint

  • Always respect user instructions regarding code changes. If the user states "commit no code" or "just do the tagging and release," perform all tag/release modifications on GitHub directly using gh CLI commands and output the compiled changelog text in the chat, rather than committing edits to CHANGELOG.md.

Example Invocation

User: Work on tag v5.4.10 and change it as Latest. Compile the CHangelog from previous latest. I will be publishing it to pypi.
Agent:
  1. Fetches tags and inspects commits between v5.1.1 and v5.4.10.
  2. Compiles a detailed changelog grouped by release.
  3. Uses `gh release edit v5.4.10 --title "v5.4.10" --prerelease=false --latest --notes-file generated-output/changelog_v5.4.10.md` to promote the release to Latest.
  4. Verifies the status using `gh release view`.
  5. Presents the changelog to the user and confirms the release update.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Measure CI churn cost for a pull request: how many commits and how many CI-compute seconds were burned on avoidable "fix the CI" push rounds. Use when you want to understand the efficiency cost of a PR's iteration cycle, get actionable pre-push check suggestions, or include a churn summary in a pipeline report. Triggers: "ci churn", "how much CI did we burn", "avoidable commits", "ci efficiency", "wasted CI time", "churn report", "/ci-churn". Called automatically by /fp-drift at pipeline close.

The English summary is being prepared. Showing the original description.

gaia-research/gaia-skill-tree23Updated Oct 23, 2026

Produce the rendered evidence a human-gated frontend PR owes its reviewer: capture each changed surface (plus the before state for anything modified, plus mobile width), then generate one self-contained local HTML page the founder can open and review without checking anything out. Use when a PR is gated by the "Frontend changes are HUMAN-GATED" section of CLAUDE.md, or when the user says "/design-gate", "screenshot evidence for this PR", "prep this for founder review", "build the design evidence page", "what does this look like before and after". The page comes from a template script, not hand-written markup. Output is session-local and never committed. Do NOT use for non-gated changes: typo/grammar/factual fixes in an unchanged block, dead link targets, alt/ARIA fixes with no visual change, cache-bust bumps, or refactors with no rendered diff.

The English summary is being prepared. Showing the original description.

gaia-research/gaia-skill-tree23Updated Oct 23, 2026

One-fix-at-a-time, approval-gated design fix recovery. Given a checklist of fixes (handover doc, CHECKLIST.md, or inline list), applies each individually, presents a diff, and waits for an explicit APPROVE / REJECT / NO CHANGES decision before committing. Trigger phrases: /design-iteration, "go through the checklist one by one", "fix these one at a time", "bucket recovery", "design fix pass".

The English summary is being prepared. Showing the original description.

gaia-research/gaia-skill-tree23Updated Oct 23, 2026

Playbook for correcting a named skill's star level to match its computed Trust Magnitude grade, with an independent post-calibration verification pass and a CLI-logged timeline event (never hand-written). Use when: recalibrating a skill's level, fixing a stale or drifted star rating, running a batch of `gaia dev calibrate` corrections, or confirming a past calibration actually landed. Triggers: "calibrate <skill>", "recalibrate the trust magnitude backlog", "promote/demote <skill> to N stars", "why is <skill> still N stars", "verify a calibration actually landed", "Hall of Heroes ranking is wrong".

The English summary is being prepared. Showing the original description.

gaia-research/gaia-skill-tree23Updated Oct 23, 2026

Close out a completed EPIC / sprint end-to-end: author a fact-verified meta-post announcing what shipped, archive the EPIC's handovers, snapshot orchestrator memory, gate the integration→main merge on CI-green + explicit human go, drive the version bump (merge-commit conventions that auto-sync classifies), and verify the release reached the registry/PyPI. Use when the user says "close out EPIC <n>", "wrap up the sprint", "ship the meta shift", "/epic-close", or asks to finalize an integration branch that is ready to merge to main. Generalizes the EPIC 1002 (Yggdrasil II) close-out. This skill orchestrates — it authors founder docs directly (superadmin) and delegates code/regen to workers; it NEVER merges to main without the human gate.

The English summary is being prepared. Showing the original description.

gaia-research/gaia-skill-tree23Updated Oct 23, 2026

Run this skill for Phase 3 of the evidence verification pipeline — the adversarial audit step. Use when you need to check the evidence data lake for bad data before ingestion: dead links, wrong URL formats (tree/ vs blob/), subjective wording ("elite", "high-quality"), stale migration notes, benchmark catalog misuse/vendor-claim leakage, or skills whose star evidence conflicts with classified evidence level. Triggers on phrases like: "audit the data lake", "adversarial check", "ev-adversarial-audit", "check for noise in evidence", "flag bad evidence", "run the audit phase", "quality check the by-type files", or any reference to Phase 3 of the pipeline.

The English summary is being prepared. Showing the original description.

gaia-research/gaia-skill-tree23Updated Oct 23, 2026

See all skills by gaia-research

Report a problem with this skill