Posts
claude-plugins: a personal Claude Code marketplace for DevOps and Go
A curated set of Claude Code plugins — agents, commands, and skills — covering DevOps, software engineering, and modern Go development.
Once you start using Claude Code seriously, you accumulate prompts. A snippet that always produces the right golangci.yml. A spell that turns “I need a GitLab CI pipeline” into a working .gitlab-ci.yml. A code-review checklist you keep pasting in. After enough copy-paste, the obvious move is to package those into proper Claude Code plugins. That’s what claude-plugins is.
gh-action-badge: generate SVG badges hosted in your repo's wiki
A pair of GitHub Actions that produce coverage and fixed-color SVG badges, stored in the repository wiki — no third-party badge service required.
Every README I write ends up sprouting badges. Build status, lint status, version, coverage. Most of those are easy because they come for free from a service — Shields.io, Codecov, the GitHub Actions badge endpoint. The annoying one is always coverage, because it requires either a third-party service or a separate pipeline that publishes the number somewhere. So I built gh-action-badge to host the badge SVGs in the one place I always have available: the repo’s own wiki.
gini: a no-fuss CLI for editing INI files
A small Go utility to read, write and delete keys in INI files from shell scripts
INI files refuse to die. Samba, PHP, Git, MySQL, half of /etc — they’re everywhere, and editing them from a shell script is annoying enough that people reach for sed, regret it, and then write a much worse bug. gini is the tiny tool I wrote so I could stop doing that.
gitlab-mcp: drive GitLab from Claude Code without leaving the terminal
An MCP server that exposes GitLab issues, labels, epics, and CI/CD pipelines as tools Claude Code can call directly
I spend a lot of time in Claude Code, and a lot of time in GitLab. The constant tab-switching between the two — copy an issue ID, paste it into a prompt, jump back to read a job log, paste that too — got tiresome. So I wrote gitlab-mcp, a Model Context Protocol server that lets Claude Code talk to GitLab directly.
gitlab-token-expiration: stop getting surprised by expiring GitLab tokens
A CLI that lists every expirable token across your GitLab projects, groups, and personal account so you can plan rotations
GitLab access tokens expire. Project tokens, group tokens, personal access tokens — all of them. The trouble is that the expiration dates live in different corners of the UI, and you usually find out one expired the morning a CI pipeline mysteriously starts failing.
gitlab-token-expiration is the small tool I wrote to never have that morning again.