golem-install
Skill0 starsChanged 16 days agoApache-2.0View on GitHub
Setup wizard + skill lister. Triggers: setup, wizard, set up/install golems, new machine, list/search/show skills.
- Pipes a download into a shell
- Reads credentials
- Installs packages
In this repository64 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- verify-lead-waitSkill
- verify-merge-receiptsSkill
- branded-docSkill
- explanatory-docSkill
- 1passwordSkill
- agada-benchSkill
- agent-browserSkill
- agent-routingSkill
- architectural-conformance-auditSkill
- audio-dashboardSkill
- brain-store-fallbackSkill
- claude-desktop-researchSkill
- cmux-agentsSkill
- cmuxSkill
- coachSkill
- coderabbitSkill
- codex-workflowsSkill
- collab-monitorSkill
- content-demo-creationSkill
- convention-auditSkill
- cursor-workflowsSkill
- cyberSkill
- deploy-verifySkill
- drive-filingSkill
- eas-prebuild-checkSkill
- ecosystem-healthSkill
- eli5Skill
- false-green-gateSkill
- figma-loopSkill
- fleet-wrap-gateSkill
- fleet-wrapSkill
- frustration-captureSkill
- gemini-researchSkill
- git-guardianSkill
- github-researchSkill
- grill-meSkill
- heredoc-guardSkill
- html-dashboardSkill
- human-confirm-gateSkill
- i-have-adhdSkill
- install-runbook-linterSkill
- large-planSkill
- m1-window-gateSkill
- model-pin-gateSkill
- never-fabricateSkill
- orcSkill
- plan-councilSkill
- pr-loopSkill
- qa-verdict-gateSkill
- qa-videoSkill
- repogolemSkill
- research-lifecycleSkill
- reviewer-order-gateSkill
- session-handoffSkill
- skill-creatorSkill
- stitch-designSkill
- t3-visualsSkill
- tmp-blockSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 0 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 27
Run bash <golem-install-dir>/scripts/install-python.sh to provision the golems-owned ~/.golems/venv with hash-pinned PyYAML before MCP …
- Very specific: line 29
Config: read or create ~/.golems/config.yaml.
- Very specific: line 48
BrainLayer: check BrainBar + brain_search.
- Very specific: line 51
Never: enable a feature without consent · write config with a nonexistent path · overwrite config without asking · replace …
- Very specific: line 135
Ensure ~/.claude/CLAUDE.md exists with global instructions.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Golem Setup Wizard
First-time setup for the golems ecosystem on a new Mac. Checks deps, wires MCPs, symlinks skills. Also the role-aware fresh-machine wizard (formerly
wizard) and the installed-skill lister (formerlyskills).
| Ask | Go to |
| "set up golems", "new machine", "install golems" | this page, top to bottom |
| "run the wizard", role-aware config + repo actions | § Fresh-machine wizard → references/wizard.md |
| "list / search / show my skills" | § List installed skills → references/list-skills.md |
Fresh-machine wizard
CARDINAL RULE: all opt-in features are OFF by default. The user explicitly enables each one.
Full procedure: references/wizard.md; phase checklist:
workflows/wizard-setup.md. Preflight:
bash <golem-install-dir>/scripts/wizard-preflight.sh.
- Prerequisites:
brew node bun claude gh git, all 6 required; thengh auth status. Runbash <golem-install-dir>/scripts/install-python.shto provision the golems-owned~/.golems/venvwith hash-pinned PyYAML before MCP config sync. - Config: read or create
~/.golems/config.yaml.machineRoleisworkspaceordaemon-host, asked, never inferred; the workspace root must exist. - Artifacts and repos:
bun <golem-install-dir>/scripts/repo-action.mjs "$MACHINE_ROLE"readsrelease-gate.json(the only classification):INSTALLnever clones,CLONEonly forkind:"none"on a workspace,REFUSEclones nothing. Thenbun <golem-install-dir>/scripts/install-codex-config.mjs --source-dir <source>/config/codexrenders the implementation/internal-mechanical roles into the two model keys, preserving all non-model settings. Thenbun <golem-install-dir>/scripts/install-cmuxlayer-fleet.mjswrites cmuxlayer's~/.config/cmuxlayer/fleet.json(golems coordination/outbox/launcher paths) only if absent; add--with-worktree-bootstraponly once the installed cmuxlayer supports that key (after #857). - MCP:
golems/scripts/sync/sync-config.sh --diff, confirm, then--enforce. .claude.local.mdin each existing checkout that has aCLAUDE.md(gitignored). A machine whose skill links point at a stale~/.golems/skillscopy:bun <golem-install-dir>/scripts/repoint-skills.mjs --source <clone>/skills/golem-powers(dry-run;--applyrepoints and drops dangling links, per-root counts for~/.claude/skills,~/.agents/skills,~/.codex/skills,~/.gemini/config/skills; a missing root is skipped). Gemini sees only a few skills: add--link-missingto create~/.gemini/config/skills/<name>→../../../.agents/skills/<name>for each golems skill linked in~/.agents/skillsbut absent there (never overwrites; skipped without~/.gemini/config; dry-run unless--apply; reportslinked=N). The Gemini CLI reads global skills only from~/.gemini/config/skills;~/.gemini/antigravity/skillsis left alone.- BrainLayer: check BrainBar +
brain_search; never block setup on it. - Report: one line per release-gate result, including
REFUSEand failures.
Never: enable a feature without consent · write config with a nonexistent path · overwrite config
without asking · replace ~/.codex/config.toml · proceed without all 6 tools · clone without a
confirmed workspace path, or when machineRole is missing/unrecognised/daemon-host, or an
installable/unclassified repo · --enforce before showing --diff · commit .claude.local.md.
List installed skills
"What skills do I have?", "search skills for git", "show my skills": run the scan in
references/list-skills.md over ~/.claude/skills/ and present one
table per category (Infrastructure / Domain / Custom) with name, description, source, workflow
count. Show descriptions, never full SKILL.md bodies. This is not for invoking a skill; invoke
that skill directly. The repo's catalog truth is node scripts/ci/check-skill-library.mjs.
Required CLIs
| CLI | Purpose | Install |
gh | GitHub — PRs, issues | brew install gh |
op | 1Password — secrets | brew install 1password-cli |
bun | TypeScript runtime | curl -fsSL https://bun.sh/install | bash |
cr | CodeRabbit — code review | brew install coderabbitai/tap/cr |
git | Version control | pre-installed on macOS |
jq | JSON processing | brew install jq |
fswatch | File watching | brew install fswatch |
# Check all at once
for cmd in gh op bun cr git jq fswatch; do
which $cmd >/dev/null 2>&1 && echo "✅ $cmd" || echo "❌ $cmd — needs install"
doneSkill Symlinks
Release skills live in $HOME/.golems/current/skills/golem-powers/. The discovery root depends on which CLI you use:
| CLI | Skill directory | Notes |
| Claude Code | ~/.claude/skills/ | The only supported target. CC reads <name>/SKILL.md one level deep. |
~/.claude/commands/ | — | Do not install here. CC walks it recursively, so every workflows//references/ file lists as its own "skill". Delete any golem-powers entries. |
| Codex | ~/.agents/skills/ | Codex reads from ~/.codex/skills/ → symlinked to ~/.agents/skills/ |
| Cursor / Gemini | ~/.agents/skills/ |
The release installer links the separate Claude and agents lists in
skills/catalog.json; shared helpers without SKILL.md are never installed as
skills. Existing foreign-repo links and real directories are preserved. Use the
release installer to keep this curated set instead of linking every library directory:
curl -fsSL https://raw.githubusercontent.com/EtanHey/golems/master/scripts/release/install.sh | sh -s -- --channel nightly
# Opt in to migrating only links that resolve into a golems checkout's skills/:
# append --replace-checkout-links to the command above.The catalog mirrors the owner's per-root installed-skill scan; the library checker
still counts all available skills. Updates remove only retired release-owned links.
For legacy commands/ cleanup, use
bash <golem-install-dir>/scripts/cleanup-legacy-commands.sh --golems-dir <clone>.
For authorized pinned design skills, use the separate vendor mode in
setup-symlinks.
It installs only the providers in skills/vendor/manifest.json; do not glob vendor
folders into the golem-powers catalog or expose them through shared roots.
MCP Servers
Wire these MCPs via ~/.mcp.json (at $HOME/Gits/ for cross-repo access):
| MCP | Binary | Purpose |
| brainlayer | brainlayer-mcp | Memory search + store |
| voicelayer | voicelayer-mcp | TTS + STT |
| supabase | via config | Database |
# Verify MCP binaries
which brainlayer-mcp || echo "Run: cd $HOME/Gits/brainlayer && bun link"
which voicelayer-mcp || echo "Run: cd $HOME/Gits/voicelayer && bun link"Context7 is opt-in per repository. Do not install it globally or for infra seats; configure it only when a project explicitly requests library documentation lookup.
Global CLAUDE.md
Ensure ~/.claude/CLAUDE.md exists with global instructions. Template lives at:
$ORCHESTRATOR_REPO/standards/1Password Items Needed
| Item | Vault | Fields |
golems | development | linear.API_KEY |
ANTHROPIC | development | API_KEY |
Agents never call op for a routine check: each call asks Etan for Touch ID. Verify the key files
instead, and check 1Password only when Etan is there to approve:
bash scripts/validate.sh # key files present and private; no op calls
bash scripts/validate.sh --with-1password # also op checks; Touch ID prompts, Etan presentGolem Terminal (Optional)
Native macOS terminal for running agents:
cd $HOME/Gits/golem-terminal && bash install.shConfig lives at: ~/Library/Application Support/golem-terminal/golems.toml
Validation Checklist
echo "=== Golem Setup Validation ==="
echo "CLIs:"
for cmd in gh op bun cr git jq; do which $cmd >/dev/null 2>&1 && echo " ✅ $cmd" || echo " ❌ $cmd"; done
echo "Skills (Claude Code — ~/.claude/skills/):"
skill_count=$(ls ~/.claude/skills/ 2>/dev/null | wc -l | tr -d ' ')
[ "$skill_count" -gt "30" ] && echo " ✅ $skill_count skills in ~/.claude/skills/" || echo " ❌ Only $skill_count skills in ~/.claude/skills/ (expected 40+). Run the symlink step above."
echo "Skills (Codex/other — ~/.agents/skills/):"
agents_count=$(ls ~/.agents/skills/ 2>/dev/null | wc -l | tr -d ' ')
[ "$agents_count" -gt "5" ] && echo " ✅ $agents_count skills in ~/.agents/skills/" || echo " ⚠️ Only $agents_count skills in ~/.agents/skills/ (run setup-symlinks for your CLI)"
echo "MCPs:"
which brainlayer-mcp >/dev/null 2>&1 && echo " ✅ brainlayer-mcp" || echo " ❌ brainlayer-mcp"
which voicelayer-mcp >/dev/null 2>&1 && echo " ✅ voicelayer-mcp" || echo " ❌ voicelayer-mcp"
echo "Codex safety defaults (-s is a compatibility no-op):"
awk '/^[[:space:]]*\[/{exit} /^[[:space:]]*approval_policy[[:space:]]*=[[:space:]]*"never"[[:space:]]*$/{found=1} END{exit !found}' ~/.codex/config.toml 2>/dev/null && echo " ✅ approval_policy = never" || echo " ❌ Set top-level approval_policy = \"never\" in ~/.codex/config.toml"
awk '/^[[:space:]]*\[/{exit} /^[[:space:]]*sandbox_mode[[:space:]]*=[[:space:]]*"danger-full-access"[[:space:]]*$/{found=1} END{exit !found}' ~/.codex/config.toml 2>/dev/null && echo " ✅ sandbox_mode = danger-full-access" || echo " ❌ Set top-level sandbox_mode = \"danger-full-access\" in ~/.codex/config.toml"
echo "=== Done ==="Troubleshooting
Homebrew not installed:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"1Password CLI not connecting to app:
- Open 1Password 8 desktop
- Settings → Developer → Enable CLI integration
- Enable biometric unlock for CLI
Skills not appearing in Claude Code (slash command autocomplete):
# CC reads from skills/, NOT commands/
ls ~/.claude/skills/
# If empty or missing skills, re-run the symlink step above.
# If skills are still under commands/, migrate them. This handles all three legacy
# shapes (symlink into golems, golems-cli backfill into skills/, real mkdir'd dir)
# and also clears dead symlinks out of ~/.claude/skills/:
cleanup="${GOLEMS_DIR:-$HOME/Gits/golems}/skills/golem-powers/golem-install/scripts/cleanup-legacy-commands.sh"
bash "$cleanup" --dry-run
bash "$cleanup"Skills not appearing in Codex:
ls ~/.agents/skills/
ls ~/.codex/skills/ # Should symlink into ~/.agents/skills/
# Re-run: ln -sf ~/.agents/skills/<skill> ~/.codex/skills/<skill>brainlayer-mcp not found:
cd $HOME/Gits/brainlayer && bun install && bun linkDoes it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

