From hivemind
Read all MIND.md files with container blocks and generate docker-compose.yml service definitions between the GENERATED MINDS markers. Use after adding or modifying a containerised mind. Pass --standalone <name> to generate a minimal standalone compose for a single mind.
How this skill is triggered — by the user, by Claude, or both
Slash command
/hivemind:generate-composeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**If `--standalone <name>` is passed:** jump to [Standalone Mode](#standalone-mode) below.
If --standalone <name> is passed: jump to Standalone Mode below.
Otherwise: scan all minds/*/MIND.md files for container: blocks and regenerate the per-mind service definitions in docker-compose.yml.
For each subdirectory in minds/:
for d in minds/*/; do
name=$(basename "$d")
[[ "$name" == "__pycache__" ]] && continue
[ -f "$d/MIND.md" ] && echo "$name"
done
For each mind with a MIND.md, parse the frontmatter. Look for a container: block. If present, this mind gets its own service definition.
For each mind with a container: block, generate a docker-compose service definition:
<name>:
image: <container.image or "hive_mind:latest">
container_name: hive-mind-<name>
environment:
- MIND_ID=<name>
- HOME=/home/<name>
- PYTHON_KEYRING_BACKEND=keyrings.alt.file.PlaintextKeyring
- XDG_DATA_HOME=/home/<name>/.claude/data
<any additional container.environment entries>
volumes:
- ${HOST_PROJECT_DIR:-.}:/usr/src/app:ro
- <name>_home:/home/<name>
<any container.volumes entries>
restart: unless-stopped
networks:
- hive_mind_net
depends_on:
- server
For each containerised mind, add a named volume:
<name>_home:
Replace everything between the markers:
# BEGIN GENERATED MINDS / # END GENERATED MINDS for service definitions# BEGIN GENERATED VOLUMES / # END GENERATED VOLUMES for volume definitionsRead the current docker-compose.yml, replace the content between markers, write back.
Important: Do NOT modify anything outside the markers. The nervous system, body, and infrastructure services are hand-maintained.
docker compose config > /dev/null 2>&1 && echo "Compose config valid" || echo "INVALID — check syntax"
List which minds were generated, which were skipped (no container block), and validation result.
Generate a minimal docker-compose.yml in the current directory for a single isolated mind. This compose has no gateway, no broker, no Neo4j — just the mind container and direct access.
Template:
# Standalone Hive Mind — single mind, no federation
# Generated by /generate-compose --standalone <name>
services:
<name>:
build: .
container_name: hive-mind-<name>
environment:
- MIND_ID=<name>
- HOME=/home/<name>
- PYTHON_KEYRING_BACKEND=keyrings.alt.file.PlaintextKeyring
- XDG_DATA_HOME=/home/<name>/.local/share
- STANDALONE=true
ports:
- "8420:8420"
volumes:
- .:/usr/src/app
- <name>_home:/home/<name>
restart: unless-stopped
volumes:
<name>_home:
Write this as docker-compose.standalone.yml in the repo root (not docker-compose.yml, to avoid clobbering a federated install).
Tell the user: "Start your standalone mind with: docker compose -f docker-compose.standalone.yml up -d --build"
Validate:
docker compose -f docker-compose.standalone.yml config > /dev/null 2>&1 && echo "Compose config valid" || echo "INVALID — check syntax"
npx claudepluginhub danielstewart77/hivemind-plugin --plugin hivemindProvides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.