ci-and-release

Documents CI/CD workflows, version bumping, and PyPI release mechanics for GitHub Actions.

4|Updated Mar 17, 2026
One-click install
npx skills add https://github.com/yeaboi-ai/yeaboi.ai --skill ci-and-release-yeaboi-ai
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ci-and-release
Source: https://github.com/yeaboi-ai/yeaboi.ai/tree/main/.claude/skills/ci-and-release
Command: npx skills add https://github.com/yeaboi-ai/yeaboi.ai --skill ci-and-release-yeaboi-ai

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Release engineering for this repository involves hidden failure modes: trusted-publisher misconfiguration, ruleset checks that silently never apply, token types that look correct but fail with 401s, and version-bump races between parallel PRs. This Skill captures those internals so changes to workflows, versioning, or publishing do not red the pipeline in ways nothing reports. ## Core Features & Use Cases - Version & Release Mechanics: Explains single-sourced versioning in pyproject.toml, automated semver bumps on PR branches via auto-version.yml, rc numbering from commit counts, and the human-merge-only publish lane enforced by release_lane.py. - CI/CD Workflow Reference: Documents every workflow in .github/workflows (ci.yml, publish.yml, publish-beta.yml, claude-review.yml, dependabot-auto.yml, pr-feedback.yml, and more), including merge gating rules and why required jobs must never carry an if: condition. - Failure Diagnosis: Provides signature-based troubleshooting for Claude workflow auth failures (401 vs model issues), Dependabot secrets-store quirks, and CodeQL concurrency cancellation. - Use Case: When a pre-release dies at upload with invalid-publisher, use this Skill to learn that publish-beta.yml needs its own PyPI trusted-publisher entry alongside publish.yml's. ## Quick Start Ask the agent to explain why a merged PR did not trigger a PyPI release, or to walk through safely modifying a workflow in .github/workflows.

Frequently Asked Questions about ci-and-release

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate semantic version bumps on GitHub pull requests?

Use a PR-triggered workflow that classifies the diff into a semver level and commits the bump to the PR branch, not main. Bumping on the PR branch avoids GITHUB_TOKEN recursion suppression, and semver:major/minor/patch labels can override the classification.

Why does my PyPI trusted publisher upload fail with invalid-publisher?

Each publishing workflow needs its own trusted-publisher entry on PyPI matching its exact workflow filename and environment. A pre-release workflow like publish-beta.yml fails at upload if only the main publish.yml entry exists.

Why is a required status check not blocking my GitHub PR?

A workflow posting a commit status is not enough; the check context must be manually added to the branch ruleset's required_status_checks. Verify with gh api on the ruleset and confirm the context appears in required_status_checks_policy.

Can Dependabot PRs auto-merge with GitHub Actions?

Yes, by triggering on workflow_run after CI passes rather than Dependabot's pull_request event, since Dependabot runs only access a separate secrets store. Auto-merge then waits on required checks, though merges by GITHUB_TOKEN will not retrigger publish workflows.

Why do Claude GitHub Actions workflows fail with 401 authentication errors?

The 401 means the OAuth token is expired, revoked, or the wrong token type. CLAUDE_CODE_OAUTH_TOKEN must be a Claude Code OAuth token (sk-ant-oat...), not a Console API key (sk-ant-api...); regenerate it with claude setup-token.

Should required CI jobs have if conditions in GitHub Actions?

No. A required job skipped because its needs were skipped produces no check at all, blocking the PR forever. Scope what a required job runs internally, but never gate whether it reports.