Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add wiber/thetacog-mcp --skill licence-admingit clone --depth 1 https://github.com/wiber/thetacog-mcpWrote 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/skills/wiber/thetacog-mcp/licence-admin)<a href="https://agentmods.dev/skills/wiber/thetacog-mcp/licence-admin"><img src="https://agentmods.dev/badge/skills/wiber/thetacog-mcp/licence-admin/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/skills/wiber/thetacog-mcp/licence-admin"><img src="https://agentmods.dev/badge/skills/wiber/thetacog-mcp/licence-admin.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.00197 | $0.02125 |
| Opus 5.5 | $0.00079 | $0.00850 |
| Sonnet 5.5 | $0.00039 | $0.00425 |
| Haiku 4.5 | $0.00020 | $0.00213 |
Grade A, and why
licence-admin 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 yesterday.
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.
How it starts
The opening of the file, as written. The whole thing — 58 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/licence-admin: the operator's licence desk
The install and the measurement are free and open-source (MIT); only the financialization/attestation layer is licensed. /licence is the buyer's side of that layer. This is the issuer's side: the credits ledger, the licence tape, the keyring and the funnels, run with the same code the operator runs at home. Every command is a door of the published package, npx thetacog-mcp <door>. If a door fails with "unknown command", the installed package is older than this skill: run npx -y thetacog-mcp@latest skills and try again.
These doors need the operator's own keys. Each one reads them from .env.local in the current folder, or from the environment. Without them a door prints one line naming what is missing, for example grant: needs NEXT_PUBLIC_SUPABASE_URL (or SUPABASE_URL) and SUPABASE_SERVICE_ROLE_KEY (in .env.local or the environment) — operator-only, and exits 2 having read and written nothing. Say that line back as it is. Never ask for a key in chat, and never put one on a command line.
The rule for every door: dry first, live on his word
- Run it dry. Every write door prints what it would do (
DRY-RUN (add --live)) and writes nothing. Read that line back in one sentence: who, how many credits, which ref. - Run it live only after the operator says so in this session, for this action. A dry run he approved yesterday is not today's yes.
- Writing the production ledger or the tape, and sending email, are the operator's act. The door does the write when he says go; the skill never arms one on its own, never retries a live write that failed, and never says "done" before the live output shows the row appended.
- Every live grant action appends one row to
data/meetings/grant-actions.ndjsonin this folder and commits that row by itself. The output prints the commit sha. If there is no sha, the action did not happen.
The doors
| what you want | door |
|---|---|
| who held a meeting, who has an address | npx thetacog-mcp grant status |
| mint licence credits to an email (default $100 = 5 licences) | npx thetacog-mcp grant mint --account <email> [--usd <N>] |
| one street licence for a reply (one per address, capped) | npx thetacog-mcp grant mint --street --account <email> |
| a claim link for someone known only by name | npx thetacog-mcp grant link --who "<name>" [--usd <N>] |
| move an unclaimed grant to another address | npx thetacog-mcp grant move --from <email> --to <email> [--ref <grant ref>] |
| take a grant back | npx thetacog-mcp grant revoke --account <email> [--ref <grant ref>] |
| an in-thread note through the send pipeline | npx thetacog-mcp grant note --to <email> --subject "<thread subject>" --note "…" |
| receipt a message already sent by Gmail | npx thetacog-mcp grant sent --to <email> --id <message id> --what "…" |
| put every meeting attendee on the book club | npx thetacog-mcp grant enroll |
| every claim link, latest first, with live status | npx thetacog-mcp claim-links --no-open |
issue a licence key (local key file; --tape also records it) |
npx thetacog-mcp issue-key --email <email> [--company "<name>"] [--tape] |
| is a licence minted or revoked on the tape | npx thetacog-mcp revoke-key --license lic_<id> --status |
| revoke a licence on the tape | npx thetacog-mcp revoke-key --license lic_<id> --reason "…" [--replaced-by lic_<id>] |
| the keyring, ordered by mint time | npx thetacog-mcp keyring |
| sign and write the public half of the keyring | npx thetacog-mcp keyring --publish |
| the licence funnel in one line (installs, fetches, bought, not ours) | npx thetacog-mcp licence-funnel |
| the paid funnel by stage, and the biggest drop | npx thetacog-mcp paid-funnel --no-write |
| what one $20 licence costs to serve | npx thetacog-mcp licence-economics |
| the whole licence flow end to end on a local database | npx thetacog-mcp licence-e2e |
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.
- yesterday First seen · 58 lines · 197 tokens per session scan A fc1abd8833d1
licence-admin is a skill published in the GitHub repository wiber/thetacog-mcp (1 stars, last pushed yesterday), licensed MIT. It adds 197 tokens to every session and 2,125 once invoked, about $0.0008 per session on Opus 5.5. 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-11-06.
licence-admin compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| licence-adminwiber/thetacog-mcp | Skill | 1 | yesterday | MIT | A | 197 | Claude Code, Codex |
| ap-models-authagentproto/ts | Skill | 9 | today | Apache-2.0 | A | 69 | Claude Code, Codex |
| billingfootprintjs/agentfootprint | Skill | 21 | yesterday | MIT | A | 15 | Claude Code, Codex |
| finanz-versicherungellmos-ai/skills | Skill | 9 | today | MIT | A | 27 | Claude Code, Codex |
| ai-unit-economicsVandanaAjayDubey111/great-pm | Skill | 3 | 1mo ago | MIT | A | 94 | Claude Code |
| cost-modelVandanaAjayDubey111/great-pm | Skill | 3 | 1mo ago | MIT | A | 65 | Claude Code |
| pm-costVandanaAjayDubey111/great-pm | Skill | 3 | 1mo ago | MIT | A | 46 | Claude Code, Codex |