Add a geo-score badge to your README
geo-score can write your score and band as a badge for a README: a committed SVG, or shields.io endpoint JSON that stays current without a new image. The badge is optional and changes nothing: it never moves a score, and it never decides whether or where a site appears on the public leaderboard.
How do I make an SVG badge?
geo-score example.com --badge docs/aiv-badge.svg
The badge is shaped like the build badges you already have. It carries the score, the band and an accessible label; its colour follows the band, and a score capped by a gate at zero says (gate capped). Commit it next to your README and link it to what the number means:
[](https://github.com/jianruntech/geo-score)
A committed SVG shows the run that wrote it, and nothing newer.
How do I keep a badge current?
Write the same badge as shields.io endpoint JSON, publish the file anywhere a URL can reach (a raw file in a repository, a gist, a release asset, your own site), and point shields.io at that URL:
geo-score example.com --badge-json aiv-badge.json
{"schemaVersion": 1, "label": "AIV readiness", "message": "71/100 Solid", "color": "#2f8f52", "cacheSeconds": 86400}

shields.io caches the JSON for a day (cacheSeconds). The badge is as current as the last run that wrote the file, so re-run it on a schedule or after a deploy.
Can the GitHub Action write the badge?
Yes. Set the badge input to a path: a path ending in .json gets the endpoint JSON, any other path the SVG, and the badge-path output says where it went. Committing or publishing the file is a step of your own workflow. See GitHub Action.
Does a badge help my place on the leaderboard?
No. A badge or a link back never moves a score and never decides whether or where a site appears on the public leaderboard. A site joins the leaderboard through the "Add a site" route in the contributing guide, never in exchange for a link.