d-o-hub/rust-self-learning-memory

ci-fix

Diagnose and fix GitHub Actions CI failures for Rust projects. Use when CI fails, tests timeout, or linting issues occur. Captures common patterns from CLAUDE_INSIGHTS_REPORT.md.

First seen Feb 21, 2026

Installation

$ npx skills add d-o-hub/rust-self-learning-memory --skill ci-fix

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from d-o-hub/rust-self-learning-memory · top by installs.

npx skills add d-o-hub/rust-self-learning-memory

Browse all from d-o-hub/rust-self-learning-memory

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 12
License LICENSE
Default branch main
Open issues 3
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,126 B
  • docs SUMMARY.md 192 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 32 installs

SKILL.md

CI Fix Skill

Diagnose and fix GitHub Actions CI failures using patterns from past CI issues.

Quick Diagnosis Pattern

  1. Get CI status:
gh run list --limit 5 --json status,conclusion,name,headBranch
  1. Get failed job logs:
gh run view <run_id> --log --job <job_name>
  1. Categorize failure:
  • lint: fmt/clippy warnings
  • test: test failures or timeouts
  • build: compilation errors
  • security: cargo audit/deny failures
  • coverage: coverage threshold missed
  • deprecated: old action versions (common!)

Common Fixes (From History)

Deprecated GitHub Actions

# Detect
grep -r "actions/checkout@v1" .github/workflows/
grep -r "actions-rs" .github/workflows/

# Fix: Update to v2+

Optional Dependency Issues (libclang, wasmtime)

# Pattern: --all-features triggered optional dep issues
# Fix: Use workspace exclude
cargo build --workspace --exclude do-memory-mcp

Clippy Lint Allow-List

# See new warnings
./scripts/code-quality.sh clippy --workspace 2>&1 | grep "warning:"

# Fix: Add #[allow(...)] comments

Coverage Threshold

# Generate coverage
cargo tarpaulin --workspace

# Check threshold in .github/workflows/

Benchmark Timeout

# Increase timeout-minutes in workflow YAML

Check Quick Check Status CANCELLED after 15m

# Symptom: YAML Lint (or CI) "Check Quick Check Status" cancelled; real jobs skipped
# Cause: wait-on-check timeout-minutes:15 < Quick Check wall time (~15–20m)
# Permanent fix:
#  1. Remove wait gate from cheap workflows (yaml-lint.yml)
#  2. Raise remaining wait jobs to timeout-minutes: 40
#  3. Raise Quick Check job to timeout-minutes: 25
#  4. running-workflow-name must match this workflow's name:
# See LESSON-021, agent_docs/github_actions_patterns.md

Insta snapshot fails only on macOS

# Cause: f32/f64 {:?} Debug differs by platform
# Fix: format!("{:.4}", value) before assert_snapshot!
# See LESSON-022

Fix Commands

# Linting
cargo fmt --all
cargo clippy --workspace --fix --allow-dirty

# Testing
cargo test --workspace -- --nocapture

# Security
cargo audit
cargo deny check

# Build
cargo build --workspace

Success Criteria

  • All CI jobs pass
  • No new warnings introduced

Codecov Patch Coverage Gap Fix

When Codecov reports "Patch coverage is X% with N lines missing coverage":

Step 1: Parse the Report

Identify files with missing lines from the Codecov comment:

| File | Patch % | Missing Lines |
|------|---------|---------------|
| path/to/file.rs | 0.00% | 24 Missing |

Step 2: Locate Uncovered Code

For each file, read the specific lines identified. They are typically:

  • New functions without tests
  • Extracted submodules (refactored code moved to new files)
  • Changed branches not exercised by existing tests

Step 3: Write Targeted Tests

Add tests to the existing #[cfg(test)] mod tests in each file, or to a sibling test file:

  • For new public functions: unit test exercising the function directly
  • For new structs: test Default, Debug, Clone impls + key methods
  • For refactored code: test that the extracted module works identically to before
  • For branch coverage: test each match arm / if-else branch

Step 4: Verify

cargo nextest run -p <crate> -E 'test(<test_name_pattern>)'
cargo clippy --workspace -- -D warnings

Step 5: Commit

Single atomic commit: test(coverage): add tests for Codecov patch gaps in N files

Common Patterns

  • Extracted submodule (e.g. stats.rs from wrapper.rs): test the new module's public API directly
  • New monitoring metric: test the recording method + snapshot/getter
  • New heuristic function: test boundary conditions (empty input, short/long input, edge cases)
  • New StorageType enum: test Debug, Clone, and pattern matching
  • Changes committed if needed