~ / rigs / 1tsukim / dotfiles

1tsukim/dotfiles

Personal dotfiles for macOS — zsh / git / tmux / Claude Code skill configs

↗ GitHub ★ 0 no license updated today personal setup Claude Code
share on X
ARCHETYPE
YOLO Cowboy
Permissions? Never heard of 'em. Ships at the speed of `--dangerously-skip-permissions`.
CONTEXT TAX · EVERY TURN
~1.5k tokens
Featherweight · median rig: 2.3k · breakdown
GUARDRAILS
3/5
Blocks destructive commands · Protects secrets · Pre-tool screening hook · details

Copy this rig

# review before running: this installs third-party code
$ npx degit 1tsukim/dotfiles/claude/.claude ./rig-dotfiles  # 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.

$ curl -fsSL --create-dirs -o .claude/agents/ai-writing-auditor.md https://raw.githubusercontent.com/1tsukim/dotfiles/main/claude/.claude/agents/ai-writing-auditor.md
$ curl -fsSL --create-dirs -o .claude/agents/ai-writing-auditor.vocab.md https://raw.githubusercontent.com/1tsukim/dotfiles/main/claude/.claude/agents/ai-writing-auditor.vocab.md
$ curl -fsSL --create-dirs -o .claude/agents/code-review-specialist.md https://raw.githubusercontent.com/1tsukim/dotfiles/main/claude/.claude/agents/code-review-specialist.md
$ curl -fsSL --create-dirs -o .claude/agents/codebase-analyzer.md https://raw.githubusercontent.com/1tsukim/dotfiles/main/claude/.claude/agents/codebase-analyzer.md
$ curl -fsSL --create-dirs -o .claude/agents/data-scientist.md https://raw.githubusercontent.com/1tsukim/dotfiles/main/claude/.claude/agents/data-scientist.md
$ curl -fsSL --create-dirs -o .claude/agents/debug-specialist.md https://raw.githubusercontent.com/1tsukim/dotfiles/main/claude/.claude/agents/debug-specialist.md
$ curl -fsSL --create-dirs -o .claude/agents/ml-pipeline-optimizer.md https://raw.githubusercontent.com/1tsukim/dotfiles/main/claude/.claude/agents/ml-pipeline-optimizer.md

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

{
  "permissions": {
    "deny": [
      "Bash(sudo:*)",
      "Bash(rm -rf /)",
      "Bash(rm -rf ~)",
      "Bash(rm -rf ~/*)",
      "Bash(rm -rf /*)",
      "Read(.env.*)",
      "Read(id_rsa)",
      "Read(id_ed25519)",
      "Read(**/*token*)",
      "Read(**/*key*)",
      "Read(**/.aws/**)",
      "Read(**/.ssh/**)",
      "Read(**/credentials)",
      "Read(**/credentials.*)",
      "Read(**/*credential*)",
      "Read(**/*secret*)",
      "Read(**/*password*)",
      "Edit(.env*)",
      "Edit(**/secrets/**)",
      "Bash(npm uninstall:*)",
      "Bash(npm remove:*)",
      "Bash(xargs rm:*)",
      "Bash(xargs trash:*)",
      "Bash(xargs sh:*)",
      "Bash(xargs bash:*)",
      "Bash(xargs sudo:*)",
      "Bash(*xargs rm*)",
      "Bash(*xargs *rm *)"
    ]
  },
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/hooks/block-dangerous-git.sh"
          },
          {
            "type": "command",
            "command": "~/.claude/hooks/block-dangerous-aws.sh"
          },
          {
            "type": "command",
            "command": "~/.claude/hooks/block-dangerous-misc.sh"
          },
          {
            "type": "command",
            "command": "~/.claude/hooks/block-sensitive-bash.sh"
          },
          {
            "type": "command",
            "command": "~/.claude/hooks/check-s3-cp-overwrite.sh"
          },
          {
            "type": "command",
            "command": "jq -r '\"[\\(now | strftime(\"%Y-%m-%d %H:%M:%S\"))] \\(.tool_input.command)\"' >> ~/.claude/bash-history.log 2>/dev/null || true"
          }
        ]
      },
      {
        "matcher": "Write|Edit",
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/hooks/block-sensitive-files.sh"
          }
        ]
      }
    ]
  }
}

Subagents (7)

