本文へ移動
cccskills
無料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.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md5.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

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.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

ci-churn

無料

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.

日本語の概要は準備中です。原文の説明を表示しています。

gaia-research/gaia-skill-tree232026年10月13日 更新

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.

日本語の概要は準備中です。原文の説明を表示しています。

gaia-research/gaia-skill-tree232026年10月13日 更新

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".

日本語の概要は準備中です。原文の説明を表示しています。

gaia-research/gaia-skill-tree232026年10月13日 更新

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".

日本語の概要は準備中です。原文の説明を表示しています。

gaia-research/gaia-skill-tree232026年10月13日 更新

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.

日本語の概要は準備中です。原文の説明を表示しています。

gaia-research/gaia-skill-tree232026年10月13日 更新

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.

日本語の概要は準備中です。原文の説明を表示しています。

gaia-research/gaia-skill-tree232026年10月13日 更新

gaia-research のスキルをすべて見る

このスキルの問題を報告する