finops-plugin/skills/finops-caches/SKILL.md
GitHub Actions cache analysis — size, prefix/branch breakdown, stale detection. Use when investigating cache bloat, stale caches, or auditing cache key strategies.
npx skillsauth add laurigates/claude-plugins finops-cachesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Analyze GitHub Actions cache usage - size breakdown, cache key patterns, branch distribution, and stale cache detection.
| Use this skill when... | Use a sibling instead when... |
|---|---|
| Cache usage is near the 10GB repo limit or unknown | You need a high-level repo health snapshot first — use /finops:overview |
| You need to identify stale or orphaned PR-branch caches | You want to compare cache footprints across many repos — use /finops:compare |
| You are reviewing cache key strategy and prefix breakdown | You want to optimize workflow triggers rather than caches — use /finops:waste |
| You want to track down a single bloated cache entry | You are investigating slow or noisy workflow runs — use /finops:workflows |
git remote get-url origin| Parameter | Description | Default |
|-----------|-------------|---------|
| repo | Repository in owner/name format | Current repository |
| org:orgname | Analyze org-wide cache usage | - |
bash "${SKILL_DIR}/scripts/cache-analysis.sh" $ARGS
=== Cache Analysis: org/repo ===
Summary:
45 caches, 2340MB used
23% of 10GB limit
=== By Key Prefix ===
node-modules: 12 caches, 1200MB
playwright: 8 caches, 800MB
turbo: 15 caches, 300MB
=== By Branch ===
main: 10 caches, 500MB
develop: 8 caches, 400MB
PR 123: 3 caches, 150MB
PR 118: 3 caches, 140MB
=== Largest Caches ===
node-modules-linux-abc123: 180MB
playwright-linux-def456: 150MB
=== Stale Caches (>7 days old) ===
8 stale caches, 450MB reclaimable
Oldest: 2025-01-15T10:30:00Z
=== PR Branch Caches ===
12 PR caches, 580MB (check if PRs are merged/closed)
| Context | Command |
|---------|---------|
| Cache list (JSON) | gh api "/repos/{owner}/{repo}/actions/caches?per_page=100" --jq '.actions_caches' |
| Total cache count | gh api "/repos/{owner}/{repo}/actions/caches" --jq '.total_count' |
| Delete stale cache | gh api -X DELETE "/repos/{owner}/{repo}/actions/caches/{id}" |
| Cache key search | gh api "/repos/{owner}/{repo}/actions/caches?key=prefix" --jq '.actions_caches[].key' |
| Compact summary | bash "${SKILL_DIR}/scripts/cache-analysis.sh" $ARGS |
Based on findings, suggest:
# Delete stale caches
gh api "/repos/$REPO/actions/caches?per_page=100" \
--jq '.actions_caches[] | select(.last_accessed_at < "CUTOFF") | .id' | \
while read id; do gh api -X DELETE "/repos/$REPO/actions/caches/$id"; done
testing
Verify accumulated bug claims at upstream HEAD and dedup against trackers before filing issues. Use when filing upstream reports from backlogs, audit docs, or git-history findings.
documentation
Gate outward-bound text (upstream issues, docs, PR bodies) through isolated haiku fresh-reader critique before publishing. Use when an artifact must survive a reader with zero project context.
tools
Suggest improvements to SKILL.md content, descriptions, or tool config from eval results. Use when raising pass rates, fixing triggering, or iterating on a skill after evaluation.
tools
deadbranch CLI for stale-branch cleanup — dry-run preview, TUI or non-interactive delete, protects main/develop/WIP. Use when asked to clean up branches, prune branches, or remove stale branches.