Toolproof

The nine

Census

Methodology

Badges

API

Toolproof

The nine

Census

Methodology

Badges

API

Embed a badge

Toolproof

The nine

Census

Methodology

Badges

API

Embed a badge

Toolproof/Badges

7 badge types · 7 answering right now · no account · no key · no tracking · CC BY 4.0

An independent measurement, in your README

One line of markdown. It reads from the index that made the measurement, it updates itself when the measurement changes, and it costs nothing. If you would rather not hotlink us at all, there is a shields.io endpoint below that puts shields between you and this domain.

What these are, and what they are not

It is about your project, not about us
The right-hand side is your result. Nobody has ever pasted a badge that advertises a vendor, and we are not going to pretend otherwise — the reason our name is on the left is that a measurement needs a referee attached to it, not because the badge is an advertisement.
It updates itself
Every index behind these rebuilds nightly. The badge reads the index, so it changes when the measurement changes and there is nothing to keep up to date. If your maintenance verdict improves tomorrow the badge says so tomorrow.
You cannot set the value
There is no ?message= parameter and there will not be one. A badge whose value the embedder controls is a sticker, and one forged badge would end the usefulness of every honest one.
We do not track your readers
The badge endpoint sets no cookie, reads no header it does not need to render an SVG, and keeps no per-reader log. This is the real objection to README badges and it deserves a real answer rather than a promise: if you do not want to take our word for it, use the shields.io route and your readers never talk to this domain at all.
It can say something you do not like
A dead project renders dead. We are not going to soften a verdict to get a badge into a README — the whole value of the badge is that it could have said something else. Nobody is obliged to embed one.
Two of the nine have no badge, deliberately
CiteRank measures how often answer engines cite a site, and doc-extract-bench scores commercial extraction vendors against each other. Neither is a thing its subject would be displaying about itself — one is a scoreboard you are losing, the other is a competitor comparison. Both indexes are published in full. Neither mints a badge.

The seven, live

Each row below is a real reading of a real subject, rendered by the same endpoint your README would call. The example subject is a row that exists in that index — it is not an endorsement of anything.

StillShipping

subject: GitHub repository

the nightly verdict — maintained, stale or dead — and the 0-100 freshness behind it.

StillShipping badge for obra/superpowers

StillShipping reads obra/superpowers as maintained, freshness 100/100, recomputed nightly from the GitHub API. Every verdict ships with the facts that produced it.

