Generates reusable GitHub Actions workflow_call for automated CI failure detection and fixing with Claude Code. Use for multi-repo setups or caller workflows with custom inputs.
npx claudepluginhub laurigates/claude-plugins --plugin github-actions-pluginThis skill is limited to using the following tools:
Generate a reusable GitHub Actions workflow for automated CI failure analysis and remediation.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Generate a reusable GitHub Actions workflow for automated CI failure analysis and remediation.
| Use this skill when... | Use something else when... |
|---|---|
| Setting up a reusable auto-fix workflow for multiple repos | Setting up auto-fix for a single repo (/workflow:auto-fix) |
| Creating a caller workflow that invokes the reusable template | Fixing a single PR's checks (/git:fix-pr) |
| Customizing auto-fix inputs for different project types | Inspecting workflow runs manually (/workflow:inspect) |
find .github/workflows -maxdepth 1 -name 'reusable-ci-autofix.yml' -type ffind .github/workflows -maxdepth 1 -name 'auto-fix.yml' -type ffind .github/workflows -maxdepth 1 -name '*.yml' -type fgh secret listParse from $ARGUMENTS:
--setup: Create or update the reusable workflow in .github/workflows/reusable-ci-autofix.yml--caller: Create the caller workflow in .github/workflows/auto-fix.yml--workflows <names>: Comma-separated workflow names to monitor (for caller; default: auto-detect CI workflows)--dry-run: Show what would be created without writing filesExecute this workflow generation process:
.github/workflows/reusable-ci-autofix.yml already exists.github/workflows/auto-fix.yml already existsname: fieldsCLAUDE_CODE_OAUTH_TOKEN or ANTHROPIC_API_KEY secret is configuredIf --workflows provided, use those. Otherwise, auto-detect:
Good candidates:
Skip:
If --setup or reusable workflow is missing, create .github/workflows/reusable-ci-autofix.yml using the template from REFERENCE.md § Reusable Workflow.
Key customization points:
auto_fixable_criteria and not_auto_fixable_criteria defaults to match the project's tech stackverification_commands default to match the project's linter/formatter commandsmax_turns if needed (default: 50)If --caller or caller workflow is missing, create .github/workflows/auto-fix.yml using the template from REFERENCE.md § Caller Workflow.
Key customization points:
workflows: listauto_fixable_criteria override if the project has specific fixable patternsverification_commands for the project's toolsCLAUDE_CODE_OAUTH_TOKEN or ANTHROPIC_API_KEY)Caller Workflow Reusable Workflow
(.github/workflows/auto-fix.yml) (.github/workflows/reusable-ci-autofix.yml)
workflow_run (failure)
workflow_dispatch (pr_number)
|
v
fan-out (if "all")
|
v
jobs.auto-fix ──calls──────────> on: workflow_call
|
v
Resolve PR branch
|
v
Checkout + Gather context
|
v
Dedup check (max 2 open auto-fix PRs)
|
v
Claude Code Action
|
+---+---+
| |
v v
Fixable Complex
| |
v v
Fix PR Open issue
| Guard | Purpose |
|---|---|
!startsWith(commit, 'fix(auto):') | Prevent recursive auto-fix loops |
head_branch != 'main' (caller) | Never auto-fix protected branches |
| Max 2 open auto-fix PRs | Prevent PR flooding |
| Concurrency group per branch | One auto-fix at a time per branch |
max-turns limit | Cap Claude's iteration count |
timeout-minutes: 30 | Prevent runaway jobs |
| Requirement | How to set up |
|---|---|
CLAUDE_CODE_OAUTH_TOKEN or ANTHROPIC_API_KEY | Repository or org secret |
contents: write | Included in workflow permissions |
pull-requests: write | Included in workflow permissions |
issues: write | For creating issues on complex failures |
| Context | Command |
|---|---|
| Check workflow exists | test -f .github/workflows/reusable-ci-autofix.yml |
| List CI workflows | grep -h '^name:' .github/workflows/*.yml |
| Check secrets | gh secret list |
| Recent failures | gh run list --status failure --json name,headBranch -L 10 |
| Validate YAML | python3 -c "import yaml; yaml.safe_load(open('.github/workflows/reusable-ci-autofix.yml'))" |