~ / rigs / EvanBatten / firstmate-for-windows

EvanBatten/firstmate-for-windows

firstmate for Windows: talk to one Claude Code agent, ship with a crew of parallel coding agents. Runs on Git Bash and Herdr.

↗ GitHub ★ 2 MIT updated 1d ago project Claude CodeCodex Claude plugin
share on X
ARCHETYPE
Skill Collector
Ten-plus skills loaded on demand. A procedural-knowledge library.
CONTEXT TAX · EVERY TURN
~12.9k tokens
Heavy · median rig: 2.3k · breakdown
GUARDRAILS
3/5
Blocks destructive commands · Pre-tool screening hook · No YOLO mode · details

Copy this rig

# review before running: this installs third-party code
$ npx degit EvanBatten/firstmate-for-windows/.claude ./rig-firstmate-for-windows  # inspect, then merge into .claude/

MCP servers are added to Claude Code at local scope; env vars are shown as YOUR_… placeholders — we never store values. Files are fetched with degit into a separate folder so you can review before merging.

$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/afk .claude/skills/afk
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/agent-skill-trigger-index .claude/skills/agent-skill-trigger-index
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/ahoy .claude/skills/ahoy
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/ask-user-authority .claude/skills/ask-user-authority
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/away-quiet-supervision .claude/skills/away-quiet-supervision
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/bearings .claude/skills/bearings
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/bootstrap-diagnostics .claude/skills/bootstrap-diagnostics
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/captain-hold-lifecycle .claude/skills/captain-hold-lifecycle
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/control-firstmate .claude/skills/control-firstmate
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/decision-hold-lifecycle .claude/skills/decision-hold-lifecycle
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/diagnostic-reasoning .claude/skills/diagnostic-reasoning
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/firstmate-codexapp .claude/skills/firstmate-codexapp
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/firstmate-coding-guidelines .claude/skills/firstmate-coding-guidelines
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/firstmate-orca .claude/skills/firstmate-orca
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/fmx-respond .claude/skills/fmx-respond
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/harness-adapters .claude/skills/harness-adapters
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/operational-home-layout .claude/skills/operational-home-layout
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/process-event-sources .claude/skills/process-event-sources
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/project-management .claude/skills/project-management
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/quiet .claude/skills/quiet
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/quota-array-dispatch .claude/skills/quota-array-dispatch
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/scout-completion .claude/skills/scout-completion
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/secondmate-provisioning .claude/skills/secondmate-provisioning
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/session-start-recovery .claude/skills/session-start-recovery
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/ship-landing .claude/skills/ship-landing
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/stow .claude/skills/stow
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/stuck-crewmate-recovery .claude/skills/stuck-crewmate-recovery
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/updatefirstmate .claude/skills/updatefirstmate
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/validation-supervision .claude/skills/validation-supervision
$ npx degit EvanBatten/firstmate-for-windows/.agents/skills/verify-firstmate .claude/skills/verify-firstmate

Merge into .claude/settings.json (project) or ~/.claude/settings.json (user). Hook commands reference scripts in the source repo — copy those too.

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "[ -z \"${GROK_AGENT:-}${GROK_HOOK_EVENT:-}\" ] || exit 0; exec \"$CLAUDE_PROJECT_DIR\"/bin/fm-arm-pretool-check.sh --claude"
          },
          {
            "type": "command",
            "command": "[ -z \"${GROK_AGENT:-}${GROK_HOOK_EVENT:-}\" ] || exit 0; exec \"$CLAUDE_PROJECT_DIR\"/bin/fm-cd-pretool-check.sh --claude"
          }
        ]
      },
      {
        "matcher": "^(?!(?:Read|Edit|Write|MultiEdit|NotebookEdit|Grep|Glob|LS|Bash|PowerShell|BashOutput|WebFetch|WebSearch|TodoWrite|TaskC",
        "hooks": [
          {
            "type": "command",
            "command": "\"$CLAUDE_PROJECT_DIR\"/bin/fm-subagent-pretool-check.sh --claude"
          }
        ]
      }
    ]
  }
}

Skills (30)

Hooks (8)

eventmatcherruns
SessionStart*[ -z "${GROK_AGENT:-}${GROK_HOOK_EVENT:-}" ] || exit 0; exec "$CLAUDE_PROJECT_DIR"/bin/fm-sessionstart-run.sh
PreToolUseBash[ -z "${GROK_AGENT:-}${GROK_HOOK_EVENT:-}" ] || exit 0; exec "$CLAUDE_PROJECT_DIR"/bin/fm-arm-pretool-check.sh --claude
PreToolUseBash[ -z "${GROK_AGENT:-}${GROK_HOOK_EVENT:-}" ] || exit 0; exec "$CLAUDE_PROJECT_DIR"/bin/fm-cd-pretool-check.sh --claude
PreToolUse^(?!(?:Read|Edit|Write|MultiEdit|NotebookEdit|Grep|Glob|LS|Bash|PowerShell|BashOutput|WebFetch|WebSearch|TodoWrite|TaskC"$CLAUDE_PROJECT_DIR"/bin/fm-subagent-pretool-check.sh --claude
UserPromptSubmit*[ -z "${GROK_AGENT:-}${GROK_HOOK_EVENT:-}" ] || exit 0; exec "$CLAUDE_PROJECT_DIR"/bin/fm-host-mirror.sh hook claude
Stop*[ -z "${GROK_AGENT:-}${GROK_HOOK_EVENT:-}" ] || exit 0; exec "$CLAUDE_PROJECT_DIR"/bin/fm-turnend-guard.sh --claude
Stop*[ -z "${GROK_AGENT:-}${GROK_HOOK_EVENT:-}" ] || exit 0; exec "$CLAUDE_PROJECT_DIR"/bin/fm-claude-stop-autoarm.sh
Stop*[ -z "${GROK_AGENT:-}${GROK_HOOK_EVENT:-}" ] || exit 0; exec "$CLAUDE_PROJECT_DIR"/bin/fm-host-mirror.sh hook claude

Similar rigs

copied ✓