git-ci
Skill7 starsChanged 21 days agoMITView on GitHub
CI/CD status queries for GitHub Actions (gh) and GitLab CI (glab). Check pipeline status, failing jobs, workflow runs, job logs, and merge readiness. Use when checking CI status, debugging build failures, viewing job logs, watching pipeline progress, or configuring gh/glab CI read-only allowlists. Not for PR workflows (git-pr), git commits (git-commit), or deploy/release ops
1 other project uses a version of this.
Adopted by
Most recently taken up by
- Sanix-Darker/git-ci-skillstheir own version, first seen Aug 24, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- Sanix-Darker/git-ci-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository8 other files it gives its agents.
- AGENTS.mdAGENTS.md
- bun-apiSkill
- bun-cliSkill
- coderabbitSkill
- deps-upgradeSkill
- git-commitSkill
- git-projectSkill
- git-prSkill
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 47
If ambiguous or both present, ask the user.
≈ “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.
Files
CI/CD Status Queries
Query CI/CD pipelines and check merge readiness across GitHub Actions and GitLab CI. All recipes use minimal field sets for token efficiency. Covers pipeline status, failing jobs, run logs, workflow management, and merge readiness assessment.
Verified against gh v2.103.2 (2026-10-27): every gh subcommand and flag used here, against its --help on v2.102.0 (2026-09-30), then the pkg/cmd sources of v2.102.0 and v2.103.2 diffed (2026-10-27), since --help is generated from them: no flag of a subcommand used here changed. glab: not verified -- no pinned version yet; check glab <cmd> --help before relying on a glab flag. If gh --version is newer, read the release notes since v2.103.2 before relying on flag details.
When to Use
- Checking CI status -- "are checks passing?", "what's failing?", pipeline status
- Watching CI runs -- wait for completion, fail-fast on errors
- Debugging failures -- view logs for failing jobs, identify flaky tests
- Assessing merge readiness -- all checks green, reviews approved, no conflicts
- Listing workflow runs -- recent pipelines, specific workflow history
- Configuring CI allowlists -- auto-approval patterns for read-only CI commands
Critical Rules
- Use
gh pr checks(notgh run) for current-branch CI status. Thepr checkssubcommand maps directly to the PR's required status checks. - Use
glab ci statusfor current-branch CI in GitLab. It shows the pipeline for the current branch without needing a pipeline ID. - Always use
--jsonwithghto filter output fields. Full JSON output wastes tokens.gh pr checksaccepts exactlybucket,completedAt,description,event,link,name,startedAt,state,workflow-- there is noconclusionfield here (that one belongs togh runand tostatusCheckRollup), and an unknown field aborts the command withUnknown JSON field. - A check that did not fail is not always a completed job. App and bot checks report non-failing states for outcomes that did no work: CodeRabbit reports
Review rate limitedas aneutralcheck run (or, on its legacy commit status, a successful one) when it never reviewed the code. The outcome lives in the check run's summary or the statusdescription;gh pr checksreturns only the latter (when asked), andgh pr view --json statusCheckRollupdrops both. See Review-Bot Checks below before calling a PR reviewed or merge-ready. - Use commands exactly as shown in this skill. The commands below are designed to match auto-approval allowlist patterns. Improvising flags may trigger permission prompts.
Provider Detection
git remote get-url origin| Remote URL contains | Provider | CLI | CI system |
github.com | GitHub | gh | GitHub Actions |
gitlab.com or self-hosted GitLab | GitLab | glab | GitLab CI |
If ambiguous or both present, ask the user.
The glab recipes follow GitLab's documentation and are not exercised against a live instance -- the GitHub ones are. Confirm flags with glab <command> --help before depending on one unattended.
CI Status (Current Branch)
GitHub:
gh pr checks --json name,state,bucket,descriptionstate is GitHub's raw verdict (check runs and legacy status contexts use different vocabularies -- SUCCESS, FAILURE, PENDING, SKIPPED, ...); bucket collapses it to exactly pass, fail, pending, skipping, or cancel. description carries the app's own summary line -- always request it: it is the only field that separates a check that did its job from one that merely reported (Critical Rule 4). Branch on the JSON, not on the exit status: gh pr checks exits 8 while checks are pending and non-zero when any fails or none are reported.
GitLab:
glab ci status # current branch, one line per job
glab ci get # full detail for the branch's pipelineReview-Bot Checks (GitHub)
Review bots publish their outcome as a check that never fails. CodeRabbit writes a CodeRabbit check run by default (its review progress reports, reviews.review_progress), or the legacy commit status where reviews.commit_status keeps it. In the checks list it sits among the CI jobs, and a round that reviewed nothing still reads as "nothing failed".
# Check run (default): the verdict is the first line of output.summary, "Result: <outcome> - <verdict>"
# (gh api: not in this skill's allowlist, so it needs manual approval; the git-pr allowlist covers it)
gh api repos/{owner}/{repo}/commits/"$(gh pr view --json headRefOid --jq .headRefOid)"/check-runs --paginate --slurp | jq '[.[].check_runs[] | select(.app.slug=="coderabbitai")] | max_by(.completed_at // .started_at) | if . == null then empty else {status, conclusion, verdict: ((.output.summary // "") | split("\n")[0])} end'
# Legacy commit status: the verdict is the description, which gh pr checks returns when asked
gh pr checks --json name,state,bucket,description --jq '.[] | select(.name|ascii_downcase|startswith("coderabbit"))'| Verdict | Check run conclusion (gh pr checks state / bucket) | Commit status (gh pr checks state / bucket) | Reality |
Review in progress | not completed (PENDING / pending) | PENDING / pending | Running right now -- the PR is not reviewed yet |
Review completed | success (SUCCESS / pass) | SUCCESS / pass | The bot reviewed this commit |
Review rate limited | neutral (NEUTRAL / skipping) | SUCCESS / pass | The hourly bucket was empty -- nothing was reviewed, and nothing is queued |
Review skipped | skipped (SKIPPED / skipping), no reason given | SUCCESS / pass, Review skipped: <reason> | Excluded by config (draft pull request, reviews are disabled for this base branch) -- nothing was reviewed |
On the legacy status, across 25 PRs of one account, 15 of 62 rounds came back Review rate limited -- a green check next to the CI jobs meaning nothing was reviewed, roughly a quarter of the time. The check run at least buckets those as skipping, but gh pr checks shows no description for a check run and lumps a refused review with a skipped one: only the summary line says which.
gh pr view --json statusCheckRollup drops the verdict on both surfaces (a StatusContext has no description, a CheckRun only its conclusion), so avoid it for bot checks. Handling the rate-limited case (windows, re-triggers, the review loop, and bot_check, which reads both surfaces) is the git-pr skill's references/bot-review-loop.md.
Watch Until Complete
GitHub:
gh pr checks --watch --fail-fastGitLab:
glab ci status --liveRecent Pipeline/Workflow Runs
GitHub:
gh run list --json databaseId,displayTitle,status,conclusion,headBranch,event --limit 10GitLab:
glab ci listSpecific Run Details
GitHub:
gh run view {run_id} --json jobs,status,conclusion,displayTitleGitLab:
glab ci view {pipeline_id}Run Logs
GitHub:
gh run view {run_id} --log-failedGitLab:
glab ci trace {job_id}Merge Readiness (Current Branch)
GitHub:
gh pr view --json mergeable,reviewDecision,statusCheckRollup,isDraft,mergeStateStatusFields:
mergeable--MERGEABLE,CONFLICTING, orUNKNOWNreviewDecision--APPROVED,CHANGES_REQUESTED,REVIEW_REQUIRED, or emptyisDraft-- booleanmergeStateStatus--CLEAN,BLOCKED,BEHIND,DIRTY,UNSTABLE
statusCheckRollup answers "did the checks pass", never "did each check do its job" -- it carries no description, so a bot check that reported a rate limit looks identical to one that reported a completed review. Pair it with the gh pr checks --json ...,description call above whenever a review bot gates the merge.
GitLab:
glab mr view -F json | jq '{merge_status:.merge_status,conflicts:.has_conflicts,blocking:.blocking_discussions_resolved,draft:.draft}'Variables and Secrets
GitHub:
gh variable list
gh secret listGitLab:
glab variable listCI Queries Reference
Reference: See
references/ci-queries.mdfor advanced patterns: failing check extraction, required checks, workflow listing, cache management, rulesets.
Allowlist
Reference: See
references/allowlist.mdfor tieredBash(command:*)patterns covering all read-only CI operations -- safe to auto-approve in Claude Codesettings.jsonor OpenCode config.
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
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.

