Hmbown/CodeWhale is an open-source coding agent that runs in the terminal and is written in Rust. Developers use it to inspect repositories, edit files, run commands, and coordinate work with configurable model providers, skills, MCP servers, and approval controls; the catalogue entries extend its available workflows.
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 Hmbown/CodeWhale --skill plugin-creatorgit clone --depth 1 https://github.com/Hmbown/CodeWhaleWrote 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/hmbown/codewhale/plugin-creator)<a href="https://agentmods.dev/skills/hmbown/codewhale/plugin-creator"><img src="https://agentmods.dev/badge/skills/hmbown/codewhale/plugin-creator/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/hmbown/codewhale/plugin-creator"><img src="https://agentmods.dev/badge/skills/hmbown/codewhale/plugin-creator.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Snyk pass
- NVIDIA SkillSpector pass
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.00029 | $0.01043 |
| Opus 5.5 | $0.00012 | $0.00417 |
| Sonnet 5.5 | $0.00006 | $0.00209 |
| Haiku 4.5 | $0.00003 | $0.00104 |
Grade A, and why
plugin-creator 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 17d 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.
How it starts
The opening of the file, as written. The whole thing — 87 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Plugin Creator
Use this skill when a user wants a local Codewhale plugin bundle. Trusted and
enabled bundles may add declarative Skills, commands, agents, hooks, and MCP
servers (stdio and remote) through the existing engines. LSP, filesystem
roots, and lifecycle mutation are inventory-only. Native extensions (host
code) are inventory-only unless the user has turned on the experimental
[features] extension_host flag.
Workflow
- Pick a Codewhale-owned location:
- User bundle:
~/.codewhale/plugins/<plugin-name>/ - Workspace bundle:
<workspace>/.codewhale/plugins/<plugin-name>/
- User bundle:
- Normalize the bundle name to lowercase hyphen-case.
- Create
plugin.json(Agent Plugins v1.0.0; a legacyplugin.tomlstays readable, but new bundles useplugin.json):
{
"$schema": "https://agent-plugins.org/schemas/plugin.json",
"name": "my-plugin",
"version": "0.1.0",
"description": "What this bundle provides"
}
- Put each Skill under
skills/<skill-name>/SKILL.md; Codewhale findsskills/automatically and exposes each asmy-plugin:<skill-name>, never as an unqualified command. - Add MCP servers in a sibling
mcp.jsononly when the bundle needs an existing MCP engine. Keep stdio commands and paths inside the bundle. Map local environment values only as exact${SOURCE_ENV}references. For remote MCP, use HTTPS (or loopback HTTP), forbid URL user information/query/fragment, use only environment-backed headers or bearer tokens, and declare the exact normalized endpoint host set incapabilities.network_hostsunderextensions["net.codewhale"]. Never place credentials in the manifest. - Commands (
commands/*.md), agents (agents/*.toml), and hooks (hooks/*.toml), declared underextensions["net.codewhale"], activate under the current policy — workspace bundles win same-name collisions over user and built-in bundles. LSP, filesystem roots, and lifecycle mutation are inventory-only: declare them only when inventorying future work. Anativeentry runs only under the experimental extension host; there it must be one.mjs,.jsor.mtsES module file,/plugin validaterejects anything else, and its tools always useRequiredapproval, never a plugin's read-only hint. Full Access, Bypass, or an exact session grant for the reviewed build can satisfy that gate without a prompt. A bundle that declares only unsupported surfaces cannot be enabled. - Validate and review without executing bundle content:
/plugin validate <plugin-name>/plugin show <plugin-name>- stop and present these results; the person runs
/plugin enable <plugin-name>to open the content/capability review, reviews it, runs the exact/plugin trust ...confirmation shown, then enables the bundle
- Verify
/skills inspectreports plugin provenance and/plugin listreports the expected trust and activation state. Trust stages the reviewed content but does not activate it. After enablement, follow the host's reload notice: use/reloador a new session to apply changes to a live session's pinned skills and tools.
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 17d ago Changed · +24 lines c761d6774b75
- 26d ago Changed · +2 lines 32139a0bdcf5
- 1mo ago Changed · +1 lines 8bc868fa92cf
- 1mo ago First seen · 60 lines · 29 tokens per session scan A 09521548e0d7
plugin-creator is a skill published in the GitHub repository Hmbown/CodeWhale (41,081 stars, last pushed 6d ago), licensed MIT. It adds 29 tokens to every session and 1,043 once invoked, about $0.0001 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-08-30.
Other skills, from other repositories
cw-dogfood
Use when a Codewhale change needs proving in the real product, or when asked to build/install/dogfood the local binaries: stamped release build, atomic install, fresh-shell verification, and the manual QA that gates cannot cover.
cw-gates
Use before claiming any Codewhale change is done, green, or ready to land: the focused-to-broad verification ladder, the budget checks CI enforces, and the rules for what counts as a passing test.
cw-land
Use when turning verified Codewhale work into commits, branches, or a merge: choosing direct-main vs. worktree vs. integration branch, preserving contributor credit, and honoring the gate artifact before merging.
cw-slice
Use before writing code for any Codewhale feature, upgrade, or refactor: find the existing owner of the behavior, bound the change to one reviewable slice, and fix the evidence bar before you start.
cw-handoff
Use when writing a Codewhale takeover prompt, continuation note, or end-of-session summary for another agent or a later session: a paste-ready handoff grounded in live state, with done/suspected/blocked kept separate.
cw-orient
Use at the start of any Codewhale work session, or when unsure which checkout, branch, or worktree is authoritative: establish live repo truth before reading a plan or editing a file.