[![StillShipping](https://toolproof.kynth.studio/badge/stillshipping/obra/superpowers.svg)](https://stillshipping.kynth.studio/tool/superpowers)

Replace obra/superpowers with your own GitHub repository. If your project is not in this index the badge renders unknown, which is a good reason not to embed it rather than an error.

SkillWorks

subject: GitHub repository

how many listings the index holds from that repository and how many pass every static structural check.

SkillWorks badge for anthropics/skills

SkillWorks indexes 21 listings from anthropics/skills; 18 pass every static structural check. Nothing is executed — the checks read and parse the files.

[![SkillWorks](https://toolproof.kynth.studio/badge/skillworks/anthropics/skills.svg)](https://skillworks.kynth.studio/?q=anthropics%2Fskills)

Replace anthropics/skills with your own GitHub repository. If your project is not in this index the badge renders unknown, which is a good reason not to embed it rather than an error.

RuleStack

subject: GitHub repository

the measured quality of the strongest agent config file in the repository, out of 100.

RuleStack badge for n8n-io/n8n

RuleStack measures 15 agent instruction files in n8n-io/n8n; the strongest scores 100/100 on what is present — headings, runnable commands, section coverage.

[![RuleStack](https://toolproof.kynth.studio/badge/rulestack/n8n-io/n8n.svg)](https://rulestack.kynth.studio/configs/n8n-io-n8n-packages-n8n-agents-agents)

Replace n8n-io/n8n with your own GitHub repository. If your project is not in this index the badge renders unknown, which is a good reason not to embed it rather than an error.

KitGrade

subject: GitHub repository

the kit's score out of 100, and whether it was scored hands-on or from documentation.

KitGrade badge for bullet-train-co/bullet_train

KitGrade scores Bullet Train at 92.2/100, from a hands-on install run with every command and exit status recorded.

[![KitGrade](https://toolproof.kynth.studio/badge/kitgrade/bullet-train-co/bullet_train.svg)](https://kitgrade.kynth.studio/kit/bullet-train)

Replace bullet-train-co/bullet_train with your own GitHub repository. If your project is not in this index the badge renders unknown, which is a good reason not to embed it rather than an error.

ToolDrift

subject: GitHub repository

whether the tool is active, and that its pricing and default model are re-read daily.

ToolDrift badge for anomalyco/opencode

ToolDrift tracks anomalyco/opencode as active; its pricing page and default model are re-read on a schedule and diffed against the previous capture.

[![ToolDrift](https://toolproof.kynth.studio/badge/tooldrift/anomalyco/opencode.svg)](https://tooldrift.kynth.studio/tools/opencode)

Replace anomalyco/opencode with your own GitHub repository. If your project is not in this index the badge renders unknown, which is a good reason not to embed it rather than an error.

StoreReady

subject: builder slug

whether the builder's output reaches App Store review, from cited evidence.

StoreReady badge for rork

StoreReady reads Rork as "ships with caveats" for App Store review. Every verdict is attached to numbered evidence, and a builder nobody has evidence for is published as unproven rather than given the benefit of the doubt.

[![StoreReady](https://toolproof.kynth.studio/badge/storeready/rork.svg)](https://storeready.kynth.studio/builder/rork)

Replace rork with your own builder slug. If your project is not in this index the badge renders unknown, which is a good reason not to embed it rather than an error.

BlockDex

subject: registry slug

how many items the registry publishes, enumerated nightly from its own registry.json.

BlockDex badge for shadcn-io

BlockDex enumerates 7,794 items in the shadcn-io registry, read nightly from the registry's own registry.json.

[![BlockDex](https://toolproof.kynth.studio/badge/blockdex/shadcn-io.svg)](https://blockdex.kynth.studio/registries/shadcn-io)

Replace shadcn-io with your own registry slug. If your project is not in this index the badge renders unknown, which is a good reason not to embed it rather than an error.

Which of these apply to your repository

One call answers it. Every index that holds a measurement of your repository comes back with the reading and the exact line to paste; indexes that hold nothing are absent rather than reported as a failure.

/api/v1/subjects/obra/superpowersOpen it
1curl https://toolproof.kynth.studio/api/v1/subjects/obra/superpowers
2 
3{
4 "subject": { "type": "github-repository", "repo": "obra/superpowers" },
5 "measured_by": 2,
6 "measurements": [
7 {
8 "index": "stillshipping",
9 "value": "maintained · 100",
10 "detail": "StillShipping reads obra/superpowers as maintained, freshness 100/100…",
11 "source": "https://stillshipping.kynth.studio/api/tools?limit=2000",
12 "badge": {
13 "markdown": "[![StillShipping](https://toolproof.kynth.studio/badge/…)](…)",
14 "shields": "https://img.shields.io/endpoint?url=…"
15 }
16 }
17 ]
18}

The sample above is trimmed for width. Call the URL for the whole document — no key, no account, CORS open so a browser can do it.

If you will not hotlink us — use shields.io instead

The strongest argument against README badges is that they are an image hotlink, and it is a good argument. You are asking every reader of your README to make a request to a third party, and that third party can later start logging them, change what the image says, add an advertisement — CircleCI did — or let the domain lapse and be bought by somebody else, which is what happened to pypip.in. A service you have never heard of has not earned that.

So do not give it to us. Every badge is also served in shields.io’s endpoint schema. Shields renders the image and shields is the host your readers talk to; Toolproof is only the JSON behind it, and your README never points at this domain for an image.

![StillShipping](https://img.shields.io/endpoint?url=https%3A%2F%2Ftoolproof.kynth.studio%2Fapi%2Fv1%2Fbadge%2Fstillshipping%2Fobra%2Fsuperpowers)

Works for all seven — swap the index slug and the subject in the encoded URL. The trade is styling: shields renders it in its own flat template rather than ours.

The contract

The URL will not move
https://toolproof.kynth.studio/badge/{index}/{subject}.svg is the stable form. A badge is a link somebody else maintains for us; breaking it would be breaking their page, not ours.
It always renders
There is no path through the badge endpoint that returns anything but 200 and an SVG. If an index is unreachable the badge says unknown in grey. A broken image in a README gets deleted, and deleted is permanent.
Cached for an hour, stale-served for a week
GitHub proxies and caches README images on its own account anyway, so the refresh a reader sees is theirs. An hour behind is the honest description.
CC BY 4.0
Reuse any figure with attribution to Toolproof and the date of the run it came from. The method is published; if a number is wrong it gets corrected and the correction is dated, whichever direction it moves.
Read the API How each index measures

Also from Kynth Studios

Built for the same person as Toolproof

SkillWorks

Claude Code skills and plugins, scored

skillworks.kynth.studio

StillShipping

Which agent tools have stopped shipping

stillshipping.kynth.studio

ToolDrift

What the AI coding tools changed last night

tooldrift.kynth.studio

RuleStack

AGENTS.md gallery and agent-config comparison

rulestack.kynth.studio

The studio list

One product, taken apart, once a month

Kynth Studios pulls one shipped product open every month — what it does, what it cost to build, what the pipeline behind it looks like, and what the numbers did. One email a month, nothing in between.

Double opt-in — we send one confirmation link and nothing else until you click it.

Toolproof

Built by

Kynth Studios

the studio behind SkillWorks, StillShipping and ToolDrift

Toolproof

The nine
Methodology
About

Indexes

SkillWorks
StillShipping
ToolDrift
BlockDex

Reference

Read API
index.json
Badges
Corrections

© 2026 Toolproof. A Kynth Studios product. Changelog

Toolproof

The studio list

One product, taken apart, once a month

Kynth Studios pulls one shipped product open every month — what it does, what it cost to build, what the pipeline behind it looks like, and what the numbers did. One email a month, nothing in between.

Double opt-in — we send one confirmation link and nothing else until you click it.

Toolproof

Built by

Kynth Studios

the studio behind SkillWorks, StillShipping and ToolDrift

Toolproof

The nine
Methodology
About

Indexes

SkillWorks
StillShipping
ToolDrift
BlockDex

Reference

Read API
index.json
Badges
Corrections

© 2026 Toolproof. A Kynth Studios product. Changelog

Toolproof

The studio list

One product, taken apart, once a month

Kynth Studios pulls one shipped product open every month — what it does, what it cost to build, what the pipeline behind it looks like, and what the numbers did. One email a month, nothing in between.

Double opt-in — we send one confirmation link and nothing else until you click it.

Toolproof

Built by

Kynth Studios

the studio behind SkillWorks, StillShipping and ToolDrift

Toolproof

The nine
Methodology
About

Indexes

SkillWorks
StillShipping
ToolDrift
BlockDex

Reference

Read API
index.json
Badges
Corrections

© 2026 Toolproof. A Kynth Studios product. Changelog

Toolproof