PR Babysitter
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
CI/CD lane for culture: branch, commit, push, create PR, wait for automated reviewers, fetch comments, fix or pushback, reply, resolve threads.
$ npx skills add agentculture/culture --skill cicd -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install agentculture/culture cicd --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/agentculture/culture.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/cicd .claude/skills/cicd && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "cicd" agent skill from https://github.com/agentculture/culture/tree/main/.claude/skills/cicd into .claude/skills/cicd/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cicd", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/agentculture/culture/tree/main/.claude/skills/cicdType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add agentculture/culture --skill cicd -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install agentculture/culture cicd --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/agentculture/culture.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/cicd .agents/skills/cicd && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cicd" agent skill from https://github.com/agentculture/culture/tree/main/.claude/skills/cicd into .agents/skills/cicd/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cicd", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add agentculture/culture --skill cicd -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install agentculture/culture cicd --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/agentculture/culture.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/cicd .cursor/skills/cicd && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "cicd" agent skill from https://github.com/agentculture/culture/tree/main/.claude/skills/cicd into .cursor/skills/cicd/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cicd", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/agentculture/culture.git --path .claude/skills/cicd--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add agentculture/culture --skill cicd -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install agentculture/culture cicd --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/agentculture/culture.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/cicd .gemini/skills/cicd && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "cicd" agent skill from https://github.com/agentculture/culture/tree/main/.claude/skills/cicd into .gemini/skills/cicd/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cicd", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install agentculture/culture cicdInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add agentculture/culture --skill cicd -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/agentculture/culture.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/cicd .github/skills/cicd && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "cicd" agent skill from https://github.com/agentculture/culture/tree/main/.claude/skills/cicd into .github/skills/cicd/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cicd", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add agentculture/culture --skill cicd -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install agentculture/culture cicd --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/agentculture/culture.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/cicd .opencode/skills/cicd && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "cicd" agent skill from https://github.com/agentculture/culture/tree/main/.claude/skills/cicd into .opencode/skills/cicd/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cicd", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
cicdCI/CD lane for culture: branch, commit, push, create PR, wait for automated reviewers, fetch comments, fix or pushback, reply, resolve threads.
Cicd is an agent skill from agentculture/culture. CI/CD lane for culture: branch, commit, push, create PR, wait for automated reviewers, fetch comments, fix or pushback, reply, resolve threads. Delegates lint / open / read / reply / delta to agex pr; keeps two culture-side extensions on top — status (SonarCloud gate, OPEN issues, hotspots, unresolved-thread tally) and await (read --wait + status, exits non-zero on Sonar ERROR or unresolved threads). Renamed from pr-review in culture 8.8.1; rebased on agex pr (from steward 0.12.0) in culture 11.1.0. Use when…
Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including scripts (for example `scripts/_resolve-nick.sh`, `scripts/portability-lint.sh` and `scripts/pr-reply.sh`).
It sits in Development, covering Pull requests and CI/CD. The repository describes itself as: Culture turns isolated stochastic agents into cooperative, inspectable, improvable artificial colleagues. The licence is Apache-2.0.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit d5b5715. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 5 files in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
bashgitghuvpython3From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
SONAR_PROJECT_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Cicd loads about 3.7k tokens when it runs. Until then it costs about 176 tokens; SKILL.md has 1,578 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from agentculture/culture at commit d5b5715, republished under its Apache-2.0 licence (© agentculture). 1,578 words, ~3,714 tokens.
.claude/skills/cicd/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.Complete pull request lifecycle for the culture project. Follow every step
in order. The skill was renamed from pr-review to cicd in culture 8.8.1
and rebased on agex pr in culture 11.1.0; existing prompts that say "use
pr-review" still resolve here through the trigger phrases above.
agex pr (in agentculture/agex-cli) is the upstream for the five core
PR-lifecycle verbs — lint, open, read, reply, delta. Culture used
to vendor parallel scripts for each (create-pr-and-wait.sh, pr-batch.sh,
pr-comments.sh, wait-and-check.sh, poll-readiness.sh); in 11.1.0 those
were dropped in favor of delegating to agex. What's left in this skill is
the culture-specific gating layer:
status — SonarCloud quality gate, OPEN issues, hotspots, deploy preview
URL, unresolved-inline-thread tally.await — composes agex pr read --wait with status and gates on
Sonar ERROR / unresolved threads. The single command to run after
pushing a fix when you want "wake me when this PR is triage-able."Both extensions are filed upstream (agex-cli#41); when they land they migrate out of this skill.
Hard requirements: agex (already a culture runtime dep — agex-cli>=0.13
in pyproject.toml), gh (GitHub CLI), jq, bash, python3 (stdlib
only), curl (used by pr-status.sh).
If agex is not on PATH (e.g. running outside a culture venv):
uv tool install agex-cli # or: pip install --user agex-cliIf you are on main, create a feature branch first:
git checkout -b <branch-name>Branch naming conventions:
| Type | Pattern | Example |
|---|---|---|
| Bug fix | fix/<short-desc> | fix/server-not-running-crash |
| Feature | feat/<short-desc> | feat/webhook-alerts |
| Docs | docs/<short-desc> | docs/protocol-extensions |
| Skill | skill/<short-desc> | skill/cicd-and-communicate-resync |
Before adding new work to an existing branch, check if there's already an open PR:
gh pr view --json number,title,state --jq '{number,title,state}'If the command fails with "no pull requests found", there is no open PR —
proceed normally. Only act on the result if it returns valid JSON with
state: "OPEN".
If an open PR exists and your new changes are unrelated to that PR's scope, stop and ask the user:
"There's an open PR (#N: 'title') on this branch. The new changes are unrelated to that PR. Would you like to merge the existing PR first before starting the new work?"
Wait for the user's answer before proceeding. If the user says yes, let them merge (never merge yourself). If they say continue, add the changes to the existing PR.
If the new changes ARE related to the existing PR, proceed normally — commit and push to the same branch.
Edit code
Run tests via the run-tests skill (parallel by default)
Bump the version (required before PR — version-check CI gate
enforces this):
echo '{"fixed":["..."]}' | python3 .claude/skills/version-bump/scripts/bump.py patchStage and commit:
git add <files>
git commit -m "$(cat <<'EOF'
Commit message here.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EOF
)"Push the branch (no --push flag on workflow.sh open anymore — see
the Migration note at the end):
git push -u origin <branch-name>Use workflow.sh open — it forwards to agex pr open --delayed-read,
which creates the PR then polls 180s for an initial briefing (CI checks,
SonarCloud gate + new issues, all comments, next-step footer). Automated
reviewers (qodo, copilot, sonarcloud) need that window to post; checking
sooner returns zero comments.
bash .claude/skills/cicd/scripts/workflow.sh open \
--title "Short title" \
--body-file /tmp/pr-body.mdOr pipe the body via heredoc on stdin:
bash .claude/skills/cicd/scripts/workflow.sh open --title "Short title" <<'EOF'
## Summary
- Bullet points describing changes
## Test plan
- [ ] Test items
EOFagex pr open writes the body via --body-file to a tempfile under the
hood, so large self-contained briefs don't hit the OS argv length limit.
The auto-signature - <nick> (Claude) is appended by agex from the
repo-root culture.yaml (first agent's suffix) — don't sign manually
in the body.
If you must do it by hand (PR was opened earlier and you only need to fetch feedback now):
bash .claude/skills/cicd/scripts/workflow.sh read <PR_NUMBER>Do not check for comments before the 3-minute mark on a brand-new PR. Empty comment lists in the first 1–2 minutes don't mean reviewers are done — they mean reviewers haven't started yet.
If the initial briefing came back empty or thin, or you suspect a slow
reviewer (or you just pushed a follow-up commit and want a fresh review
pass), use workflow.sh read --wait for a deliberate poll:
bash .claude/skills/cicd/scripts/workflow.sh read <PR_NUMBER> --wait 180This polls agex pr read up to 180 seconds, exiting when required
reviewers have posted (or the cap hits). It is not open-ended polling
— it's "give the reviewers one more deliberate window before deciding
they're done." For the SonarCloud-gated variant that exits non-zero on
unresolved threads, use workflow.sh await <PR> instead.
If two windows are also empty, fall back to one-shot reads spaced a minute apart:
bash .claude/skills/cicd/scripts/workflow.sh read <PR_NUMBER>
# if still empty:
sleep 60
bash .claude/skills/cicd/scripts/workflow.sh read <PR_NUMBER>Three consecutive reads returning zero comments means reviewers are done / not configured; proceed to triage (or skip directly to merge if there's truly nothing to address).
agex pr read --wait N polls in-session for up to N seconds. The
Anthropic prompt cache has a 5-minute TTL; sleeping past it burns context
every cache miss. Two ways to drive the wait:
workflow.sh await <PR> after workflow.sh open.
Fine when readiness is expected within ~5 minutes.agex pr read --wait NNN
inside a background subagent (Agent tool, run_in_background: true)
so the main session only pays the cache cost when readiness fires.
The subagent's only job is to invoke agex pr read --wait and echo
its headline back. The parent triages with workflow.sh await when
the notification arrives.For every review comment, decide FIX or PUSHBACK with reasoning.
Default to FIX for: portability complaints (always valid for culture — recurring bug class), test or doc requests, style nits aligned with project conventions, exception-type mismatches (e.g. breaking reconnect loops), Sonar findings.
Default to PUSHBACK for: architecture opinions that conflict with the
project CLAUDE.md (notably the all-backends rule and the citation
pattern), greenfield false-positives.
If the PR touches CLAUDE.md, culture.yaml, or anything under
.claude/skills/, run workflow.sh delta before declaring FIX or
PUSHBACK on each comment. Note any sibling that needs a follow-up PR and
mention it in your reply.
run-tests skillgit pushworkflow.sh reply forwards to agex pr reply <PR> which reads JSONL
from stdin, posts the replies, and resolves the threads in one call.
agex auto-appends - <nick> (Claude) (resolved from culture.yaml's
first agent suffix, falling back to repo basename) when the reply
body isn't already signed — don't sign manually.
Batch reply to all comments at once:
bash .claude/skills/cicd/scripts/workflow.sh reply <PR_NUMBER> <<'EOF'
{"comment_id": 123, "body": "Fixed -- changed X to Y."}
{"comment_id": 456, "body": "Intentional -- this follows the pattern in Z because..."}
EOFFor a one-off reply that doesn't merit JSONL, the vendored
pr-reply.sh (with its _resolve-nick.sh dependency) is still shipped
and runs outside workflow.sh:
bash .claude/skills/cicd/scripts/pr-reply.sh --resolve <PR_NUMBER> <COMMENT_ID> "Fixed -- updated."Important:
- Claude or any other signature to the reply body — agex
/ pr-reply.sh appends - <nick> (Claude) automatically.workflow.sh reply resolves threads by default; pr-reply.sh needs
--resolve.After CI is green and all inline threads are resolved, run the culture gate:
bash .claude/skills/cicd/scripts/workflow.sh status <PR_NUMBER>or the composite wait-then-gate:
bash .claude/skills/cicd/scripts/workflow.sh await <PR_NUMBER>status (powered by pr-status.sh) surfaces the SonarCloud quality
gate, the OPEN-issue list with [SEVERITY] [rule] path:line, hotspots,
the deploy-preview URL, and the unresolved-inline-thread tally.
await polls agex pr read --wait first, then runs status, and
exits non-zero if Sonar reports ERROR or any thread is still open.
SonarCloud findings do not always arrive as inline PR comments — a
fully-resolved thread list plus an all-green gh pr checks is not
sufficient evidence that the PR is clean. If new findings show up,
loop back to Step 7. For non-standard project keys, set
SONAR_PROJECT_KEY=<key> before running the script (the default is
<owner>_<repo>).
Never merge the PR yourself. The PR is merged manually on the GitHub site.
Report completion back to the IRC channel:
# Using the IRC skill
CULTURE_NICK="<agent-nick>" culture channel message "#general" "PR #<N> — all review threads addressed and resolved. Ready for merge."| Script | Location | Purpose |
|---|---|---|
workflow.sh <subcmd> | .claude/skills/cicd/scripts/ | Single entry point. Subcommands: lint, open, read, reply, delta, status, await, help. lint / open / read / reply / delta forward to agex pr <verb>; status / await are culture extensions. |
pr-status.sh <PR> | .claude/skills/cicd/scripts/ | One-shot status overview: PR state, CI checks, SonarCloud quality gate + issue count, inline-thread resolved tally. Backs workflow.sh status and the post-wait gate in workflow.sh await. |
pr-reply.sh [--resolve] <PR> <ID> "body" | .claude/skills/cicd/scripts/ | One-off single-comment reply. Auto-signs as - <nick> (Claude) via _resolve-nick.sh. Use when JSONL is overkill. |
_resolve-nick.sh | .claude/skills/cicd/scripts/ | Helper used by pr-reply.sh. Resolves the agent's nick from <repo-root>/culture.yaml's first agent suffix, falling back to the repo basename. |
portability-lint.sh [--all] | .claude/skills/cicd/scripts/ | Catch absolute /home/<user>/ paths and per-user dotfile references in committed docs/configs. Default mode lints the current diff (staged + unstaged); --all lints every tracked file. Run via workflow.sh lint (which forwards to agex pr lint --exit-on-violation). |
All scripts auto-detect owner/repo from the current git remote. The
full script set is vendored from guildmaster (the AgentCulture skills
hub, post steward→guildmaster cutover; lineage: steward 0.12.0) — re-cite
from ../guildmaster/.claude/skills/cicd/ if you need updates. Scripts
that have intentionally diverged from the upstream copy carry a
# culture-divergence: header documenting what was changed and why;
preserve those when re-citing.
agex pr emits a "Next step:" footer at the end of every command
that names the right next verb (the same chain agex learn cicd
documents) — follow that rather than memorizing an order. workflow.sh help mirrors the verb table when you need the culture-flavored
extensions (status, await) on top.
create-pr-and-wait.shcreate-pr-and-wait.sh --push is gone in culture 11.1.0. The
auto-push behavior (originally added under issue #318) was a
culture-divergence on top of the upstream steward script; agex pr open
has no --push equivalent yet. The replacement flow is two steps:
# OLD (culture <= 11.0.x):
bash .claude/skills/cicd/scripts/create-pr-and-wait.sh --push \
--title "..." --body-file /tmp/pr-body.md
# NEW (culture >= 11.1.0):
git push -u origin HEAD
bash .claude/skills/cicd/scripts/workflow.sh open \
--title "..." --body-file /tmp/pr-body.mdSame body-file ergonomics (large briefs still travel via tempfile under
the hood), same --delayed-read wait, same auto-signature on PR
body — only the push moves out into its own line. Bringing --push
back is filed upstream
(agex-cli#41).
git checkout -b fix/my-fix
# ... make changes ...
# run-tests skill: bash .claude/skills/run-tests/... (or pytest direct)
echo '{"fixed":["desc"]}' | python3 .claude/skills/version-bump/scripts/bump.py patch
git add <files> && git commit -m "message"
git push -u origin HEAD
bash .claude/skills/cicd/scripts/workflow.sh open \
--title "..." --body-file /tmp/pr-body.md
# ... triage, fix issues, commit, push ...
bash .claude/skills/cicd/scripts/workflow.sh reply <PR> <<< '{"comment_id":N,"body":"Fixed"}'
bash .claude/skills/cicd/scripts/workflow.sh await <PR> # SonarCloud-gated readiness
# Wait for manual merge — never merge yourself© agentculture, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files (scripts) in .claude/skills/cicd of agentculture/culture.
Open the folder on GitHubat commit d5b5715
Cicd next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Cicd this skillagentculture/culture | 114 | — | ~3.7k | Automated safety check: Pass | Apache-2.0 | |
| PR Babysitteropeninterpreter/openinterpreter | 69k | 3 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Babysit PR To Pass CIsgl-project/sglang | 37k | 2 repos | ~3k | Automated safety check: Pass | Apache-2.0 | |
| Pull Requestwerf/werf | 4.7k | — | ~2.9k | Automated safety check: Pass | Apache-2.0 | |
| Ghbubbuild/bub | 1.7k | — | ~798 | Automated safety check: Pass | Apache-2.0 | |
| PR BabysitterEveryInc/compound-engineering-plugin | 25k | — | ~2k | Automated safety check: Pass | MIT |
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
sgl-project/sglang
Start and persistently pursue a goal to babysit an SGLang pull request until selected GitHub Actions workflows pass on the latest PR head.
werf/werf
Generates Pull Request titles and descriptions according to werf conventions.
bubbuild/bub
GitHub CLI skill for interacting with GitHub via the gh command line tool.
EveryInc/compound-engineering-plugin
Watches an open GitHub pull request over time, routing review comments and CI failures to other skills until the PR is ready to merge.
backnotprop/plannotator
Reviews Renovate pull requests that bump GitHub Actions by checking pinned SHAs against upstream tags, scanning changelogs and confirming workflows stay compatible.
agentculture/culture
Show a Culture agent's full configuration in one read-only view: its system-prompt file (CLAUDE.md / AGENTS.md / GEMINI.md), the parallel culture.yaml, and the agent's local .claude/skills index.
agentculture/culture
All agent communication from culture: in-mesh chat (channels, DMs, mentions, knowledge sharing) via culture channel CLI, AND cross-repo hand-off briefs to sibling-repo agents (agentirc, steward…
agentculture/culture
Cross-repo + mesh communication: file tracked GitHub issues on sibling repos, comment on existing issues, fetch issues with body + comments to inline current state into briefs, and send live…
agentculture/culture
Fan out a converged devague plan's dependency waves to parallel agents in isolated git worktrees, one agent per task per wave, with TDD-gated merges by the main agent.
agentculture/culture
Switch a PyPI package install between the production index, TestPyPI pre-release builds, and a local editable checkout.
agentculture/culture
Run pytest with parallel execution and coverage. An agent skill from agentculture/culture.
Categories
CI/CD lane for culture: branch, commit, push, create PR, wait for automated reviewers, fetch comments, fix or pushback, reply, resolve threads. Cicd is an agent skill from agentculture/culture. CI/CD lane for culture: branch, commit, push, create PR, wait for automated reviewers, fetch comments, fix or pushback, reply, resolve threads.
Cicd fits situations like: handling review feedback; the user says create PR; review comments; address feedback.
Run `npx skills add agentculture/culture --skill cicd -a claude-code`. Or copy the skill folder (.claude/skills/cicd in agentculture/culture) into .claude/skills/cicd in your project. Claude Code loads it when a task matches its description.
Run `npx skills add agentculture/culture --skill cicd -a codex`. Or copy the skill folder (.claude/skills/cicd in agentculture/culture) into .agents/skills/cicd in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add agentculture/culture --skill cicd -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cicd, .gemini/skills/cicd, .github/skills/cicd and .opencode/skills/cicd in your project.
Going by SKILL.md and its folder, Cicd needs a shell for the scripts in its folder, the command-line tools its instructions call (bash, git, gh, uv and python3) and credentials named SONAR_PROJECT_KEY. Our summary lists: Python 3; A Bash shell; A credential in SONAR_PROJECT_KEY.
SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Cicd is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.7k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Cicd: PR Babysitter (openinterpreter/openinterpreter, 69k stars), Babysit PR To Pass CI (sgl-project/sglang, 37k stars), Pull Request (werf/werf, 4.7k stars) and Gh (bubbuild/bub, 1.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
agentculture (a GitHub organization) maintains it in agentculture/culture, which has 114 GitHub stars. The repository holds 18 skills in this directory. The repository was last updated on August 23, 2026.
Source: agentculture/culture on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.