local-action-verification — Claude Code skill: how to install
Configures a repository to test GitHub Actions locally using act. It lets agents verify CI checks before opening a pull request or pushing code.
npx skills add google-labs-code/jules-skills --skill local-action-verification -a claude-codeWhat local-action-verification does
This skill adds install-act.sh and run-act.sh into scripts/act/ and creates a local CI guide in AGENTS.md. The installer script fetches act if it is missing from the environment. The runner script executes act in the background while polling logs, which stops AI agents from hitting execution timeouts during long workflow runs. It also appends act_output.log and .secrets to .gitignore.
A running Docker daemon is mandatory. Without Docker running, act fails immediately. Workflows needing sensitive variables read them from a local .secrets file using --secret-file .secrets. When running on Apple Silicon, pass --container-architecture linux/amd64 to prevent ARM64 container failures.
What it helps with
- run GitHub Actions workflows locally before pushing commits
- prevent agent timeouts during long CI workflow runs
- document local CI verification steps for agents in AGENTS.md
- keep act logs and secret credentials out of Git history
Example prompts for the agent
- Set up local GitHub Actions verification using act in this repo
- Verify the CI test job locally before pushing to remote
- Run act in background with a 900 second timeout using scripts/act/run-act.sh
How to install local-action-verification
1Skills CLI (Vercel)
npx skills add google-labs-code/jules-skills --skill local-action-verification -a claude-code2Manually: put the files in place
~/.claude/skills/local-action-verification/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/local-action-verification/
1Skills CLI (Vercel)
npx skills add google-labs-code/jules-skills --skill local-action-verification -a codex2Manually: put the files in place
.agents/skills/local-action-verification/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add google-labs-code/jules-skills --skill local-action-verification -a cursor2Manually: put the files in place
.cursor/skills/local-action-verification/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install google-labs-code/jules-skills local-action-verification2Manually: put the files in place
.github/skills/local-action-verification/SKILL.md1Skills CLI (Vercel)
npx skills add google-labs-code/jules-skills --skill local-action-verification -a gemini-cli2Platform CLI
gemini skills install https://github.com/google-labs-code/jules-skills --path skills/local-action-verificationManually: put the files in place
.devin/skills/local-action-verification/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add google-labs-code/jules-skills --skill local-action-verification -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about local-action-verification
How to install local-action-verification in Claude Code?
Run npx skills add google-labs-code/jules-skills --skill local-action-verification -a claude-code.
What does local-action-verification do?
It adds helper scripts to scripts/act/, documents execution steps in AGENTS.md, and updates .gitignore for generated act artifacts.
What are the prerequisites for running act locally?
Docker must be installed and actively running on the machine. The skill can auto-install act itself via install-act.sh during the first run.
Source text
SKILL.md · Apache-2.0
--- name: local-action-verification description: Set up a repository for local GitHub Actions verification using act, so Jules can validate CI before pushing allowed-tools: - "Bash" - "Read" - "Write" --- # Local Action Verification with act You are setting up a repository so that Jules (or any agent) can run GitHub Actions workflows locally using [act](https://github.com/nektos/act) to verify code changes pass CI before pushing. ## What You're Setting Up Two scripts and an agents.md section that enable local CI verification: 1. **install-act.sh** — Installs `act` if missing (platform-aware, sudo fallback) 2. **run-act.sh** — Runs `act` in the background with log polling to avoid agent timeouts 3. **AGENTS.md section** — Instructions Jules reads to know how to use these scripts ## Setup Steps ### Step 1: Copy scripts to the repository Copy the `scripts/` directory from this skill into the target repository at `scripts/act/`: ``` Target structure: scripts/act/ ├── install-act.sh └── run-act.sh ``` Make sure the scripts are executable: ```bash chmod +x scripts/act/install-act.sh scripts/act/run-act.sh ``` ### Step 2: Add instructions to AGENTS.md Append the following section to the repository's `AGENTS.md` file (create it if it doesn't exist). This is how Jules discovers the local verification capability: ```markdown ## Local CI Verification Before pushing code or opening a PR, verify changes pass CI locally using `act`. ### Prerequisites - Docker must be running - If `act` is not installed, run: `bash scripts/act/install-act.sh` ### How to Verify 1. Read `.github/workflows/` to find the CI workflow and identify the job ID 2. Run the verification script: ```bash bash scripts/act/run-act.sh "push -j <JOB_ID>" ``` With matrix: `bash scripts/act/run-act.sh "push -j <JOB_ID> --matrix <KEY>:<VALUE>"` 3. If the run fails, read the log output, fix the code, and re-run 4. After verification, clean up: ```bash rm -f act_output.log git checkout <any unintended file changes> ``` ### Configuration - Timeout: `ACT_TIMEOUT=900 bash scripts/act/run-act.sh "..."` (default: 600s) - Poll interval: `ACT_POLL=15 bash scripts/act/run-act.sh "..."` (default: 10s) - Custom image: pass `-P ubuntu-latest=node:20-bookworm` in the arguments for faster pulls ``` ### Step 3: Update .gitignore Append these entries to `.gitignore` if they don't already exist: ``` # act artifacts act_output.log .secrets ``` ### Step 4: Print next steps for the user Tell the user: 1. Docker must be installed and running on any machine (or Jules VM) where verification runs 2. `act` will be auto-installed on first use via `scripts/act/install-act.sh` 3. If workflows require secrets, create a `.secrets` file (KEY=VALUE format) — never commit it 4. Commit all generated files ## Troubleshooting - **Docker not running**: `act` requires Docker. Ensure the Docker daemon is started. - **Image pull slow**: First run downloads ~2GB+. Use `-P ubuntu-latest=node:20-bookworm` for faster pulls. - **ARM64 issues**: On Apple Silicon, add `--container-architecture linux/amd64` to act arguments. - **Secrets required**: Create a `.secrets` file and pass `--secret-file .secrets` in the act arguments. - **Timeout**: Increase with `ACT_TIMEOUT=1200 bash scripts/act/run-act.sh "..."`. ## Resource References - [Troubleshooting Guide](resources/troubleshooting.md) — Detailed solutions for common issues
© google-labs-code · Apache-2.0 · google-labs-code/jules-skills