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.