Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
redwoodjs avatar

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-dev

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs8
repo stars725
Last updatedJuly 31, 2026
Repositoryredwoodjs/agent-ci

What it does

Helps with ai & agent building tasks.

Files

SKILL.mdMarkdownGitHub ↗

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", inspect matches. A run.paused line carries the runner name + retry_cmd; a run.finish line carries status: passed|failed.
  • the task exits → stoppedBecause: "exit", inspect state (succeeded or failed) and exitCode. Exit code 77 means a step paused — treat it like a run.paused match.
  • the timeout elapses → stoppedBecause: "timeout", loop back and call monitor_wait again (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.

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.