Skip to main content

github-actions-inspection

Failing step, stack trace, and test output from a completed GitHub Actions run; rerun failed jobs. Use when a CI check finished red and you need the error extracted from its log.

ソース情報

リポジトリ
laurigates/claude-plugins
ソースの最終更新活動
2026年9月24日 10:45
検出された SKILL.md の言語
英語
スター
60
フォーク
6

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

ファイルエクスプローラー
2 ファイル

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
created
2025-12-16T00:00:00.000Z
modified
2026-09-24T00:00:00.000Z
reviewed
2026-04-25T00:00:00.000Z
name
github-actions-inspection
description
Failing step, stack trace, and test output from a completed GitHub Actions run; rerun failed jobs. Use when a CI check finished red and you need the error extracted from its log.
user-invocable
false
allowed-tools
Bash, Read, Grep, Glob, mcp__github
# GitHub Actions Inspection ## When to Use This Skill | Use this skill when... | Use the linked sibling instead when... | |---|---| | Pulling status, logs, and conclusions from `gh run` for a failing workflow | Authoring or modifying a workflow YAML file — see claude-code-github-workflows | | Diagnosing flaky tests, timeouts, or auth-permission errors in a CI run | Searching upstream OSS issues for a library bug — see github-issue-search | | Rerunning failed jobs or extracting error lines from a completed run | Use `git-plugin:gh-workflow-monitoring` to block until an in-progress run finishes, or `git-plugin:git-fix-pr` to patch and push the fix | Expert knowledge for inspecting, debugging, and troubleshooting GitHub Actions workflow runs using gh CLI and GitHub API. For detailed examples, advanced patterns, and best practices, see [REFERENCE.md](REFERENCE.md). ## Core Expertise **Workflow Run Inspection** - Check workflow run status and conclusions - List recent workflow runs with filtering - View detailed run information - Monitor in-progress workflows **Log Analysis** - Fetch workflow run logs - Identify failing steps and jobs - Extract error messages and stack traces - Parse test failure output **Debugging Workflows** - Diagnose common failure patterns - Correlate errors with code changes - Identify flaky tests and race conditions - Analyze timing and performance issues ## Essential Commands ### List Workflow Runs ```bash # List all workflow runs gh run list # List runs for specific workflow gh run list --workflow=ci.yml # Filter by status gh run list --status=failure gh run list --status=in_progress # Filter by branch gh run list --branch=main # Combine filters gh run list --workflow=ci.yml --status=failure --limit 5 # JSON output for parsing gh run list --json databaseId,status,conclusion,name,createdAt,headBranch ``` ### View Workflow Run Details ```bash # View specific run gh run view <run-id> # View failed logs only gh run view <run-id> --log-failed # View specific job gh run view <run-id> --job=<job-id> # JSON output gh run view <run-id> --json status,conclusion,jobs,startedAt,updatedAt ``` ### Download and Analyze Logs ```bash # Download logs for run gh run download <run-id> # View failed step logs only gh run view <run-id> --log-failed # Extract specific job logs gh api repos/:owner/:repo/actions/runs/<run-id>/logs | less ``` ### Watch Running Workflows ```bash # Watch workflow progress gh run watch <run-id> # Watch with exit status gh run watch <run-id> --exit-status ``` ### Rerun Workflows ```bash # Rerun entire workflow gh run rerun <run-id> # Rerun only failed jobs gh run rerun <run-id> --failed # Rerun with debug logging gh run rerun <run-id> --debug ``` ### Cancel Workflows ```bash # Cancel specific run gh run cancel <run-id> ``` ## Analysis Patterns ### Find Recent Failures ```bash # Get last 10 failed runs gh run list --status=failure --limit 10 # Get failures with details gh run list --workflow=ci.yml --status=failure --limit 5 \ --json databaseId,conclusion,name,createdAt,headBranch,headSha ``` ### Identify Flaky Tests ```bash # Get runs for specific commit gh run list --commit=<sha> # Find tests that sometimes pass gh run list --workflow=test.yml --limit 20 --json conclusion \ | jq 'group_by(.conclusion) | map({conclusion: .[0].conclusion, count: length})' ``` ### Extract Error Messages ```bash # View failed logs gh run view <run-id> --log-failed # Extract error lines gh run view <run-id> --log-failed | grep -i "error\|failed\|exception" # Parse JSON for errors gh api repos/:owner/:repo/actions/runs/<run-id>/jobs \ | jq '.jobs[] | select(.conclusion == "failure") | {name, steps: [.steps[] | select(.conclusion == "failure")]}' ``` ### Read job conclusions, not the workflow's A run's `conclusion: success` also covers jobs that were **skipped**. Jobs gated on a tag push or a release event (`if: github.event_name == 'push'`, `if: startsWith(github.ref, 'refs/tags/')`, release-please pre-release only) report `skipped` on every PR, so PR CI is green for them by construction. A change that breaks one merges cleanly and fails on the next release, which can be weeks later. ```bash gh run view <run-id> --json jobs --jq '.jobs[] | {name, conclusion}' ``` - To judge whether a specific job (an image build, a release upload) actually ran, read that job's `conclusion`. `skipped` means it verified nothing. - Before merging a change to a release-gated job, exercise it: trigger it with `workflow_dispatch`, push a throwaway tag, or run the step locally (for example `docker build --file <Dockerfile> .`). ### Check Workflow Timing ```bash # Get run duration gh run view <run-id> --json startedAt,completedAt,durationMs # Compare run times gh run list --workflow=ci.yml --limit 10 \ --json databaseId,createdAt,updatedAt,durationMs \ | jq '.[] | {id: .databaseId, duration_min: (.durationMs / 60000)}' ``` ### Monitor Workflow Status ```bash # Check current status gh run list --status=in_progress # Summary of run statuses gh run list --limit 50 --json conclusion \ | jq 'group_by(.conclusion) | map({conclusion: .[0].conclusion, count: length})' ``` ## Common Failure Pattern Summary | Pattern | Symptoms | Quick Fix | |---------|----------|-----------| | Authentication | "403 Forbidden", "Resource not accessible" | Check GITHUB_TOKEN scope, workflow permissions | | Timeout | "exceeded maximum execution time" | Increase timeout-minutes, split parallel jobs | | Flaky tests | Same test passes/fails inconsistently | Fix race conditions, mock external deps | | Dependency install | "Could not find package", "Version conflict" | Lock versions, use cache | | Environment | "Command not found", "Module not found" | Verify setup steps, check runner version | | Resource constraints | "out of disk space", "Process killed" | Clean artifacts, increase runner size | ## Agentic Optimizations | Context | Command | |---------|---------| | Quick failure check | `gh run list --status=failure --limit 5 --json databaseId,conclusion,name` | | Failed logs only | `gh run view <id> --log-failed` | | JSON run details | `gh run view <id> --json status,conclusion,jobs` | | Failure rate | `gh run list --limit 50 --json conclusion \| jq 'group_by(.conclusion)'` | | Rerun failed only | `gh run rerun <id> --failed` | | Per-job conclusions | `gh run view <id> --json jobs --jq '.jobs[] \| {name, conclusion}'` | ## Quick Reference ### gh run Commands - `gh run list` - List workflow runs - `gh run view <id>` - View run details - `gh run watch <id>` - Watch run progress - `gh run download <id>` - Download logs/artifacts - `gh run rerun <id>` - Rerun workflow - `gh run cancel <id>` - Cancel running workflow ### Useful Filters - `--workflow=<name>` - Specific workflow - `--status=<status>` - Filter by status (in_progress, completed, queued, waiting) - `--conclusion=<conclusion>` - Filter by conclusion (success, failure, cancelled, skipped) - `--branch=<branch>` - Specific branch - `--event=<event>` - Specific trigger event - `--limit=<n>` - Limit results - `--json <fields>` - JSON output ### Status Values - `queued` - Waiting to start - `in_progress` - Currently running - `completed` - Finished (check conclusion) - `waiting` - Waiting for approval ### Conclusion Values - `success` - All jobs succeeded - `failure` - At least one job failed - `cancelled` - Manually cancelled - `skipped` - Skipped (conditional) - `timed_out` - Exceeded time limit ## Integration with Other Skills This skill complements: - **claude-code-github-workflows** - Creating workflows - **github-actions-mcp-config** - MCP configuration - **github-actions-auth-security** - Authentication setup ## Resources - **gh CLI Manual**: https://cli.github.com/manual/gh_run - **GitHub Actions API**: https://docs.github.com/en/rest/actions - **Troubleshooting Guide**: https://docs.github.com/en/actions/monitoring-and-troubleshooting-workflows
GitHubで見る