ai-writing-auditor
model: opus
Detect and remove AI-generated writing patterns (AI-isms) from Japanese business documents. **Primary use case: post-process Claude's own output before delivery** — analysis reports, proposal docs, me
ai-writing-auditor.vocab—
code-review-specialist
model: opus
Use this agent when you have written or modified code and need a comprehensive multi-axis quality review (quality + security + performance + maintainability) in an isolated context. Best for substanti
codebase-analyzer
model: sonnet
Use this agent for exploratory comprehension of an unfamiliar codebase — examining the structure, entry points, and architecture, and returning a synthesized overview. Best when you need a mental mode
data-scientist
model: sonnet
Use this agent for hypothesis-driven exploratory data analysis, statistical hypothesis testing, causal inference, and translating findings into reports. Best for Notebook-style analytics work where th
debug-specialist
model: opus
Use this agent when a bug requires multi-file investigation, hypothesis testing, or actual tool execution (grep / edit / run commands) beyond a quick read. The agent runs in an isolated context and ex
ml-pipeline-optimizer
model: sonnet
Use this agent when the user is explicitly working on an ML pipeline — implementing training/inference code, performing feature engineering, or seeking to improve an existing model's accuracy. Trigger

Hooks (12)

eventmatcherruns
Notification*~/.claude/hooks/notify.sh notification
Stop*~/.claude/hooks/notify.sh stop
SubagentStop*~/.claude/hooks/notify.sh subagent-stop
PreToolUseBash~/.claude/hooks/block-dangerous-git.sh
PreToolUseBash~/.claude/hooks/block-dangerous-aws.sh
PreToolUseBash~/.claude/hooks/block-dangerous-misc.sh
PreToolUseBash~/.claude/hooks/block-sensitive-bash.sh
PreToolUseBash~/.claude/hooks/check-s3-cp-overwrite.sh
PreToolUseBashjq -r '"[\(now | strftime("%Y-%m-%d %H:%M:%S"))] \(.tool_input.command)"' >> ~/.claude/bash-history.log 2>/dev/null || true
PreToolUseWrite|Edit~/.claude/hooks/block-sensitive-files.sh
PostToolUseDISABLED~/.claude/hooks/auto-format-python.sh
SessionStart*{ git status --short 2>/dev/null || echo '(not a git repo)'; } | jq -Rs '{hookSpecificOutput:{hookEventName:"SessionStart",additionalContext:("git status:\n" + .)}}' 2>/dev/null || true

Slash commands (3)

/fix-github-issue/gemini-search/serena

Permissions

deny (28)
Bash(sudo:*)
Bash(rm -rf /)
Bash(rm -rf ~)
Bash(rm -rf ~/*)
Bash(rm -rf /*)
Read(.env.*)
Read(id_rsa)
Read(id_ed25519)
Read(**/*token*)
Read(**/*key*)
Read(**/.aws/**)
Read(**/.ssh/**)
Read(**/credentials)
Read(**/credentials.*)
Read(**/*credential*)
Read(**/*secret*)
Read(**/*password*)
Edit(.env*)
Edit(**/secrets/**)
Bash(npm uninstall:*)
Bash(npm remove:*)
Bash(xargs rm:*)
Bash(xargs trash:*)
Bash(xargs sh:*)
Bash(xargs bash:*)
Bash(xargs sudo:*)
Bash(*xargs rm*)
Bash(*xargs *rm *)
ask (0)
—
allow (57)
WebSearch
WebFetch
Skill
Read
Read(**)
Glob
Grep
LSP
Bash(ls:*)
Bash(cat:*)
Bash(head:*)
Bash(tail:*)
Bash(find:*)
Bash(which:*)
Bash(pwd:*)
Bash(tree:*)
Bash(wc:*)
Bash(file:*)
Bash(stat:*)
Bash(echo:*)
Bash(gh:*)
Bash(aws:*)
Edit(.tmp/**)
mcp__context7__resolve-library-id
mcp__context7__get-library-docs
mcp__serena
mcp__playwright__browser_take_screenshot
mcp__playwright__browser_wait_for
Bash(rg:*)
Bash(fd:*)
Bash(bat:*)
Bash(eza:*)
Bash(jq:*)
Bash(xargs:*)
Bash(uv:*)
Bash(grep:*)
Bash(mkdir:*)
Bash(mv:*)
Bash(cp:*)
Bash(touch:*)
Bash(python:*)
Bash(python3:*)
Bash(trash:*)
Bash(chmod:*)
Bash(ln:*)
Bash(marp:*)
Bash(git status:*)
Bash(git diff:*)
Bash(git log:*)
Bash(git show:*)
Bash(git blame:*)
Bash(git ls-files:*)
Bash(git rev-parse:*)
Bash(git stash list)
Bash(git branch:*)
Bash(git remote:*)
Bash(git config --get*)

Similar rigs

copied ✓