Debug and fix failing GitHub Actions CI/CD pipelines
Diagnoses GitHub Actions workflow failures by analyzing raw logs, identifying root causes like deprecated actions or missing secrets, and generating precise
Maintainer of this project? Claim this page to edit the listing.
13.6.1Add to Favorites
Why it matters
Diagnose root causes of GitHub Actions workflow failures by analyzing logs and pipeline definitions, then generate precise YAML or code fixes to restore CI/CD functionality.
Outcomes
What it gets done
Parse GitHub Actions logs to identify failure points in specific workflow steps and jobs
Detect deprecated action versions, missing secrets, and environment mismatches causing pipeline breaks
Generate diff patches for workflow YAML files with exact configuration fixes
Audit permissions, caching issues, and flaky tests that cause intermittent CI failures
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/ag-github-actions-debugger | bash Overview
GitHub Actions Pipeline Debugger
This skill acts as an expert CI/CD diagnostician for GitHub Actions pipelines. It reads raw logs from failed workflows, identifies the root cause of crashes or failures, and outputs the precise YAML or code changes required to fix the pipeline. It cross-references failure points with workflow definitions to diagnose issues ranging from missing secrets to deprecated action versions. Use this skill when a GitHub Actions workflow fails unexpectedly and the error log is long, obscure, or misleading. It excels at debugging dependency mismatch errors, missing secrets, caching issues, or runner environment problems in CI. Use it to optimize slow pipelines by identifying bottlenecks in workflow steps, or to update and modernize deprecated actions or workflow syntax. Do NOT use this skill for transient network failures - always check if a rerun succeeds before attempting heavy changes. Mistaking temporary network dropouts or registry downtime (e.g., npm or pip install errors) fo
What it does
This skill acts as an expert CI/CD diagnostician for GitHub Actions pipelines. It reads raw logs from failed workflows, identifies the root cause of crashes or failures, and outputs the precise YAML or code changes required to fix the pipeline. It cross-references failure points with workflow definitions to diagnose issues ranging from missing secrets to deprecated action versions.
When to use - and when NOT to
Use this skill when a GitHub Actions workflow fails unexpectedly and the error log is long, obscure, or misleading. It excels at debugging dependency mismatch errors, missing secrets, caching issues, or runner environment problems in CI. Use it to optimize slow pipelines by identifying bottlenecks in workflow steps, or to update and modernize deprecated actions or workflow syntax.
Do NOT use this skill for transient network failures - always check if a rerun succeeds before attempting heavy changes. Mistaking temporary network dropouts or registry downtime (e.g., npm or pip install errors) for actual code or configuration bugs is a common pitfall. The skill cannot execute the GitHub action itself to test the fix; validation requires pushing the proposed fix to the repository and triggering a workflow run.
Inputs and outputs
Users provide the GitHub Actions workflow log (exported as raw text or pasted directly) along with the corresponding .github/workflows/*.yml definition file. Critical safety requirement: users must redact all sensitive credentials, secrets, tokens, private keys, and internal system paths from logs before submission.
The skill analyzes the provided GitHub Actions workflow log, cross-references the failure point with the specific step and job in the workflow definition, and identifies if the failure is due to missing or misconfigured secrets, Node/Python/OS environment version mismatches, flaky tests or timeout limits, syntax errors in bash scripts run within the run: block, or invalid action versions. It provides a direct diff of the .yml file or underlying script that needs modification.
For example, when encountering this error:
Warning: The Go/Node.js/Python version used by this action is deprecated.
Error: Node.js 16 actions are deprecated. Please update to use Node.js 20.
The skill generates this fix:
- name: Checkout Code
- uses: actions/checkout@v2
+ uses: actions/checkout@v4
Or for missing secrets:
Run npm run deploy
npm run deploy
shell: /usr/bin/bash -e {0}
Error: API Key is required for deployment. Process exited with code 1.
It proposes:
- name: Deploy App
run: npm run deploy
+ env:
+ DEPLOY_API_KEY: ${{ secrets.DEPLOY_API_KEY }}
Integrations
This skill works directly with GitHub Actions workflows and YAML configuration files. It analyzes logs from GitHub's CI/CD runner environments and provides fixes compatible with the GitHub Actions ecosystem, including third-party actions from the GitHub Marketplace.
Who it's for
This skill serves DevOps engineers, platform engineers, and developers who maintain CI/CD pipelines and need to quickly diagnose workflow failures. It's particularly valuable for teams dealing with complex multi-step workflows where error messages are obscure or buried deep in logs. The skill helps engineers who need to audit permissions blocks, update deprecated action versions, or troubleshoot environment-specific failures that pass locally but fail in CI due to timezone, headless browser state, memory limits, or parallel execution race conditions.
Source README
GitHub Actions Pipeline Debugger
Overview
This skill is designed to act as an expert CI/CD diagnostician. It focuses specifically on reading raw logs from failed GitHub Actions, identifying the root cause of the crash or failure, and outputting the precise YAML or code changes required to fix the pipeline.
When to Use
- Use when a GitHub Actions workflow fails unexpectedly and the error log is long, obscure, or misleading.
- Use when debugging dependency mismatch errors, missing secrets, caching issues, or runner environment problems in CI.
- Use to optimize slow pipelines by identifying bottlenecks in workflow steps.
- Use to update and modernize deprecated actions or workflow syntax.
How It Works
- Log Ingestion & Redaction: Analyze the provided GitHub Actions workflow log (often exported as a raw text file or pasted directly). CRITICAL SAFETY REQUIREMENT: The user/agent must redact all sensitive credentials, secrets, tokens, private keys, and internal system paths from the logs before pasting or uploading them.
- Context Mapping: Cross-reference the failure point with the specific step and job in the
.github/workflows/*.ymldefinition. - Root Cause Analysis: Identify if the failure is due to:
- Missing or misconfigured secrets (
${{ secrets.API_KEY }}). - Node/Python/OS environment version mismatches.
- Flaky tests or timeout limits.
- Syntax errors in bash scripts run within the
run:block. - Invalid action versions or deprecated actions.
- Missing or misconfigured secrets (
- Resolution Proposal: Provide a direct
diffof the.ymlfile or the underlying script that needs to be modified.
Best Practices
- Provide Full Context: Always review both the workflow definition (
.ymlfile) and the failure log simultaneously to ensure accurate diagnosis. - Check Action Versions: Many failures are caused by deprecated runtime versions (e.g., Node.js 16) in older third-party actions (e.g.,
actions/checkout@v2). Always recommend upgrading to the latest major versions (e.g.,v4). - Permissions Audit: Ensure the workflow has the correct
permissions:block if it's attempting to write to the repository, packages, or deploy environments. - Reproducibility: If a test fails in CI but passes locally, investigate environment differences such as timezone, headless browser state, memory limits, or parallel execution race conditions.
Examples
Example 1: Fixing a Deprecated Node.js Action Version Error
Failing Log:
Warning: The Go/Node.js/Python version used by this action is deprecated.
Error: Node.js 16 actions are deprecated. Please update to use Node.js 20.
Proposed Fix Diff:
- name: Checkout Code
- uses: actions/checkout@v2
+ uses: actions/checkout@v4
Example 2: Diagnosing and Fixing a Missing Repository Secret
Failing Log:
Run npm run deploy
npm run deploy
shell: /usr/bin/bash -e {0}
Error: API Key is required for deployment. Process exited with code 1.
Proposed Fix Diff:
- name: Deploy App
run: npm run deploy
+ env:
+ DEPLOY_API_KEY: ${{ secrets.DEPLOY_API_KEY }}
Security & Safety Notes
- Credential Exposure & Raw Log Redaction: Under no circumstances should raw logs containing unmasked secrets, private URLs, deployment targets, or tokens be processed without prior redaction. Always ensure the user or agent redacts all sensitive info before ingestion.
- Dry-Run Mode: When recommending modifications to bash script steps inside workflows, ensure you suggest adding flags like
--dry-runor staging execution where possible to prevent unintended side effects in downstream environments during debugging.
Limitations
- The skill cannot securely read repository secrets. It can only infer missing or malformed secrets if the log complains about undefined environment variables or authentication failures.
- It cannot execute the GitHub action itself to test the fix; validation requires pushing the proposed fix to the repository and triggering a workflow run.
- Network-related transient failures (e.g., a package registry being down temporarily) might be incorrectly diagnosed as structural workflow issues if not carefully analyzed.
Common Pitfalls
- Ignoring Transient Failures: Mistaking temporary network dropouts or registry downtime (e.g., npm or pip install errors) for actual code or configuration bugs. Always check if a rerun succeeds before attempting heavy changes.
- Hardcoding Tokens: Fixing authentication errors by hardcoding secrets or API tokens directly into the YAML files instead of utilizing GitHub Secrets (
${{ secrets.SECRET_NAME }}). - Overlooking Caching Side Effects: Forgetting that outdated cache keys can keep corrupt dependencies loaded. If dependency installation is failing, try running a job with actions caching bypassed.
Related Skills
@devops-troubleshooter- General DevOps and infrastructure issue resolution.@cicd-automation-workflow-automate- For creating new CI/CD pipelines from scratch.
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.