Borrowing it
Nothing to install: this file belongs to mereditharmcgee/the-commons. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/mereditharmcgee/the-commons/main/.claude/commands/deploy-check.mdgit clone --depth 1 https://github.com/mereditharmcgee/the-commonsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/mereditharmcgee/the-commons/deploy-check)<a href="https://agentmods.dev/commands/mereditharmcgee/the-commons/deploy-check"><img src="https://agentmods.dev/badge/commands/mereditharmcgee/the-commons/deploy-check/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/mereditharmcgee/the-commons/deploy-check"><img src="https://agentmods.dev/badge/commands/mereditharmcgee/the-commons/deploy-check.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.00890 |
| Opus 5.5 | $0.00000 | $0.00356 |
| Sonnet 5.5 | $0.00000 | $0.00178 |
| Haiku 4.5 | $0.00000 | $0.00089 |
Grade A, and why
deploy-check scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
Pre-push checklist for The Commons:
- Verify no console.log statements left in js/ files
- Check that js/config.js has no hardcoded dev/test values
- Validate all HTML files reference the correct JS and CSS paths
- Confirm no sensitive data in committed files
- Run a quick scan of recent changes for broken links or references
- If a page was added, removed, or turned into a redirect stub, update sitemap.xml: list only real pages (no meta-refresh stubs) and list the page a stub points to
- Run
node --test tests/page-heads.test.js. It checks every root page's CSP meta tag and shared includes, and each failure names the page and the fix:- An inline
<script>was added or edited: the failure prints the exact'sha256-...'that page needs (the hash of the LF-normalized block, which is what the browser hashes even from a CRLF checkout). Put it in that page'sscript-src. Never add'unsafe-inline'. Inlineonclick=and other handler attributes are blocked; useaddEventListenerinstead. - A CDN script was added or its version changed: put its exact file URL in
script-srcon every page that loads it, and give the tagintegrity(SRI) andcrossorigin="anonymous". Never allow the barehttps://cdn.jsdelivr.nethost: it serves any npm or GitHub file.
- An inline
- Cache-busting. Cloudflare keeps js/css in browsers for 4 hours, so a
changed file needs a new URL or returning visitors run new pages against
old shared code.
- The shared includes (
js/config.js,js/utils.js,js/utils-render.js,js/utils-context.js,js/auth.js,js/nav.js,css/style.css) carry one site-wide token,?v=YYYYMMDDof the push (add a letter for a second push that day, e.g.20261020b). If the push changes any of them, set a new token on every page from the repo root (works in PowerShell and bash):node -e "const fs=require('fs');const v=process.argv[1];const re=/((?:src|href)=\x22)(js\/(?:config|utils|utils-render|utils-context|auth|nav)\.js|css\/style\.css)(?:\?v=[\w.-]+)?(?=\x22)/g;for(const f of fs.readdirSync('.')){if(f.endsWith('.html'))fs.writeFileSync(f,fs.readFileSync(f,'utf8').replace(re,(m,a,b)=>a+b+'?v='+v));}" 20261020The page-heads test fails if any page disagrees or a shared include has no token. - Page scripts carry their own token (
js/discussion.js?v=r4). If the push changes one, bump it on every page that loads it, and add?v=r1if it has none. The same goes forcss/admin.cssandcss/remote-participation.css. - The page-heads test enforces both rules against the commit where this
branch left
origin/main: any js/css file that differs from that commit must be loaded under a URL that commit never used, and the failure lists every page and URL still pointing at a cached copy. When several branches merge into one push, run it on the merged tree, since each branch alone can pass while the merge pairs one branch's script change with another branch's untouched tag. To compare against a different commit, setCOMMONS_CACHE_BASEto its SHA (PowerShell:$env:COMMONS_CACHE_BASE='<sha>'). js/notifications.jshas no page tag;js/nav.jsinjects it. If it changes, change the URL nav.js uses for it, which makes nav.js a changed shared include too.
- The shared includes (
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago Changed · +38 lines d09890fd89af
- 1mo ago First seen · 8 lines · 0 tokens per session scan A 0e6169d8b0f1
deploy-check is a command published in the GitHub repository mereditharmcgee/the-commons (3 stars, last pushed 4d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 890 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
release-open
Execute the Big-AGI release process.
context
A project-context command that manages a .context directory containing decision notes, session logs, and history. It helps keep a record of why changes were made across Git branches and commits.
grep-history
Search git history for commits that introduce or remove an exact string, within a commit range.
rollback
An interactive Git command for moving a branch back to an earlier commit, tag, or saved reference. It supports reset, which changes branch history, and revert, which adds new commits that undo earlier ones.
clean-branches
A Git command for finding and safely removing local or remote branches that are already merged or have not been updated for a chosen number of days. Git branches are separate lines of code history used for features, fixes, or experiments.
backport
Backport a feature across branch lines (e.g. dev -> main) as a re-implementation, then prove it with a trial rebase of the source line.