skills/golem-powers/golem-install/SKILL.md
Set up the golems ecosystem for the first time on a new machine. Checks CLI dependencies, wires MCP servers, creates skill symlinks. Use when: "set up golems", "install golems", "new machine setup", "wire skills". NOT for daily usage.
npx skillsauth add etanhey/golems golem-installInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
First-time setup for the golems ecosystem on a new Mac. Checks deps, wires MCPs, symlinks skills.
| 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"
done
Skills live in ~/Gits/golems/skills/golem-powers/. The symlink target depends on which CLI you use:
| CLI | Skill directory | Notes |
|-----|----------------|-------|
| Claude Code (2.1.91+) | ~/.claude/skills/ | Primary. CC reads slash commands from here. |
| Claude Code (legacy) | ~/.claude/commands/ | Still watched for changes but NOT used for slash command autocomplete. |
| Codex | ~/.agents/skills/ | Codex reads from ~/.codex/skills/ → symlinked to ~/.agents/skills/ |
| Cursor / Gemini | ~/.agents/skills/ | |
# For Claude Code — install to BOTH skills/ (primary) and commands/ (legacy)
SKILLS_DIR=~/Gits/golems/skills/golem-powers
CC_SKILLS=~/.claude/skills
CC_COMMANDS=~/.claude/commands
mkdir -p "$CC_SKILLS" "$CC_COMMANDS"
for skill_dir in "$SKILLS_DIR"/*/; do
skill_name=$(basename "$skill_dir")
ln -sf "$skill_dir" "$CC_SKILLS/$skill_name"
ln -sf "$skill_dir" "$CC_COMMANDS/$skill_name"
echo "Linked: $skill_name"
done
# For Codex / Cursor / Gemini
AGENTS_DIR=~/.agents/skills
mkdir -p "$AGENTS_DIR"
for skill_dir in "$SKILLS_DIR"/*/; do
skill_name=$(basename "$skill_dir")
ln -sf "$skill_dir" "$AGENTS_DIR/$skill_name"
echo "Linked: $skill_name"
done
# Then wire Codex to read from ~/.agents/skills/:
# ln -sf ~/.agents/skills/<skill> ~/.codex/skills/<skill>
Verify Claude Code: ls ~/.claude/skills/ should show ~45 skills (and ls ~/.claude/commands/ for legacy).
Verify Codex/other: ls ~/.agents/skills/ should show the installed skills.
Wire these MCPs via ~/.mcp.json (at ~/Gits/ for cross-repo access):
| MCP | Binary | Purpose |
|-----|--------|---------|
| brainlayer | brainlayer-mcp | Memory search + store |
| voicelayer | voicelayer-mcp | TTS + STT |
| context7 | npx @upstash/context7-mcp | Library docs |
| supabase | via config | Database |
# Verify MCP binaries
which brainlayer-mcp || echo "Run: cd ~/Gits/brainlayer && bun link"
which voicelayer-mcp || echo "Run: cd ~/Gits/voicelayer && bun link"
Ensure ~/.claude/CLAUDE.md exists with global instructions. Template lives at:
~/Gits/orchestrator/standards/
| Item | Vault | Fields |
|------|-------|--------|
| golems | development | context7.API_KEY, linear.API_KEY |
| ANTHROPIC | development | API_KEY |
# Verify 1Password access
op item get "golems" --vault development --fields label=context7.API_KEY 2>/dev/null && echo "✅ 1P connected" || echo "❌ 1P not connected"
Native macOS terminal for running agents:
cd ~/Gits/golem-terminal && bash install.sh
Config lives at: ~/Library/Application Support/golem-terminal/golems.toml
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 "=== Done ==="
Homebrew not installed:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
1Password CLI not connecting to app:
Skills not appearing in Claude Code (slash command autocomplete):
# CC 2.1.91+ reads from skills/, NOT commands/
ls ~/.claude/skills/
# If empty or missing skills, re-run the symlink step above
# If skills are in commands/ but not skills/, migrate:
for cmd in ~/.claude/commands/*/; do
name=$(basename "$cmd")
[ -e ~/.claude/skills/"$name" ] || ln -s "$(readlink "$cmd" 2>/dev/null || echo "$cmd")" ~/.claude/skills/"$name"
done
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 ~/Gits/brainlayer && bun install && bun link
development
Create, edit, and verify golem-powers skills using the standard SKILL.md structure, workflow files, adapters, templates, and eval fixtures. Use for new skills, structural edits, workflows/adapters, and pre-deploy validation. NOT for invoking existing skills, superpowers skills, or skill-creator agent workflows.
testing
Extract structured knowledge from any video source — YouTube URLs or local screen recordings. YouTube → gems workflow (yt-dlp transcript → keyword hotspots → frame extract → brain_digest → structured gems). Screen recordings → QA workflow (reuses /qa-video stalker pipeline). Use when user shares a YouTube link wanting deep extraction with frames, shares a .mov/.mp4 for QA processing, says "extract from video", "video gems", "process this recording", or mentions gem extraction from video content.
testing
Use when running or reviewing any recurring monitor loop for merge queues, worker queues, collab tails, or agent completion. Enforces drive-to-completion ticks: every tick must query live state with `!`, classify whether real progress happened, and then dispatch, verify-and-decrement, or escalate-park. Triggers on: monitor loop, /loop, recurring tick, keep monitoring, silent autonomous, merge gate, blocked review, no-progress loop.
tools
MeHayom freelance client management — daily updates, decision tracking, time logging. Use when drafting Yuval updates, logging scope changes, tracking hours, or any MeHayom client communication. Triggers: 'draft Yuval update', 'client update', 'daily update', 'log decision', 'track time', 'mehayom'.