Run GitHub Actions locally — pause on failure, retry in place, and keep caches on your machine.
$ npx -y skills add redwoodjs/agent-ci --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
Repo: redwoodjs/agent-ci
What's inside
packages/cli/README.md
.changeset/
config.json
.claude/
commands/
local-ci-dev.md
rules/
changeset-required.md
settings.json
.devcontainer/
devcontainer.json
devcontainer.json.template
.docs/
investigation-plan.md
marketing/
marketing-strategy.md
blog-post-ideas.md
demo-recording/
.github/
workflows/
ci.yml
.gitignore
demo.gif
demo.mp4
demo.sh
demo.tape
package.json
README.md
value.test.mjs
value.txt
tweets/
2026-03-27.md
2026-03-31.md
2026-04-07.md
queue.md
native-binary-rollback.md
research-agent-discoverability.md
research-developer-channels.md
rfcs/
rust-crate-split-and-fixtures.md
rust-native-binary-rewrite.md
rust-execution-parity-plan.md
rust-performance.md
rust-rewrite-tasks.md
rust-smoke-parity.md
smoke-benchmark.md
.fallowrc.json
.github/
actions/
smoke-local-action/
action.yml
fixtures/
pnpm-esbuild-resolve/
apps/
web/
package.json
src/
index.mjs
package.json
pnpm-lock.yaml
pnpm-workspace.yaml
pnpm-symlinks/
package.json
packages/
pkg-a/
src/
index.tsx
tsconfig.json
types
pnpm-lock.yaml
pnpm-workspace.yaml
tsconfig.json
types/
custom.d.ts
local-ci.Dockerfile
workflows/
cache.yml
native-binaries.yml
release.yml
retry-proof.yml
smoke-artifacts.yml
smoke-binary.yml
smoke-bun-setup.yml
smoke-cc-compiler.yml
smoke-conditions.yml
smoke-container-options.yml
smoke-cypress-cache.yml
smoke-defaults-workdir.yml
smoke-docker-buildx.yml
smoke-env-context.yml
smoke-env-scoping.yml
smoke-expressions.yml
smoke-json-events.yml
smoke-local-action.yml
smoke-macos.yml
smoke-matrix.yml
smoke-nested-level-1.yml
smoke-nested-level-2.yml
smoke-nested-level-3.yml
smoke-node-setup.yml
smoke-outputs.yml
smoke-pause-pipe.yml
smoke-pnpm-esbuild-resolve.yml
smoke-pnpm-symlinks.yml
smoke-private-node-modules.yml
smoke-remote-private-workflow.yml
smoke-resource-mismatch.yml
smoke-reusable-build.yml
smoke-reusable-inputs-outputs.yml
smoke-reusable-lint.yml
smoke-reusable-workflows.yml
smoke-runner-image.yml
smoke-secrets-env-file.yml
smoke-shell-defaults.yml
smoke-step-if.yml
smoke-vars-preflight.yml
tests.yml
.gitignore
.husky/
pre-commit
.kindling/
board/
doing/
2026-04-16-2248-review-and-implement-agent-ci-issue-256-9f5c.md
2026-04-16-2249-implement-agent-ci-pause-on-failure-tear-7a81.md
2026-04-16-2326-reproduce-issue-from-github-discussion-2-b527.md
.notes/
justin/
worklogs/
2026-03-03-derive-cli-rearchitect.md
2026-03-03-derive-migration.md
2026-03-03-filter-pass-dedup.md
2026-03-03-machinen-setup.md
2026-03-04-feature-file-split.md
2026-03-05-derive-test-generation.md
peterp/
tasks.md
worklogs/
2026-02-03-1308-scaffolding-bridge-runner.md
2026-02-09-2152-webhook-handler-implementation.md
2026-02-09-2217-local-runner-implementation.md
2026-02-09-2316-docker-environment-config.md
2026-02-09-2324-runner-boot-logic.md
2026-02-10-0853-direct-github-pull.md
2026-02-10-1223-dtu-setup.md
2026-02-10-2144-dtu-refactor.md
2026-02-10-2158-pnpm-refactor.md
2026-02-11-1535-github-installation-tokens.md
2026-02-11-2018-bridge-runner-auth-sec.md
2026-02-11-2327-github-long-poll.md
2026-02-12-1307-warm-pool-runner.md
2026-02-12-1542-credentials-and-shutdown.md
2026-02-12-2359-automated-runner-registration.md
2026-02-14-2230-dtu-runner-registration.md
2026-02-15-0011-local-ci-implementation.md
2026-02-15-0034-local-ci-sha-support.md
2026-02-15-0048-sha-indicators-bridge-console.md
2026-02-16-1402-storing-runner-logs.md
2026-02-17-1603-fix-runner-configuration.md
2026-02-17-1940-fix-dtu-mock-server.md
2026-02-18-1512-fixing-runner-job-payload.md
2026-02-18-2048-unify-job-logging.md
2026-02-21-1029-electrobun-dtu-launcher.md
2026-02-23-2132-fixing-e2e-tests-in-dind-ci.md
2026-02-25-1402-runner-cache-miss.md
2026-02-25-1950-fix-multiple-workflow-triggers.md
2026-02-28-0910-ui-backend-extraction.md
2026-02-28-2318-multi-job-workflow-fanout.md
2026-03-08-1323-runner-boot-time.md
2026-03-09-1001-pkg-cache-benchmarks.md
2026-03-09-1244-universal-pm-caching.md
.oxfmtrc.jsonc
.oxlintrc.json
.pi/
extensions/
background-shell.ts
skills/
local-ci-dev/
SKILL.md
.prettierignore
.release-closes.json
AGENTS.md
apps/
website/
.gitignore
content-collections.ts
package.json
public/
favicon-dark.svg
favicon-light.svg
robots.txt
scripts/
copy-docs.mjs
src/
app/
components/
CompatibilityMatrix.tsx
CopyAgentInstructions.tsx
HeroSection.tsx
Panel.tsx
Terminal.tsx
document.tsx
headers.ts
lib/
markdown-negotiation.ts
pages/
compatibility.tsx
home.md
home.tsx
sitemap.ts
shared/
links.ts
styles.css
blog/
content/
the-agentic-dev-loop.md
pages/
Blog.tsx
BlogPost.tsx
index.ts
routes.ts
client.tsx
worker.tsx
tsconfig.json
types/
css.d.ts
rw.d.ts
vite.d.ts
vite.config.mts
worker-configuration.d.ts
wrangler.jsonc
Cargo.lock
Cargo.toml
CHANGELOG.md
CLAUDE.md
crates/
local-ci/
local-ci-core/
Cargo.toml
src/
events.rs
expr/
expr.rs
context.rs
eval.rs
functions.rs
hash.rs
parse.rs
tests.rs
lib.rs
matrix.rs
plan/
plan.rs
tests.rs
reusable.rs
state.rs
workflow.rs
local-ci-runtime/
Cargo.toml
src/
docker/
docker.rs
config.rs
runtime.rs
socket.rs
tests.rs
dtu/
dtu.rs
artifacts.rs
cache.rs
github.rs
http.rs
job_mapping.rs
logs.rs
routes.rs
runner_api.rs
state.rs
tests.rs
util.rs
lib.rs
macos_vm/
macos_vm.rs
command.rs
execute.rs
host.rs
image.rs
runner_binary.rs
tests.rs
runner/
runner_image.rs
runner.rs
pause.rs
plans.rs
runtime.rs
tests.rs
timeline.rs
types.rs
wave.rs
workspace.rs
Cargo.toml
fixtures/
docker-socket/
default-symlink.json
explicit-ssh.json
missing-default.json
README.md
events/
job-success.json
README.md
job-limits/
default-max-concurrent-jobs.json
plans/
local-reusable.json
macos-route.json
matrix-needs-aggregate.json
matrix-no-matrix.json
matrix.json
outputs.json
remote-reusable.json
services-container.json
skip-if.json
status-functions.json
two-job-chain.json
unknown-runner.json
wave-partial-failure.json
README.md
run-results/
README.md
single-failure.json
workflows/
local-reusable.yml
macos-route.yml
matrix-needs-aggregate.yml
matrix.yml
outputs.yml
remote-reusable.yml
services-container.yml
skip-if.yml
status-functions.yml
two-job-chain.yml
unknown-runner.yml
wave-partial-failure.yml
src/
clean.rs
cli.rs
distribution.rs
env.rs
git_shim.sh
lib.rs
main.rs
retry_abort.rs
run_command/
run_command.rs
discovery.rs
events.rs
execute.rs
host.rs
macos_job.rs
plan.rs
tests.rs
wave.rs
state.rs
experiments/
pkg-cache-bench/
bench.sh
package.json
README.md
results.txt
retry-proof/
package.json
value.test.ts
value.txt
rivetkit-agent-os/
README.md
skill-evals/
.gitignore
fixtures/
lint-curly-x18/
expect.yaml
repo/
.github/
workflows/
ci.yml
.gitignore
eslint.config.mjs
fake-local-ci/
bin/
local-ci.mjs
package.json
package.json
src/
index.js
task.md
missing-changeset/
expect.yaml
repo/
.changeset/
config.json
README.md
.github/
workflows/
... 276 moreFAQ
local-ci is a Claude Code plugin with 1 hand-picked skill for development work, indexed on Flowy. Install it with the command on its page. It includes local-ci. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.