Bumps to 1.3.0. Replaces the hand-run git for-each-ref / group-retry- tags.py / git push --delete / git fetch --prune-tags sequence with a single CLI: finds repo(s) under -C (including nested repos, e.g. a planning repo whose subdirectories are themselves separate repos, seen in ~/projects/building/s390x), groups retry tags, and with --apply deletes disposables in one batched push per repo then syncs local state. Dry-run by default; --apply is required to mutate anything, --json for machine-readable output, --filter/--remote for scoping. Tested live: dry-run against known-clean repos (mempalace, nextjs-swc- s390x) correctly reported zero sprawl; multi-repo discovery against building/s390x found all 27 nested repos plus a harmless no-remote error on the container repo itself; --apply against pillow-s390x deleted 24 disposable tags in one push and correctly synced local state, independently verified via ls-remote afterward. SKILL.md updated to make this tool the documented first choice, with the manual jq/python recipe and cluster:gitea-agent delegation kept only as fallbacks for repos with no local clone.
cicd-insights
A Claude Code plugin for CI/CD development best practices — a structural,
best-practices read on a repo's (or a whole fleet's) CI pipeline design,
starting with pipetree for
Woodpecker CI (and, over time, other project-observation tools).
pipetree gives you the raw topology (projects → pipelines → steps) plus
live last-run health. This plugin is the catalog of questions worth asking
of that data — blast radius, staleness, secret sprawl, trigger hygiene,
structural integrity, event-trigger taxonomy — and how to ask each one,
whether via a built-in pipetree flag or a verified jq recipe against its
-json output. Works as a single-repo pipeline design review just as well
as a fleet-wide audit.
Install
claude plugin add https://claude-plugins.oleks.space/plugins/cicd-insights.git
Usage
Ask things like:
- "review my CI setup for this repo"
- "what's the health of my CI fleet"
- "blast radius if I change the nix-ci image"
- "which pipelines are stale"
- "secret sprawl across repos"
- "what insights can I get from pipetree"
Or run the whole catalog in one pass with the /full-audit command:
/full-audit ~/projects --health
That's the "maximum edges" mode — every row in the catalog against the given scope, consolidated into one report. Targeted questions above are usually cheaper and should go through the skill directly rather than this command.
See skills/cicd-insights/SKILL.md for the full catalog,
skills/cicd-insights/references/recipes.md for the underlying jq
recipes, and commands/full-audit.md for the full-sweep command.
Retry-tag hygiene
A second skill, skills/retry-tag-hygiene/, cleans up the tag sprawl that
tag-triggered Woodpecker pipelines leave behind — v3.3.6, v3.3.6-1, ...
v3.3.6-19 from repeated release retries, where only the last attempt is
the real published state. Ask things like:
- "clean up tag sprawl on this repo"
- "why are there so many tags"
- "prune CI retry tags"
It reports before it deletes anything, and only mutates git.oleks.space
with explicit confirmation. The actual work is bin/retry-tag-sweep — a
standalone CLI (--help for full usage) that discovers repos under a path
(including nested ones), reports disposable tags by default, and only
deletes + syncs local state with --apply:
bin/retry-tag-sweep -C ~/projects/some-repo # dry run
bin/retry-tag-sweep -C ~/projects/some-repo --apply # delete + sync
bin/retry-tag-sweep -C ~/projects --json # fleet-wide, machine-readable