agentleFS
ykotikykotik/cli-power-skills/skills/ci-automation/SKILL.md

ci-automation

Skill1 starsChanged 7 months agoMITView on GitHub

Use when running GitHub Actions locally, creating task runner recipes, generating changelogs from git history, managing GitHub PRs/issues/releases programmatically, or creating encrypted backups

  • Reads credentials
  • Commits and pushes

The file

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 3 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Prefer just over make for task recipes — better syntax, built-in arguments, no tab sensitivity

    line 199
  2. Distinctive:

    Prefer act over push-and-pray for CI debugging — test Actions locally before pushing

    line 200
  3. Distinctive:

    Prefer git-cliff over manual changelog writing — auto-generated from conventional commits

    line 201
  4. Distinctive:

    Prefer gh CLI over GitHub web UI for batch operations — scriptable, JSON output, faster

    line 202

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

CI Automation

When to Use

  • Running GitHub Actions workflows locally before pushing
  • Creating or running project task recipes (build, test, deploy)
  • Generating changelogs from conventional commit history
  • Creating GitHub releases with auto-generated release notes
  • Managing GitHub PRs, issues, or Actions runs programmatically
  • Creating encrypted backups before destructive operations

Tools

ToolPurposeStructured output
ghGitHub CLI — PRs, issues, releases, Actions, API--json on most commands
justTask runner with Makefile-like recipes (Justfile)N/A (runs commands)
actRun GitHub Actions workflows locally in DockerTerminal output (mirrors Actions logs)
git-cliffGenerate changelogs from conventional commits--output for file, stdout by default
resticEncrypted incremental backups--json for JSON status output

Patterns

Run a specific GitHub Actions job locally

act -j build

Run Actions with a specific event trigger

act push

Run Actions with secrets from .env file

act --secret-file .env -j test

List available Actions workflows and jobs

act -l

Run Actions with specific platform image

act -P ubuntu-latest=catthehacker/ubuntu:act-latest

Create a Justfile with common recipes

Create Justfile:

# List available recipes
default:
    @just --list

# Run tests
test:
    pytest -v

# Lint and format
lint:
    ruff check --fix .
    ruff format .

# Build and tag Docker image
build tag="latest":
    docker build -t myapp:{{tag}} .

# Deploy to staging
deploy-staging: test lint
    ./scripts/deploy.sh staging

Run a just recipe

just test

Run recipe with arguments

just build v1.2.3

List available recipes

just --list

Generate changelog for all history

git-cliff --output CHANGELOG.md

Generate changelog for latest release only

git-cliff --latest

Generate changelog since a specific tag

git-cliff --tag v1.0.0..HEAD

Generate changelog with custom config

git-cliff --config cliff.toml --output CHANGELOG.md

GitHub: Create a release with changelog

git-cliff --latest --strip header | gh release create v1.2.3 --notes-file -

GitHub: List open PRs as JSON

gh pr list --json number,title,author,createdAt

GitHub: Create a PR

gh pr create --title "feat: add new feature" --body "Description of changes"

GitHub: View Actions run status

gh run list --json status,name,conclusion --limit 10

GitHub: Re-run a failed Actions workflow

gh run rerun <run-id> --failed

GitHub: Create an issue

gh issue create --title "Bug: description" --body "Steps to reproduce..." --label bug

GitHub: Query the GitHub API directly

gh api repos/{owner}/{repo}/releases --jq '.[0:5] | .[].tag_name'

Restic: Initialize a backup repository

restic init --repo /path/to/backup

Restic: Create a backup

restic backup --repo /path/to/backup --json ./important-data

Restic: List snapshots

restic snapshots --repo /path/to/backup --json

Restic: Restore from backup

restic restore latest --repo /path/to/backup --target /path/to/restore

Pipelines

Generate changelog → create GitHub release

VERSION=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.1.0")
git-cliff --latest --strip header | gh release create "$VERSION" --notes-file - --title "$VERSION"

Each stage: git-cliff generates changelog for latest version, gh creates release with those notes.

Run local CI → create PR if passing

act -j test && act -j lint && gh pr create --title "feat: ready for review" --body "Local CI passed (test + lint)"

Each stage: act runs test job, act runs lint job, gh creates PR only if both pass.

Backup → deploy → verify

restic backup --repo /backup --json ./data && ./scripts/deploy.sh production && curl -sf https://myapp.com/health

Each stage: restic backs up current state, deploy script runs, curl verifies health endpoint.

List PRs → show CI status for each

gh pr list --json number,title,statusCheckRollup --jq '.[] | {pr: .number, title: .title, checks: [.statusCheckRollup[]? | {name: .name, status: .conclusion}]}'

Prefer Over

  • Prefer just over make for task recipes — better syntax, built-in arguments, no tab sensitivity
  • Prefer act over push-and-pray for CI debugging — test Actions locally before pushing
  • Prefer git-cliff over manual changelog writing — auto-generated from conventional commits
  • Prefer gh CLI over GitHub web UI for batch operations — scriptable, JSON output, faster

Do NOT Use When

  • Simple git operations (commit, push, branch) — use git directly
  • CI debugging that requires the exact GitHub runner environment — act uses Docker approximations
  • One-time file copy — don't use restic for simple cp operations
  • Project doesn't use conventional commits — git-cliff won't produce useful output

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.