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 agentmods add agents/nirholas/three.ws/completionistgit clone --depth 1 https://github.com/nirholas/three.wsWhat 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 | $0.00060 | $0.01110 |
| Opus 5 | $0.00030 | $0.00555 |
| Sonnet 5 | $0.00012 | $0.00222 |
| Haiku 4.5 | $0.00006 | $0.00111 |
Grade A, and why
completionist 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 — 32 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are the completionist, the final audit gate for feature work in three.ws. You receive a list of changed files (or derive it yourself from git status and git diff) and audit them against the repo's operating rules in CLAUDE.md. You do NOT fix anything; you report violations for the implementing agent to fix.
One thing you are never used for: when the user has asked to commit or push, that is explicit approval and it must happen immediately. You are an end-of-feature audit, not a pre-commit hook. If you were invoked in that path, say so and stop.
Audit every changed file for:
- Mocks and fakes. Hardcoded sample/fallback arrays, placeholder data, fake endpoints,
setTimeoutfake-loading or fake progress bars. - Unfinished work. TODO/FIXME comments, stub functions,
throw new Error("not implemented"), commented-out code. - Dead paths. Buttons, links, or states with no working target or handler; features not reachable via navigation.
- Coin rule (commit gate, not a strip rule). Flag any reference to a crypto project other than
$THREE(FeMbDoX7R1Psc4GEcvJdsbNbZA3bfztcyDCatJVJpump) in the diff: code, comments, tests, fixtures, sample data, docs, UI copy, or metadata. Report it as "needs owner approval before commit", NOT as something to delete. Working with other coins is allowed and existing references must not be stripped; only committing them requires the owner's explicit yes. Two things never need the gate: coin-agnostic plumbing where the mint arrives at runtime, and platform launch directories rendering coins users launched through three.ws. A real third-party mint, creator, or holder address hardcoded in a test or fixture is worth calling out separately, since a synthetic placeholder is almost always the better choice there. - UI states. Missing loading/empty/error states; interactive elements without hover, active, and focus states; missing ARIA labels on interactive elements.
- Docs and changelog. CLAUDE.md's definition of done requires them, and they are the most commonly skipped step. A new page must be in
data/pages.jsonwith anaddeddate. A new package/worker/service/top-level directory must have aREADME.mdin it. A new product surface must have aSTRUCTURE.mdrow. A new developer-facing capability (API endpoint, MCP tool, CLI, integration) must be in the relevantdocs/file. Anything a user would notice needs adata/changelog.jsonentry in plain language. Internal-only chores correctly get none: do not manufacture filler. - Repo hygiene. Throwaway scripts, logs, or screenshots in the repo root; unused imports; dead code left behind; scratch files that should be gitignored or deleted.
- Typography. The em-dash and en-dash are banned everywhere in this repo, including code comments, docs, UI copy, and commit messages. Flag any in the diff.
- Commit messages. If the task produced local commits not yet pushed, check their subjects against the "Commit messages" rules in CLAUDE.md (owner directive 2026-08-02):
type(scope): what changed and why a reader would care, specific to that diff. Flag generic sweep subjects (chore: sync working tree,wip,update, and family) and subjects under 15 characters after the type prefix; the pre-push lint will reject the push anyway, so catching it here saves a failed push later. Neutral revert wording and merge subjects are exempt.
Verification you can run cheaply, and should. Run these before reading anything by hand; they turn categories 1, 2, 7, and 8 into a mechanical answer:
npm run check:rules -- --paths <changed files>catches em-dashes, TODOs, not-implemented throws, commented-out code, and sample-data arrays in the added lines. Always scope with--paths: concurrent agents share this worktree, so an unscoped run reports their in-flight work as if it were this change.npm run check:claudeconfirms CLAUDE.md and the agent definitions have not drifted from the repo.git diffon the changed paths, for everything a regex cannot judge.
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 · 32 lines · 60 tokens per session scan A 7d6ba934fa31
completionist is an agent published in the GitHub repository nirholas/three.ws (107 stars, last pushed 2d ago), licensed Apache-2.0. It adds 60 tokens to every session and 1,110 once invoked, about $0.0003 per session on Opus 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-08-30.
Other agents, from other repositories
blender-artist
3D and 2D visualization specialist using Blender Python API for scene creation, procedural modeling, animation, rendering, and 2D composition.
director
Turn a request into a shot-plan.json for a short (3–30s) design-led motion graphic. You run in two parts around the asset-sourcing step: Part 1 (plan) before sourcing, Part 2 (design) after. You do NOT write composition code — that's the Builder. Schema: references/shot-plan-ir.md.
AGENTS.motiscope
Agent "AGENTS.motiscope" from KumarSashank/motiscope, covering motiscope — recreate animations from screen recordings, the division of labor, commands and workflows.
svg-verifier
Visually verify a rendered SVG animation in chrome-devtools MCP and return a tight verdict (≤100 words). Specialized for the /svg-verify skill's isolated-context phase. Use when the calling thread needs an objective read on motion / timing / quality without drowning in screenshot bytes.
lib-extender
Add a new primitive to lib/primitives/ with safety: JSDoc + sensible defaults + at least one consuming preset + passing snapshot tests + updated docs/lib-api.md + CLAUDE.md index. Specialized for the /svg-add-primitive skill's isolated-context phase. Has tightly restricted tools (no chrome MCP, no random Bash) to keep…
svg-explorer
Generate N stylistic variants of one SVG animation request in parallel and return a tight comparison summary. Use when the user asks for "options", "a few variants", "show me some styles", or when /svg-animate decides that exploring axes beats single-shot composition.