battery-pack-rs/battery-pack/github-ci-fundamentals
Claude Code and agent skill by battery-pack-rs/battery-pack
- community
Checking that the SKILL.md file is still in the repository.
Standard GitHub Actions CI structure for Rust projects using ci-battery-pack
Install
npx vskill@latest install battery-pack-rs/battery-pack/github-ci-fundamentalsSKILL.md
GitHub CI Fundamentals
Standard CI structure generated by ci-battery-pack for Rust projects on GitHub Actions.
Setup:```shcargo install cargo-bpcargo bp new ci --name my-project # full project scaffoldcargo bp add ci -t spellcheck # add individual features to existing projects```
Workflow Structure
The core CI workflow (ci.yml) runs on PRs, merge queue, and pushes to main. It includes:
| Job | Purpose | |
|---|---|---|
fmt | cargo fmt --check | |
clippy | Lint with -D warnings | |
warnings | cargo check with RUSTFLAGS="-Dwarnings" (separate from clippy so test failures don't hide warnings) | |
docsrs | Docs build with all features under cfg(docsrs) | |
build | Matrix: stable × nightly, --all-features × --no-default-features | |
features | cargo hack check --feature-powerset --depth 2 --no-dev-deps | |
msrv | cargo hack check --rust-version (verifies declared MSRV) | |
lockfile | cargo update --workspace --locked (catches stale lockfiles) | |
minimal-versions | Generates a minimal-version lockfile, then checks with stable | |
semver | cargo-semver-checks (catches accidental breaking changes) |
audit.yml runs RustSec audit-check daily and on Cargo manifest, lockfile, or audit workflow changes. Set audit_issue=false to run cargo audit without issue creation.
dependency-policy.yml runs cargo-deny for licenses, bans, and sources. Set dependency_policy=false to skip it.
The Gate Job Pattern
All jobs feed into a single ci-pass job that uses jq to assert all dependencies succeeded or were skipped:
Set ci-pass as the single required status check in branch protection. This avoids updating branch protection rules every time you add or remove a CI job.
SHA Pinning
All GitHub Actions are pinned to commit SHAs at generation time (e.g., actions/checkout@abc123 # v6.0.2). This follows GitHub's security hardening guidance. Dependabot keeps them updated via the generated dependabot.yml, which also handles Cargo dependency updates (major versions only, since Cargo resolves compatible versions automatically).
Concurrency
PR workflows use concurrency groups to cancel superseded runs:
Adding Features to an Existing Project
Each additional workflow or scaffold is available as a standalone template:
Preview before applying: cargo bp show ci -t fuzzing
YAML and TOML files are merged additively (new keys added, existing preserved). Other file types prompt for skip/overwrite.
What the agent can do
- Run
cargo bp new ci --name <project>orcargo bp add ci -t <template>to generate files - Edit generated workflow YAML,
deny.toml,_typos.toml,release-plz.toml - Add or modify Cargo.toml sections (features, metadata, dependencies)
- Preview templates with
cargo bp show ci -t <template>
What requires human action (outside the repo)
These steps involve GitHub/crates.io web UIs that the agent cannot access. After generating files, instruct the user to complete:
- Set
ci-passas the required status check in branch protection - See the trusted-publishing skill for release pipeline setup (crates.io + GitHub settings)
- See the binary-releases skill for PAT and secret configuration
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingbattery-packs/ci-battery-pack/skills/github-ci-fundamentals/SKILL.md
Popularity
- Repository stars
- 78
- Repository forks
- 12
- 7-day trend score
- 22
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/battery-pack-rs/battery-pack/github-ci-fundamentals)