
Finops Overview
- 58 installs
- 49 repo stars
- Updated August 4, 2026
- laurigates/claude-plugins
Helps with ai & agent building tasks.
About
finops-overview is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.
- finops-overview
- AI & Agent Building
- AI-coding skill
Finops Overview by the numbers
- 58 all-time installs (skills.sh)
- Ranked #6,517 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/laurigates/claude-plugins --skill finops-overviewAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 58 |
|---|---|
| repo stars | ★ 49 |
| Last updated | August 4, 2026 |
| Repository | laurigates/claude-plugins ↗ |
What it does
Helps with ai & agent building tasks.
Files
/finops:overview
Display a quick FinOps summary including org-level billing (if admin) and current repository workflow/cache statistics.
When to Use This Skill
| Use this skill when... | Use a sibling instead when... |
|---|---|
| You need a first-look snapshot of CI costs, cache, and workflow health | You need a detailed cache breakdown — use /finops:caches |
| You want billing + cache + workflow stats in one view before drilling deeper | You need per-workflow run frequency and duration analysis — use /finops:workflows |
| You are deciding which finops skill to run next | You want to find and fix CI waste patterns — use /finops:waste |
| You want a single-repo summary | You want to benchmark across many repos in an org — use /finops:compare |
Context
- Current repo URL: !
git remote get-url origin
Parameters
| Parameter | Description | Default |
|---|---|---|
org | GitHub organization name | Current repo's owner |
Execution
bash "${SKILL_DIR}/scripts/billing-summary.sh" $ARGSOutput Format
=== Org Billing: orgname ===
Minutes: 1234/2000 included, 0 paid
=== Org Cache Usage ===
45 caches, 2340MB total
=== Repo: orgname/reponame ===
Cache:
12 caches, 450MB
Workflows (last 30 days):
CI: 45 runs (40 ok, 3 fail, 2 skip)
Deploy: 12 runs (12 ok, 0 fail, 0 skip)
CodeQL: 30 runs (28 ok, 0 fail, 2 skip)
=== Waste Indicators ===
Skipped runs: 4/87
Workflows missing concurrency: 2Agentic Optimizations
| Context | Command |
|---|---|
| Org billing (JSON) | gh api "/orgs/{org}/settings/billing/actions" --jq '.' |
| Repo cache summary | gh api "/repos/{owner}/{repo}/actions/caches" --jq '{total: .total_count}' |
| Workflow list | gh workflow list --json name,state |
| Recent runs (compact) | gh run list --limit 20 --json status,conclusion,name |
| Compact overview | bash "${SKILL_DIR}/scripts/billing-summary.sh" $ARGS |
Post-actions
Suggest next steps based on findings:
- High skipped runs ->
/finops:waste - High cache usage ->
/finops:caches - Want detailed workflow analysis ->
/finops:workflows - Compare across repos ->
/finops:compare
#!/usr/bin/env bash
# Billing Summary
# Quick FinOps overview: org billing, cache usage, repo workflow stats, waste indicators.
# Usage: bash billing-summary.sh [org] [repo]
#
# Args:
# org GitHub organization name (default: current repo's org)
# repo Repository in owner/name format (default: current repo)
# shellcheck disable=SC2016 # jq expressions use $ for variable references, not shell expansion
set -euo pipefail
ORG="${1:-$(gh repo view --json owner --jq '.owner.login')}"
REPO="${2:-$(gh repo view --json nameWithOwner --jq '.nameWithOwner')}"
echo "=== Org Billing: $ORG ==="
gh api "/orgs/$ORG/settings/billing/actions" \
--jq '"Minutes: \(.total_minutes_used)/\(.included_minutes) included, \(.total_paid_minutes_used) paid"' \
2>/dev/null || echo " (requires org admin access)"
echo ""
echo "=== Org Cache Usage ==="
gh api "/orgs/$ORG/actions/cache/usage" \
--jq '"\(.total_active_caches_count) caches, \(.total_active_caches_size_in_bytes / 1024 / 1024 | floor)MB total"' \
2>/dev/null || echo " (requires org admin access)"
echo ""
echo "=== Repo: $REPO ==="
echo "Cache:"
gh api "/repos/$REPO/actions/cache/usage" \
--jq '" \(.active_caches_count) caches, \(.active_caches_size_in_bytes / 1024 / 1024 | floor)MB"'
echo ""
echo "Workflows (last 30 days):"
gh api "/repos/$REPO/actions/runs?per_page=100" \
--jq '.workflow_runs | group_by(.name) |
map({name: .[0].name, runs: length,
success: ([.[] | select(.conclusion == "success")] | length),
failure: ([.[] | select(.conclusion == "failure")] | length),
skipped: ([.[] | select(.conclusion == "skipped")] | length)}) |
sort_by(-.runs)[] |
" \(.name): \(.runs) runs (\(.success) ok, \(.failure) fail, \(.skipped) skip)"'
echo ""
echo "=== Waste Indicators ==="
RUNS_DATA=$(gh api "/repos/$REPO/actions/runs?per_page=100" \
--jq '{
total: (.workflow_runs | length),
skipped: [.workflow_runs[] | select(.conclusion == "skipped")] | length
}')
SKIPPED=$(echo "$RUNS_DATA" | jq -r '.skipped')
TOTAL=$(echo "$RUNS_DATA" | jq -r '.total')
echo "Skipped runs: $SKIPPED/$TOTAL"
if [ -d ".github/workflows" ]; then
MISSING_CONCURRENCY=0
shopt -s nullglob
for f in .github/workflows/*.yml .github/workflows/*.yaml; do
if ! grep -q "concurrency:" "$f" 2>/dev/null; then
MISSING_CONCURRENCY=$((MISSING_CONCURRENCY + 1))
fi
done
shopt -u nullglob
echo "Workflows missing concurrency: $MISSING_CONCURRENCY"
fi
Related skills
AI & Agent Buildingagents