
Agent Ci Dev
- 8 installs
- 725 repo stars
- Updated July 31, 2026
- redwoodjs/agent-ci
Helps with ai & agent building tasks.
About
agent-ci-dev is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.
- agent-ci-dev
- AI & Agent Building
- AI-coding skill
Agent Ci Dev by the numbers
- 8 all-time installs (skills.sh)
- +1 installs in the week ending Aug 4, 2026 (Skillselion tracking)
- Ranked #12,339 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/redwoodjs/agent-ci --skill agent-ci-devAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 8 |
|---|---|
| repo stars | ★ 725 |
| Last updated | July 31, 2026 |
| Repository | redwoodjs/agent-ci ↗ |
What it does
Helps with ai & agent building tasks.
Files
Agent CI (dev build)
Run local CI against the in-tree dev build (pnpm agent-ci-dev) to verify changes to this repo before completing work.
This skill relies on two pi-native tools added by .pi/extensions/background-shell.ts: `bash_background` (start a command, return immediately) and `monitor_wait` (block until the log matches a pattern or the task exits). If those tools aren't available in your pi, load/reload the extension — /reload if you're already in a session, or relaunch pi — before continuing.
Steps
1. Start agent-ci in the background with bash_background, with the NDJSON event stream enabled:
{ "command": "pnpm agent-ci-dev run --all -q -p --json" }This returns { taskId, outputFile, pid } without blocking. Because stdout isn't a TTY, the launcher detaches automatically: the foreground process exits 77 the moment a step pauses, while the worker keeps the container alive for retry.
2. Wait for a pause or completion with monitor_wait, matching the NDJSON event discriminators (silence is not success — a crash or hang with a success-only filter looks identical to still-running):
{
"taskId": "<from step 1>",
"pattern": "\"event\":\"(run\\.paused|run\\.finish)\"",
"timeoutMs": 600000
}monitor_wait returns when any of the following happens:
- the regex matches a new line →
stoppedBecause: "match", inspectmatches. Arun.pausedline carries therunnername +retry_cmd; arun.finishline carriesstatus: passed|failed. - the task exits →
stoppedBecause: "exit", inspectstate(succeededorfailed) andexitCode. Exit code 77 means a step paused — treat it like arun.pausedmatch. - the timeout elapses →
stoppedBecause: "timeout", loop back and callmonitor_waitagain (it resumes from the previous byte offset automatically)
3. On success (run.finish with status: passed, or state: "succeeded"), you're done.
4. On failure (run.paused match or exitCode: 77), read the full output file for details:
tail -n 200 <outputFile>CI was passing before your work started, so the failure is caused by your changes. Fix the issue in your code, then retry the failed runner — again via bash_background + monitor_wait:
pnpm agent-ci-dev retry --name <runner-name>If the fix requires re-running from an earlier step:
pnpm agent-ci-dev retry --name <runner-name> --from-step <N>Repeat until the job passes.
5. Once all jobs have passed, you're done.