Run GitHub Actions CI locally with Agent CI to validate changes before pushing. Use when testing, running checks, or validating code changes.
Scanned 9/9/2026
Install to Claude Code
npx -y skills add Lord1Egypt/awesome-skill-forge --skill skills-sh_redwoodjs_agent-ci_agent-ci --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Skills Sh Redwoodjs Agent Ci Agent Ci?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/lord1egypt-skills-sh-redwoodjs-agent-ci-agent-ci)More formats (shields.io, HTML) on the badges page.
---
name: agent-ci
description: Run GitHub Actions CI locally with Agent CI to validate changes before pushing. Use when testing, running checks, or validating code changes.
license: MIT
compatibility: Requires Node.js 18+ and Docker
metadata:
author: redwoodjs
version: "1.0.0"
---
# Agent CI
Run the full CI pipeline locally before pushing. CI was green before you started — any failure is caused by your changes.
## Run
```bash
npx @redwoodjs/agent-ci run --quiet --all --pause-on-failure
```
Pipes are safe — pause-on-failure works through `| tee log`, `> log.txt`, etc. When stdout isn't a TTY the launcher detaches the run and the foreground process exits **77** the moment a step pauses, freeing the pipe while the container stays paused for `retry`.
## Retry
When a step fails, the run pauses automatically. Fix the issue, then retry:
```bash
npx @redwoodjs/agent-ci retry --name <runner-name>
```
To re-run from an earlier step:
```bash
npx @redwoodjs/agent-ci retry --name <runner-name> --from-step <N>
```
Repeat until all jobs pass. Do not push to trigger remote CI when agent-ci can run it locally.
## Machine-readable output (`--json`)
For programmatic monitoring, add `--json` (or set `AGENT_CI_JSON=1`) to emit an NDJSON event stream on stdout — one JSON object per line. Events:
- `run.start` (with `schemaVersion: 1`, `runId`)
- `job.start`, `job.finish` (`status: passed|failed`)
- `step.start`, `step.finish` (`status: passed|failed|skipped`)
- `run.paused` (carries `runner` + `retry_cmd`)
- `run.finish` (`status: passed|failed`)
- `diagnostic`
`--json` is decoupled from `--quiet`, and the diff renderer is auto-suppressed under `--json` so ANSI sequences don't collide with the stream. Combined with the exit-77 pause signal above, this gives agents a robust contract: parse `run.paused` events, react, and call `retry` — no plaintext grep required.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!