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 christopherkarani/Wax --skill wax-mcpgit clone --depth 1 https://github.com/christopherkarani/WaxWrote 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/christopherkarani/wax/wax-mcp)<a href="https://agentmods.dev/skills/christopherkarani/wax/wax-mcp"><img src="https://agentmods.dev/badge/skills/christopherkarani/wax/wax-mcp/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/christopherkarani/wax/wax-mcp"><img src="https://agentmods.dev/badge/skills/christopherkarani/wax/wax-mcp.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 2 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Agent Snooping · line 40 Skill reads from agent configuration directories (.claude/, .codex/, .gemini/). These directories may contain API keys, personal settings, and other credentials that the skill has no legitimate need to access.Fix: Remove all code or instructions that access agent configuration directories (.claude/, .codex/, .gemini/). If configuration values are needed, pass them explicitly as parameters or environment variabl
- medium MCP Rug Pull · line 32 npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.Fix: Pin the version: npx @scope/[email protected]
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.00078 | $0.01282 |
| Opus 5.5 | $0.00031 | $0.00513 |
| Sonnet 5.5 | $0.00016 | $0.00256 |
| Haiku 4.5 | $0.00008 | $0.00128 |
Grade B, and why
wax-mcp scanned grade B with 1 finding 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 1mo 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.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
| Codex | `wax-cli mcp install` prints the stdio block (writes it with `--write-toml-config`) + copies the skill; manual: HTTP URL in `~/.codex/config.toml` | How it starts
The opening of the file, as written. The whole thing — 101 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Wax MCP
The MCP server instructions field is the playbook. Do not restate a second
lifecycle here. Do not invoke this skill at session start.
Daily tools: remember, recall, stats. Follow the live server
instructions instead of restating them here. Aliases stay callable.
WAX_MCP_TOOLS=legacy restores the previous eight-tool playbook.
WAX_MCP_TOOLS=full lists the rest. WAX_MCP_AUTO_SESSION=0 restores
explicit-open.
Recall defaults to the current project after project/repo resolution.
Pass scope=global only for cross-project retrieval (person facts,
standing preferences). Global searches the entire local store with no
current-project rank boost. It is not an authorization boundary.
Pasteable host rules (pointer only): references/project-rules.md.
This is not the Swift framework skill. For embedding Wax in Swift apps, use
Resources/skills/public/wax.
Install / Host Setup
Stage binaries once:
npx -y waxmcp@latest install
Then wire the host, not a new prompt:
| Host | What to do |
|---|---|
| Claude Code | swift run --traits MCPServer wax-cli mcp install --scope user then claude install-skill ~/.local/share/waxmcp/skills/wax-mcp |
| Codex | wax-cli mcp install prints the stdio block (writes it with --write-toml-config) + copies the skill; manual: HTTP URL in ~/.codex/config.toml |
| Cursor | wax-cli mcp install merges the stdio entry automatically; manual: HTTP URL in ~/.cursor/mcp.json + paste references/project-rules.md |
| Hermes | Native memory.provider: wax-memory only (npx -y waxmcp@latest install-hermes-plugin). Never plugins.enabled. Never also mcp_servers.wax; do not also register generic MCP or this generic skill. Call wax_remember / wax_recall / wax_stats with no Wax UUID. |
| OpenClaw | HTTP + memory plugin + paste the SOUL.md stanza into workspace SOUL.md (replace existing ## Memory (Wax)) |
| Grok CLI | wax-cli mcp install --hosts grok prints the stdio block (writes it with --write-toml-config); daily: HTTP URL http://127.0.0.1:3000/mcp. Do not use GROK_CONFIG / GROK_CONFIG_PATH to retarget Wax. Isolated labs: project .grok/config.toml + --leader-socket (or --no-leader / GROK_HOME) — see Resources/docs/wax-mcp-hosts.md. |
| OpenCode | wax-cli mcp install --hosts opencode merges the stdio entry automatically (JSONC stays manual); manual: HTTP URL in opencode.json + paste references/project-rules.md |
| Muse Code | wax-cli mcp install registers Muse automatically (unless --skip-muse); manual: mcp_servers.wax in ~/.config/muse/settings.json (schema_version: 1): stdio wax-cli mcp serve when solo, shared http://127.0.0.1:3000/mcp with two or more clients + paste the AGENTS.md fence from references/project-rules.md |
| Other | HTTP URL + paste the AGENTS.md fence from references/project-rules.md |
What ships with it
2 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.
- 1mo ago Changed · +2 lines 65fb00f49d47
- 1mo ago Changed · -8 lines bd6927c398bd
- 1mo ago Changed · +1 lines · +23 tokens per session 485faeac7d78
- 1mo ago Changed 268b2539f173
- 1mo ago Changed · +40 lines bfa0910905e7
- 1mo ago Changed 9c1f8058de52
- 1mo ago Changed · -81 lines · -19 tokens per session 566d84787499
- 1mo ago First seen · 147 lines · 74 tokens per session scan B 2cdbd3f3bf4f
wax-mcp is a skill published in the GitHub repository christopherkarani/Wax (805 stars, last pushed 25d ago), licensed Apache-2.0. It adds 78 tokens to every session and 1,282 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
capturing-learnings
Records a real failure-and-fix pair as a project-local lesson, with the specifics that make it recognisable next time. Use when a bug, leakage mistake, or validation error was found and corrected and should not recur. Use when someone asks to save what was learned from an experiment that went wrong.
developing-with-streamlit
Use for ALL Streamlit tasks: creating, editing, debugging, beautifying, styling, theming, optimizing, or deploying Streamlit apps. Also custom components, st.components.v2, HTML/JS/CSS work. Discovers and loads version-matched reference docs from the user's installed Streamlit (>=1.57). Triggers: streamlit, st.…
distill-feedback
A process for turning corrections you give an agent into lasting working rules. It reviews saved conversations and asks for approval before changing those rules.
fast-dash
Build a Fast Dash web app from a Python function. Use when the user wants to turn a function into an interactive app, add a UI to an existing function, build a dashboard / form / wizard, add a chat assistant to an app, or make an app that AI agents can drive over MCP. Fast Dash infers UI components from type hints, so…
evaluate-ml-pipeline
Evaluate one learner with skore.evaluate. The splitter and any non-default score are already on the DataOp from build-ml-pipeline. This skill writes the call without splitter=, persists the report, and records the locator. When the locked split is the training table and test table that shipped with the data, fit on…
model-ml-pipeline
Deterministic entry point for modeling. On a first landing, write the locked baseline design note and ask for approval. Later landings offer only the choices the workspace justifies (an EDA proposal, Backlog, discussion). A missing modeling lock loads frame-ml-problem and stops. After a design is approved, coordinate…