actions-debugging

Use when a GitHub Actions workflow fails — diagnose the run log, identify the root cause, and apply a targeted fix

8 stars

Best use case

actions-debugging is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use when a GitHub Actions workflow fails — diagnose the run log, identify the root cause, and apply a targeted fix

Teams using actions-debugging should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/actions-debugging/SKILL.md --create-dirs "https://raw.githubusercontent.com/drvoss/everything-copilot-cli/main/skills/copilot-exclusive/actions-debugging/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/actions-debugging/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How actions-debugging Compares

Feature / Agentactions-debuggingStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use when a GitHub Actions workflow fails — diagnose the run log, identify the root cause, and apply a targeted fix

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# GitHub Actions Debugging

## Why This is Copilot-Exclusive

Copilot CLI provides **structured access to GitHub Actions** through its built-in MCP server.
You can list workflows, inspect run details, download job logs, and analyze failures — all via
typed tool calls that return structured data. Claude Code has no GitHub Actions integration
whatsoever; debugging CI requires manually navigating the GitHub web UI or parsing raw
`gh run view` output.

## When to Use

- A CI pipeline fails and you need to understand why — fast
- Investigating flaky tests across multiple workflow runs
- Auditing workflow run times and usage patterns
- Debugging deployment pipeline failures in staging/production
- Comparing successful vs failed runs to find regressions

## Workflow

### 1. List Workflows in a Repository

```text
Tool: github-mcp-server-actions_list
  method: "list_workflows"
  owner: "my-org"
  repo: "my-app"
```

### 2. List Recent Runs for a Workflow

```text
Tool: github-mcp-server-actions_list
  method: "list_workflow_runs"
  owner: "my-org"
  repo: "my-app"
  resource_id: "ci.yml"
  workflow_runs_filter: { "status": "completed", "branch": "main" }
```

### 3. Get Failed Job Logs

This is the killer feature — pull logs directly for analysis:

```text
Tool: github-mcp-server-get_job_logs
  owner: "my-org"
  repo: "my-app"
  run_id: 12345678
  failed_only: true
  return_content: true
  tail_lines: 200
```

### 4. Inspect a Specific Job

```text
Tool: github-mcp-server-actions_get
  method: "get_workflow_job"
  owner: "my-org"
  repo: "my-app"
  resource_id: "98765432"
```

### 5. Check Run Usage and Timing

```text
Tool: github-mcp-server-actions_get
  method: "get_workflow_run_usage"
  owner: "my-org"
  repo: "my-app"
  resource_id: "12345678"
```

## Examples

### "Why Did My CI Fail?"

> "My latest push to feature/auth-refactor failed CI. Show me what went wrong."

Copilot workflow:

1. `list_workflow_runs` filtered by branch `feature/auth-refactor`
2. Takes the most recent failed run
3. `list_workflow_jobs` to find which job(s) failed
4. `get_job_logs` with `failed_only: true` to pull the error output
5. Analyzes the logs, identifies the root cause, suggests a fix

All in one conversational turn — no browser tabs needed.

### Flaky Test Investigation

> "The 'integration-tests' workflow has been flaky on main this week.
> Show me the failure pattern."

```text
Tool: github-mcp-server-actions_list
  method: "list_workflow_runs"
  owner: "my-org"
  repo: "my-app"
  resource_id: "integration-tests.yml"
  workflow_runs_filter: { "branch": "main" }
  per_page: 20
```

Copilot lists the last 20 runs, identifies which failed, pulls logs for each
failure, and looks for common error patterns (e.g., timeout, race condition,
external service unavailability).

### Deployment Pipeline Audit

> "Show me all production deployment runs this month and flag any that took
> longer than 15 minutes."

Copilot lists runs, checks usage/timing for each, and highlights anomalies.

### Fix and Verify Loop

1. Copilot reads the failure logs
2. Identifies the broken test or build step
3. Makes the fix in your local codebase
4. You push the fix
5. Copilot monitors the new run via `list_workflow_runs`
6. Confirms the fix worked or continues debugging

## Tips

- **Use `failed_only: true`**: Skip successful job logs and go straight to the
  failures. Saves context window space.
- **Tail the logs**: Use `tail_lines: 100-300` to focus on the end of the log
  where errors typically appear.
- **Parallel job analysis**: When a run has multiple failed jobs, call
  `get_job_logs` on each in parallel.
- **Compare runs**: Pull logs from both a passing and failing run to diff them
  and isolate what changed.
- **Combine with PR tools**: After fixing a CI failure, use `pull_request_read`
  with `get_check_runs` to verify the fix passes on the PR.
- **Track flaky tests in SQL**: Store failure patterns in the session database
  to build a flakiness report over time.

Related Skills

github-actions-efficiency

8
from drvoss/everything-copilot-cli

Use when auditing GitHub Actions workflows for efficiency — reducing CI minutes, cutting costs, eliminating redundant runs, or optimizing caching and concurrency.

systematic-debugging

8
from drvoss/everything-copilot-cli

Use when a bug is non-obvious or has resisted quick fixes — applies a 4-phase root cause analysis to find and permanently resolve the issue rather than patching symptoms

cpp-debugging

8
from drvoss/everything-copilot-cli

Use when a C++ failure involves memory lifetime, undefined behavior, native crashes, or debugger-only state — debug with symbols, sanitizers, and platform-native debuggers before patching symptoms

verification-before-completion

8
from drvoss/everything-copilot-cli

Use before claiming any task is done — run the exact command that proves the fix works, read the output, and only then report success.

using-git-worktrees

8
from drvoss/everything-copilot-cli

Use when you need multiple branches checked out at once — create isolated working directories for parallel development without cloning the repository repeatedly

triage

8
from drvoss/everything-copilot-cli

Use when a single issue needs structured triage — classify it, reproduce if needed, request missing information, and leave a durable brief or close-out note in the tracker.

to-issues

8
from drvoss/everything-copilot-cli

Use when a plan, spec, or PRD must become an actionable backlog — break it into thin dependency-aware issues that each deliver a verifiable vertical slice

sprint-workflow

8
from drvoss/everything-copilot-cli

Use when starting a new feature, refactor, or multi-step dev task — runs the full sprint cycle (Think → Plan → Build → Review → Test → Ship → Monitor) using Copilot CLI's plan/autopilot modes.

sprint-retro

8
from drvoss/everything-copilot-cli

Use at the end of a sprint to run a data-driven retrospective — analyzes session history and git metrics to surface what shipped, what slowed you down, and concrete improvements.

security-audit

8
from drvoss/everything-copilot-cli

Use when a codebase needs a formal security audit beyond a quick scan — applies OWASP Top 10 and STRIDE threat modeling from a CSO perspective to surface systemic vulnerabilities.

release

8
from drvoss/everything-copilot-cli

Use when a sprint or feature is complete and ready to ship — tags the version, generates GitHub Release notes, runs rollout or smoke verification, and publishes to npm/PyPI/Docker registries.

prompt-optimizer

8
from drvoss/everything-copilot-cli

Use when a rough prompt, vague idea, or task description needs to become a finished copy-pasteable prompt for a chat-based LLM - rewrite it into one ready-to-send prompt with no blanks, no placeholders, and a clear output shape.