completionist

A final audit agent for feature work in the three.ws codebase. It reviews changed files against the project's CLAUDE.md rules before the work is reported complete.

In plain words
What is it for?
Use it at the end of a feature task to inspect the changed files and report issues for the implementing developer to fix.
Why use it?
It catches unfinished work, fake data, dead buttons or links, prohibited comments, and other repository-rule violations before handoff.

Agent for Claude Code

Install

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.

agentmods
npx agentmods add agents/nirholas/three.ws/completionist
Clone the repo
git clone --depth 1 https://github.com/nirholas/three.ws

Made for: Claude Code.

Per session 60 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,110 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce 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

Measured yesterday against content hash 7d6ba934fa31, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

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.

.claude/agents/completionist.md · 32 lines

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:

  1. Mocks and fakes. Hardcoded sample/fallback arrays, placeholder data, fake endpoints, setTimeout fake-loading or fake progress bars.
  2. Unfinished work. TODO/FIXME comments, stub functions, throw new Error("not implemented"), commented-out code.
  3. Dead paths. Buttons, links, or states with no working target or handler; features not reachable via navigation.
  4. 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.
  5. UI states. Missing loading/empty/error states; interactive elements without hover, active, and focus states; missing ARIA labels on interactive elements.
  6. 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.json with an added date. A new package/worker/service/top-level directory must have a README.md in it. A new product surface must have a STRUCTURE.md row. A new developer-facing capability (API endpoint, MCP tool, CLI, integration) must be in the relevant docs/ file. Anything a user would notice needs a data/changelog.json entry in plain language. Internal-only chores correctly get none: do not manufacture filler.
  7. 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.
  8. 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.
  9. 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:claude confirms CLAUDE.md and the agent definitions have not drifted from the repo.
  • git diff on the changed paths, for everything a regex cannot judge.

Read the full file on GitHub · 32 lines

Changes

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.

  1. yesterday First seen · 32 lines · 60 tokens per session scan A 7d6ba934fa31

Subscribe to this mod's changes

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.

Related

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.

pjt222/agent-almanac · 33 tokens

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.

heygen-com/hyperframes · 0 tokens

AGENTS.motiscope

Agent "AGENTS.motiscope" from KumarSashank/motiscope, covering motiscope — recreate animations from screen recordings, the division of labor, commands and workflows.

KumarSashank/motiscope · 0 tokens

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.

ChanMeng666/svg-animation-studio · 64 tokens

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…

ChanMeng666/svg-animation-studio · 79 tokens

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.

ChanMeng666/svg-animation-studio · 62 tokens