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 skills/mehrad-dm/mastermind/initnpx skills add mehrad-dm/mastermind --skill initgit clone --depth 1 https://github.com/mehrad-dm/mastermindWhat 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.00055 | $0.02028 |
| Opus 5 | $0.00028 | $0.01014 |
| Sonnet 5 | $0.00011 | $0.00406 |
| Haiku 4.5 | $0.00006 | $0.00203 |
Grade A, and why
init 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 3d 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 — 130 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Initialize: get MasterMind ready for this project, fast
The goal: a new user goes from "installed" to "the brain is set up for my stack and knows what I'm building" in a few quick steps: a handoff, not an intake form. Detect what you can; ask the rest. Run once per project; if this project already built its field, you're set: skip this.
Nothing ships pre-baked. A fresh install carries only the engine and engineering/fields/_template/
no field, because a pack tuned to someone else's stack is worse than none (dead weight that misleads).
So init's core job is to build this project's field from the template, tuned to the real stack. This
is where the measured quality lift comes from; without it you still apply solid general judgment, but the
domain pack is the difference.
Keep it short (the #1 rule)
Detect before asking: read the answers out of the project, and make the technical calls yourself. A developed project needs zero questions: continue with its own stack. A greenfield project needs one open question ("what do you want to build?"), answered in their own words. The whole thing should feel like 20 seconds, then you're working.
Path A: the project already has code
- Detect the stack:
package.json/lockfile, configs, framework + versions, DB, test runner, folder shape (core/agent-loop.md). This is free, read it rather than asking. - Set up its field:
- This project already built a field that fits → load it. Done. (Nothing else ships, so this only happens on a re-run of a project that was set up before.)
- Otherwise: build one from
engineering/fields/_template/, tuned to the detected stack: a one-time bootstrap (levelup bootstrap), stated as a trade-off, not a menu: "a few minutes now makes me much sharper on your stack: its real defaults, pitfalls, and review rules. It's once per field, then reused for every task." Build it to fit one real stack, and keep it lean, tailoring prunes as much as it adds (active-field.md). Fill the pack's "Where things are" section from what step 1 already detected: the half-dozen entry-point pointers (components, routes, state, tests + run command, config, the one file that explains the architecture fastest). This is the narrow exception to "skip the directory listing" below: a full tree is re-derivable noise, but these few pointers are what stop every future task from re-running discovery. Then pointactive-field.mdat it and regenerate the router from the brain you are installed into:node .mastermind/scripts/build-router.mjsfor a per-project brain, the default. Under--sharedthe brain is the one in your home directory, so run that same script from there. A barescripts/…path is the project's own directory and fails with MODULE_NOT_FOUND.
- Fill the project brief (
.mastermind/brief.md). An isolated install seeds it; under--sharedthere is no project brain, so create the file yourself at that path. The field pack holds the stack; the brief holds this project: what it is, the words it uses for its own ideas, what breaks and who feels it, what cannot be undone here, and how it ships. Most of it comes from step 1. Ask the user only for what the code cannot tell you, which is usually who feels an outage and which actions are irreversible. Keep it under about 40 lines: it is read every session. This is what stops a change that is technically correct and operationally wrong. - Respect the project: match its conventions and keep the stack it already chose
(
stack-defaults.md: the project wins).
What ships with it
1 file 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.
- 3d ago First seen · 130 lines · 55 tokens per session scan A 6377e168bb12
init is a skill published in the GitHub repository mehrad-dm/mastermind (24 stars, last pushed 3d ago), licensed MIT. It adds 55 tokens to every session and 2,028 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 skills, from other repositories
tool-prompt-optimization
Optimize the description prompts an AI agent reads to learn its built-in tools (the .md files under prompts/tools/). Two halves: (1) measure how much of a prompt is already inferable from the tool's JSON parameter schema + name, to prune redundancy with evidence; (2) house authoring rules for what belongs in a tool…
semantic-compression
Re-encode verbose prose into a dense telegraphic register — punctuation as connectives, label frames, verbless assertions — without losing normativity or precision. Use when compressing system prompts, tool/function descriptions, skill bodies, or agent instructions; reducing token count or context bloat; making…
docker-extend
Use when: User wants to extend Docker with custom tools, personalize the Docker environment, or set up user-specific Docker customization. Triggers: 'extend docker', 'docker-extend', 'add tools to docker', 'customize docker', 'add my tools to the container', 'personalize docker setup', 'docker user setup', 'install…
ppt-generation
Use this skill when the user requests to generate, create, or make presentations (PPT/PPTX). Has TWO workflows: (1) Primary — AI-generated full-slide images composed via scripts/generate.py; (2) Fallback — python-pptx programmatic slides (all text editable, better for reports/project management). The fallback…
runjam-defaults
Default constraints for every RunJam session. Defines output path conventions, dependency checking rules, fallback strategies, and file management discipline. This skill is auto-injected into every session — do not remove. Current session working directory: /Users/guizhan/work/code/runjam.
database-migrations
Database migration best practices for schema changes, data migrations, rollbacks, and zero-downtime deployments across PostgreSQL, MySQL, and common ORMs (Prisma, Drizzle, Django, TypeORM, golang-migrate). Use when planning or implementing database schema changes.