Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
laurigates avatar

Finops Waste

  • 50 installs
  • 49 repo stars
  • Updated August 4, 2026
  • laurigates/claude-plugins

Helps with ai & agent building tasks.

About

finops-waste is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.

  • finops-waste
  • AI & Agent Building
  • AI-coding skill

Finops Waste by the numbers

  • 50 all-time installs (skills.sh)
  • Ranked #7,278 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-waste

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs50
repo stars49
Last updatedAugust 4, 2026
Repositorylaurigates/claude-plugins

What it does

Helps with ai & agent building tasks.

Files

SKILL.mdMarkdownGitHub ↗

/finops:waste

Identify GitHub Actions waste patterns and provide actionable fix suggestions. Analyzes skipped runs, bot triggers, missing concurrency groups, and missing path filters.

When to Use This Skill

Use this skill when...Use a sibling instead when...
You want actionable fixes for CI cost waste — concurrency, path filters, bot guardsYou need a high-level billing and health snapshot — use /finops:overview
You need to add cancel-in-progress to PR workflowsYou need workflow run frequency and duration stats — use /finops:workflows
You are auditing skipped runs and bot-triggered noiseYou are auditing cache bloat or stale caches — use /finops:caches
You want to fix one repo's workflow configYou want to rank waste across many repos — use /finops:compare

Context

  • Current repo URL: !git remote get-url origin
  • Workflow files: !find .github/workflows -maxdepth 1 \( -name '*.yml' -o -name '*.yaml' \)

Parameters

ParameterDescriptionDefault
repoRepository in owner/name formatCurrent repository

Execution

1. Run API-based waste analysis:

bash "${SKILL_DIR}/scripts/waste-analysis.sh" "$REPO"

2. Workflow file analysis (requires local filesystem):

echo ""
echo "=== Workflow File Analysis ==="

for f in .github/workflows/*.yml .github/workflows/*.yaml 2>/dev/null; do
  [ -f "$f" ] || continue
  name=$(basename "$f")
  issues=""

  # Check for concurrency
  if ! grep -q "concurrency:" "$f"; then
    issues="${issues}missing-concurrency "
  fi

  # Check for path filters (on push/pull_request without paths)
  if grep -qE "^\s*(push|pull_request):" "$f" && ! grep -q "paths:" "$f"; then
    issues="${issues}no-path-filter "
  fi

  # Check for bot filter
  if ! grep -q "github.event.sender.type" "$f" && ! grep -q "github.actor" "$f"; then
    issues="${issues}no-bot-filter "
  fi

  # Check for cancel-in-progress
  if grep -q "pull_request:" "$f" && ! grep -q "cancel-in-progress:" "$f"; then
    issues="${issues}no-cancel-in-progress "
  fi

  if [ -n "$issues" ]; then
    echo "  $name: $issues"
  else
    echo "  $name: OK"
  fi
done

Fix Suggestions

After analysis, provide specific fixes based on findings:

Fix: Missing Concurrency Group

# Add to workflow file at top level or per-job
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true  # For PR workflows

Fix: Bot Trigger Filter

jobs:
  build:
    # Skip if triggered by a bot
    if: github.event.sender.type != 'Bot'
    runs-on: ubuntu-latest
    steps: ...

Or for specific bots:

    if: github.actor != 'dependabot[bot]' && github.actor != 'renovate[bot]'

Fix: Add Path Filters

on:
  push:
    branches: [main]
    paths:
      - 'src/**'
      - 'package.json'
      - 'package-lock.json'
    paths-ignore:
      - '**.md'
      - 'docs/**'
      - '.github/**'
  pull_request:
    paths:
      - 'src/**'
      - 'package.json'

Fix: Cancel Duplicate PR Runs

concurrency:
  group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
  cancel-in-progress: true

Output Format

=== Waste Analysis: org/repo ===

=== Skipped Runs ===
Total runs: 100
Skipped: 15 (15%)

By workflow:
  CI: 10 skipped
  CodeQL: 5 skipped

=== Bot-Triggered Runs ===
Bot-triggered: 25/100 runs

By bot:
  dependabot[bot]: 15 runs
  renovate[bot]: 10 runs

=== Workflow File Analysis ===
  ci.yml: missing-concurrency no-path-filter
  deploy.yml: OK
  codeql.yml: no-bot-filter

=== Potential Duplicate Runs ===
  Commit abc1234: 3 runs (CI, CodeQL, Security)

=== High-Frequency Workflows ===
  CI: 67 runs in sample - review trigger conditions

Agentic Optimizations

ContextCommand
Skipped runs count`gh run list --limit 100 --json conclusion --jq '[.[]
Failed runs (compact)gh run list --limit 50 --status failure --json name,createdAt
Workflow file checkbash "${SKILL_DIR}/scripts/waste-analysis.sh" "$REPO"
Check concurrency in filegrep -l "concurrency:" .github/workflows/*.yml
Bot-triggered runs`gh run list --limit 100 --json actor,conclusion --jq '[.[]

Post-actions

1. Offer to apply fixes: For each issue found, offer to edit the workflow file directly 2. Prioritize by impact: Focus on high-frequency workflows first 3. Test recommendations: Suggest testing changes on a feature branch first 4. Create tracking issue: Optionally create a GitHub issue to track optimization work

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.