Two Small Devtools: SkillForge CI and Cost Tape

TL;DR
Two quality-of-life tools we built this week for Claude Code daily drivers: a SKILL.md linter and a VS Code status bar that shows live LLM spend.
Small Tools Compound#
The big AI tooling debates get all the airtime. Which model. Which harness. Which framework. Meanwhile the thing that actually slows you down on a Tuesday afternoon is something dumb: a SKILL.md file that quietly bloated past the token budget and stopped loading, or a forgotten background agent that has been burning OpenAI credits since lunch.
These are not glamorous problems. They are the small frictions that compound across a week of agent work, and they tend to be invisible until they hurt.
This week we shipped two tools to fix exactly those frictions. Both are tiny. Both live in the part of the workflow nobody writes blog posts about. We are writing one anyway, because if you run Claude Code every day you probably want them too.
The pairing is intentional. SkillForge CI keeps your skills repo from rotting. Cost Tape keeps your spend visible while you ship. Together they cover two of the easiest ways to lose a day to invisible drift.
SkillForge CI: Lint Your SKILL.md Files#
The problem#
If you have written more than five Claude Code skills, you have probably hit at least one of these:
- A SKILL.md crept past the soft token budget and stopped getting auto-loaded.
- Frontmatter description was too short, so the skill never matched the user's intent.
- A
./scripts/foo.shreference in the body pointed at a file that got renamed three commits ago. - A skill folder name no longer matched the
name:in frontmatter, so the registry got confused.
Skills fail silently. There is no compiler. The agent just quietly stops loading the file and you do not notice until you wonder why a behavior you wired up last month is gone.
SkillForge CI is a pure linter for SKILL.md files. It checks the things that bite you in production:
- File size against a hard cap (50 KB by default).
- Estimated token count, with a soft warning above 2,000.
- Required frontmatter fields, including a description length sanity check.
- Skill name pattern (lowercase slug, optional
namespace:nameform). - Folder name matching the skill name.
- Broken local file references inside the body.
It is a single Node script with one runtime dependency (gray-matter) and no I/O side effects beyond reading. The whole thing is about 130 lines in lib/lint.js plus a 40-line CLI wrapper in bin/skillforge.js, which means you can read it end to end before deciding whether to trust it in CI. We deliberately kept it boring. Linters that try to do too much become impossible to extend, and skills move fast enough that the rules are going to keep changing.
The defaults are tuned to where skills actually start failing in practice: a 50 KB hard cap (well above any real skill we have written), a 2,000 token soft warning (where Claude Code starts deprioritizing auto-load), and a 20-character minimum description (anything shorter and the skill almost never matches user intent).
Install and run#
npx skillforge-ci-cli ~/.claude/skills
Or wire it into a repo:
npm install -D skillforge-ci-cli
npx skillforge .Output looks like this:
skillforge: scanned 42 SKILL.md file(s) under ~/.claude/skills
ok ~/.claude/skills/commands/qa/SKILL.md (~480 tok)
warn ~/.claude/skills/commands/handoff/SKILL.md (~2380 tok)
warn: Estimated 2380 tokens (>2000). Consider splitting or trimming.
FAIL ~/.claude/skills/commands/old-thing/SKILL.md (~120 tok)
error: Frontmatter must include a string `description`.
warn: Broken local reference: ./scripts/run.sh
1 error(s), 2 warning(s)
Exit code is non-zero on errors, so it drops straight into a GitHub Action. There is also a --json flag for piping into a PR-comment script.
Roadmap honesty#
This is v0.1. The token estimate is a 4-chars-per-token approximation, not a real tokenizer. There is no autofix. The GitHub Action wrapper is in dist/ but Org Actions billing is currently blocking the public release on our side, so the action runs red regardless of code health for the moment. CLI use is unaffected.
Cost Tape: LLM Spend in Your Status Bar#
The problem#
If you run more than one Claude Code session, plus a Codex tab, plus a background agent or two, you lose track. The first time you really notice is a billing email. We have written about the $400 overnight bill before. The fix is not to stop running agents. The fix is to make the cost visible the way git status is visible: always there, in your peripheral vision, ambient.
Cost Tape is a tiny VS Code extension that puts your live LLM API spend in the status bar:
$3.60 today / $96.65 mtd
Click it for a per-provider breakdown. That is the whole product.
How it works#
It polls the official cost endpoints every five minutes (configurable, minimum 60 seconds) and caches results for 60 seconds in memory so it does not hammer anything:
- Anthropic:
GET /v1/organizations/cost_report(admin key,anthropic-version: 2023-06-01). - OpenAI:
GET /v1/organization/costs(admin key bearer auth).
You bring your own admin keys. Workspace or per-call API keys do not have access to usage endpoints. You will need:
- Anthropic Admin key from Console → Settings → Admin Keys (
sk-ant-admin-...). - OpenAI Admin key from Platform → Organization → Admin keys (
sk-admin-...).
Install#
The .vsix lives in the repo. Install with:
code --install-extension cost-tape.vsix
Then in VS Code settings:
{
"costTape.anthropicAdminKey": "sk-ant-admin-...",
"costTape.openaiAdminKey": "sk-admin-...",
"costTape.providers": ["anthropic", "openai"],
"costTape.pollIntervalSeconds": 300,
"costTape.hideWhenZero": false
}
Either key alone is fine. Cost Tape only polls providers that are configured.
Two commands ship with it:
Cost Tape: Refresh Nowclears the cache and re-polls.Cost Tape: Show Detailsopens a modal with the per-provider split.
Status-bar screenshots: TODO once we have a few weeks of real data on the tape.
Roadmap honesty#
v0.1 is the status-bar tape and the modal. That is it.
The biggest known limitation: Anthropic does not expose a public per-API-key usage endpoint, so Cost Tape reports org-wide Anthropic spend. If you run multiple projects against one org, you cannot split them yet. We are watching the admin API changelog and will wire per-key attribution the moment it ships.
Coming later: a webview dashboard with charts, multi-account support, and shareable spend snapshots. Today it is a tape. The tape is enough.
Privacy#
Cost Tape only talks to api.anthropic.com and api.openai.com. Your admin keys are stored in VS Code settings (machine-scoped) and never leave your machine. No telemetry, no analytics, no third-party calls. The whole extension is roughly 800 lines of TypeScript split between two provider files, lib/providers/anthropic.ts and lib/providers/openai.ts, and a thin status-bar renderer. If you want to read it before installing, the source is the docs.
Both in the Daily Flow#
Here is how these two land in a real workday.
You open VS Code. Cost Tape sits in the bottom right and tells you yesterday's runaway agent cost you nine bucks, not ninety. Good. You open a skills repo, run npx skillforge . from the integrated terminal, and find one warning on a skill you edited last week. Fix it in two minutes. Push. Move on.
That is the entire pitch. Neither tool is exciting. Neither tool will be the headline of a launch week. But both replace a recurring small failure with a thirty-second check, and over a month that adds up to real time.
If you are interested in the rest of the small-tools sweep we shipped this week, the other five are in our ten tools for agent infrastructure announcement and live tutorials. And if you are still picking your AI coding stack, the compare page has the side-by-side.
The point of all of this is not the tools individually. The point is that developer hygiene is mostly small tools used consistently. Lint your skills. Watch your spend. Then go back to building the interesting thing.
Get the next deep dive like this in your inbox
One email a week on Claude Code and the rest of the AI dev stack. Free.
Read next on Claude Code
Self-Improving Skills: Claude Code That Learns From Every Session
Claude Code skills can now reflect on sessions, extract corrections, and update themselves with confidence levels. Your agent gets smarter every time you use it.
7 min readClaude Skills: A technical deep dive into Anthropic's new approach to AI context management
A comprehensive look at Claude Skills-modular, persistent task modules that shatter AI's memory constraints and enable progressive, composable, code-capable workflows for developers and organizations.
8 min readThe $400 Overnight Bill: Why Managed Agents Need FinOps Now
Five managed-agent providers, five pricing models, zero unified cost attribution. If you're running agents overnight, you need FinOps you don't have yet.
13 min readTechnical content at the intersection of AI and development. Building with AI agents, Claude Code, and modern dev tools - then showing you exactly how it works.






