analyze-ci-speed
Analyzes CI logs to find slow builds and test durations.
Install
mkdir -p .claude/skills/analyze-ci-speed && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/6085" && unzip -o skill.zip -d .claude/skills/analyze-ci-speed && rm skill.zipInstalls to .claude/skills/analyze-ci-speed
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Analyze compilation time and test durations from CI logs. Use when the user asks about slow builds, slow tests, or wants to optimize CI time.Key capabilities
- →Download CI workflow logs
- →Extract compilation times from build logs
- →Parse test execution durations
- →Identify slowest tests in a suite
- →Provide optimization recommendations
How it works
The skill retrieves CI logs via the GitHub CLI, strips ANSI formatting, and parses the text to calculate build times and test durations.
Inputs & outputs
When to use analyze-ci-speed
- →Find the slowest tests in the CI suite
- →Analyze compilation time for Rust projects
- →Compare performance across different CI runs
About this skill
Analyze CI Speed
Analyze compilation time and test durations from CI logs to identify optimization opportunities.
Prerequisites
ghCLI installed and authenticated (gh auth login)
Instructions
Step 1: Get Recent Workflow Runs
Get latest successful run from dev branch:
gh run list --workflow=Rust --branch=dev --limit=1 --status=success --json databaseId,conclusion,headSha,createdAt
Step 2: Download Test Job Logs
Get test jobs (nextest, nextest_all_features, coverage):
gh run view <run-id> --json jobs --jq '.jobs[] | select(.name == "nextest" or .name == "nextest_all_features" or .name == "coverage") | {id: .databaseId, name: .name}'
Download logs, stripping ANSI codes:
mkdir -p ci-logs/speed-analysis/
gh run view --job <job-id> --log | perl -pe 's/\e\[[0-9;]*m//g' > ci-logs/speed-analysis/<job_name>.log
Step 3: Extract Compilation Time
Search for cargo build summary in logs:
Finished ... in Xm Ys
Also look for incremental compilation info and cache hit rates.
Step 4: Extract Test Durations
Parse nextest output for test durations. Look for patterns like:
PASS [ 1.234s] crate_name::module::test_name
SLOW [ 15.678s] crate_name::module::slow_test
Extract all test durations and sort to find top 10 slowest tests.
Step 5: Analyze and Report
Provide summary:
- Total compilation time
- Top 10 slowest tests with durations
- Any tests marked as SLOW by nextest
- Recommendations:
- Tests that could be optimized or parallelized
- Crates with long compilation times
- Potential for better caching
Notes
- Run on successful builds to get complete timing data
- Compare across runs to identify regressions
When not to use it
- →When the CI run has not completed successfully
- →If the gh CLI is not authenticated
Prerequisites
Limitations
- →Requires successful builds for complete data
How it compares
It automates the extraction of performance data from raw logs, which is typically a manual and time-consuming process.
Compared to similar skills
analyze-ci-speed side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| analyze-ci-speed (this skill) | 1 | 6mo | Review | Intermediate |
| Performance Regression Gates | 0 | 2mo | Review | Intermediate |
| rust-async-patterns | 11 | 2mo | Review | Intermediate |
| debug-lldb | 1 | 7mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by Sovereign-Labs
View all by Sovereign-Labs →You might also like
Performance Regression Gates
majiayu000
Gates สำหรับตรวจจับ performance regression ผ่าน benchmarks, bundle size, และ load time monitoring
rust-async-patterns
wshobson
Master Rust async programming with Tokio, async traits, error handling, and concurrent patterns. Use when building async Rust applications, implementing concurrent systems, or debugging async code.
debug-lldb
regenrek
Capture and analyze thread backtraces with LLDB/GDB to debug hangs, deadlocks, UI freezes, IPC stalls, or high-CPU loops across any language or project. Use when an app becomes unresponsive, switching contexts stalls, or you need thread stacks to locate lock inversion or blocking calls.
rust-pro
vudovn
Master Rust 1.75+ with modern async patterns, advanced type system features, and production-ready systems programming. Expert in the latest Rust ecosystem including Tokio, axum, and cutting-edge crates. Use PROACTIVELY for Rust development, performance optimization, or systems programming.
release-skills
JimLiu
Universal release workflow. Auto-detects version files and changelogs. Supports Node.js, Python, Rust, Claude Plugin, and generic projects. Use when user says "release", "发布", "new version", "bump version", "push", "推送".
release-bump
mikeyobrien
Use when bumping ralph-orchestrator version for a new release, after fixes are committed and ready to publish