mastermind-agent-select

mastermind-agent-select is a skill for Claude Code, Codex from monoes/monomind. It costs 35 tokens per session (2,363 once invoked), scanned A, original, Apache-2.0.

A shared selection utility that chooses suitable software agents from a registry for a task. It can use a connected service, a local command-line tool, or a fallback keyword match.

In plain words
What is it for?
Use it when another workflow needs to rank available agents or skills and choose one to handle a task.
Why use it?
It prevents workflows from hardcoding agent names that may not be installed. It also helps select an available specialist for a particular task.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: reads .claude/ paths; installed under .agents/ (shared by several agents).

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is mmpick() { for c in monomind ./node_modules/.bin/monomind; do.

Good fit Use it when another workflow needs to rank available agents or skills and choose one to handle a task.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/monoes/monomind
agentmods
npx agentmods add skills/monoes/monomind/mastermind-agent-select

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for mastermind-agent-select

README.md
[![agentmods](https://agentmods.dev/badge/skills/monoes/monomind/mastermind-agent-select/github.svg)](https://agentmods.dev/skills/monoes/monomind/mastermind-agent-select)
Your own site
<a href="https://agentmods.dev/skills/monoes/monomind/mastermind-agent-select"><img src="https://agentmods.dev/badge/skills/monoes/monomind/mastermind-agent-select/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.

agentmods 80×15 button for mastermind-agent-select

Your own site · 80×15
<a href="https://agentmods.dev/skills/monoes/monomind/mastermind-agent-select"><img src="https://agentmods.dev/badge/skills/monoes/monomind/mastermind-agent-select.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 35 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,363 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.1 $0.00035 $0.02363
Opus 5.5 $0.00014 $0.00945
Sonnet 5.5 $0.00007 $0.00473
Haiku 4.5 $0.00003 $0.00236

Measured 2d ago against content hash 703db91f8319, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

mastermind-agent-select 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 2d 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.

.agents/skills/mastermind-agent-select/SKILL.md · 175 lines

How it starts

The opening of the file, as written. The whole thing — 175 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Agent Selection from Registry

Use this pattern whenever a mastermind skill or command needs to select specialist agents. Never hardcode a roster: the agent set differs per install, and a subagent_type that is not installed fails at spawn time.

The pick order (always in this order)

  1. [PICK] line. When the user prompt carries a hook-injected line [PICK] agent: <name> · skill: <invoke>, use that agent/skill unless it is clearly wrong for the task.
  2. MCP tool mcp__monomind__pick (when the monomind MCP server is connected): mcp__monomind__pick({ task: "<task>", kind: "agents", categories: ["engineering"], top: 3 }) → same JSON as monomind pick --json; each agents.ranked[].name is a spawnable subagent_type, and summary is a one-line recap. Use kind: "skills" or "both" for skills.
  3. Local CLI monomind pick — the Standard Selection Block below (local binary only, never npx).
  4. Registry keyword scorer — the fallback inside the same block, when no usable CLI is installed.
  5. Fixed fallback defaults (bottom of this file) — real agent names only.

The shared index behind 2 and 3 ranks the agent registry (.monomind/registry.json, built from .claude/agents/) and every skill — Claude skills plus the Org skill library — in one call.


Standard Selection Block

# AGENT SELECTION — pick best agents for the current task
# Set these before the block:
#   REGISTRY=".monomind/registry.json"
#   PROMPT="<the user's prompt or idea description>"
#   CATEGORIES="marketing specialized"        # space-separated; see Category Map
#   TOP_N=6                                   # how many agents to return

REGISTRY="${REGISTRY:-.monomind/registry.json}"

# Local only — never npx (no registry egress). A candidate binary is accepted
# only when its output is the unified index: every skill entry carries a
# `source` field. Installs without `pick`, and pick builds that predate the
# unified index, never emit it — so the call deliberately ranks skills too
# (no --agents), and that output doubles as the version check.
mmpick() { for c in monomind ./node_modules/.bin/monomind; do
    command -v "$c" >/dev/null 2>&1 || continue
    out=$("$c" pick "$@" --json 2>/dev/null) || continue
    printf '%s' "$out" | jq -e '[.skills.ranked[]? | has("source")] | (length > 0 and all)' \
      >/dev/null 2>&1 && { printf '%s\n' "$out"; return 0; }
  done; return 127; }

selected_agents=$(mmpick -t "$PROMPT" --categories "$CATEGORIES" --top "$TOP_N" \
  | jq -c '[.agents.ranked[] | {name: (.name // .id), slug: .id, category}]' 2>/dev/null)

# Fallback when no usable CLI: score the registry against name + description +
# capabilities + tags + whenToUse (keywords of 4+ letters from the prompt).
if { [ -z "$selected_agents" ] || [ "$selected_agents" = "[]" ]; } && [ -f "$REGISTRY" ]; then
  keywords=$(echo "$PROMPT" | tr '[:upper:]' '[:lower:]' | grep -oE '[a-z]{4,}' | sort -u | tr '\n' ' ')
  selected_agents=$(jq -c \
    --arg cats "$CATEGORIES" \
    --arg kw "$keywords" \
    --argjson n "$TOP_N" \
    '($kw | split(" ") | map(select(length > 0))) as $keywords
     | [ (.agents // [])[]
         | select(.deprecated != true)
         | select(($cats | length) == 0 or (.category as $c | $cats | split(" ") | any(. == $c)))
         | . as $a
         | ([ $a.name, $a.description, ($a.capabilities // [] | join(" ")),
              ($a.tags // [] | join(" ")), ($a.whenToUse // "") ]
            | map(. // "") | join(" ") | ascii_downcase) as $text
         | {name: $a.name, slug: $a.slug, category: $a.category,
            score: ([ $keywords[] | select(. as $k | $text | contains($k)) ] | length)}
       ]
     | unique_by(.slug)
     | map(select(.score > 0))
     | sort_by(-.score)
     | .[0:$n]
     | map({name, slug, category})' \
    "$REGISTRY" 2>/dev/null)
fi

echo "${selected_agents:-[]}"

Read the full file on GitHub · 175 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. 2d ago First seen · 175 lines · 35 tokens per session scan A 703db91f8319

Subscribe to this mod's changes

mastermind-agent-select is a skill published in the GitHub repository monoes/monomind (23 stars, last pushed 2d ago), licensed Apache-2.0. It adds 35 tokens to every session and 2,363 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-10-26.

Related

Other skills, from other repositories

compare-harnesses

Diff two scaffolded harnesses (ADR-031). Reports manifest meta drift + host list + per-file fingerprint changes (added/removed/changed). Exits 0 IDENTICAL, 1 DRIFT, 2 missing manifest. Use --bundle for the ADR-031 schema-1 JSON envelope.

ruvnet/metaharness · 66 tokens

create-harness

Scaffold your own focused AI agent harness — pick host (Claude Code, Codex, pi.dev, Hermes), template, agents, skills, and ship a npm-publishable harness with its own npx CLI. Use when a user asks to "create my own agent harness", "scaffold a harness", "make a custom Claude Code plugin like ruflo", or "build a…

ruvnet/metaharness · 89 tokens

diag-harness

Kernel-version skew check (ADR-027). Reports manifest surface + manifest kernel + installed kernel + verdict (match/patch-diff/minor-diff/major-diff). Exits 1 on minor/major skew with a copy-pasteable npm install @metaharness/[email protected] next step. Exits 2 if no .harness/manifest.json at path.

ruvnet/metaharness · 85 tokens

example-harness

Scaffold a ready-made AI agent harness in one command from the 19 published @metaharness/ example packages — 9 host integrations (Claude Code, Codex, Hermes, pi.dev, OpenClaw, RVM, Copilot, OpenCode, GitHub Actions) + 10 vertical pods (devops, research, trading, support, legal, coding, education, sales, gaming…

ruvnet/metaharness · 90 tokens

oia-manifest

Emit .harness/oia-manifest.json declaring layer alignment with the OIA v0.1 9-layer reference architecture. Self-describes the harness's MCP wiring, witness signing, audit log, identity posture (always 'none' at v0.1). --check verifies an existing manifest, --dry-run prints without writing, --json emits to stdout.

ruvnet/metaharness · 79 tokens

repo-genome

7-section readiness scorecard for a LOCAL repo. Reports repo type + agent topology + MCP risk + test confidence + release readiness + recommended harness plan + scorecard. Exit 0 ready, 1 needs-work, 2 blocked. --json for the 6-field scorecard, --bundle for the ADR-031 schema-1 envelope.

ruvnet/metaharness · 73 tokens