~ / rigs / vivmagarwal / claude-code-setup

vivmagarwal/claude-code-setup

No description.

↗ GitHub ★ 2 no license updated 8mo ago personal setup Claude Code
share on X
ARCHETYPE
Automator
Hooks on every lifecycle event: format, lint, notify, log.
CONTEXT TAX · EVERY TURN
~490 tokens
Featherweight · median rig: 2.3k · breakdown
GUARDRAILS
2/5
Pre-tool screening hook · No YOLO mode · details

Copy this rig

# review before running: this installs third-party code
$ npx degit vivmagarwal/claude-code-setup/setup/.claude ./rig-claude-code-setup  # 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/code-researcher.md https://raw.githubusercontent.com/vivmagarwal/claude-code-setup/main/setup/.claude/agents/code-researcher.md
$ curl -fsSL --create-dirs -o .claude/agents/web-researcher.md https://raw.githubusercontent.com/vivmagarwal/claude-code-setup/main/setup/.claude/agents/web-researcher.md

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": "Read",
        "hooks": [
          {
            "type": "command",
            "command": "INPUT=$(cat); FILE=$(echo \"$INPUT\" | sed -n 's/.*\"file_path\"[[:space:]]*:[[:space:]]*\"\\([^\"]*\\)\".*/\\1/p'); if [ -n \"$FILE\" ] && echo \"$FILE\" | grep -qiE \"\\.(png|jpg|jpeg|webp|gif|bmp|tiff)$\" && [ -f \"$FILE\" ]; then W=$(sips -g pixelWidth \"$"
          }
        ]
      }
    ]
  }
}

Subagents (2)

code-researcherDeep codebase analysis specialist for understanding structure, dependencies, and answering specific questions
web-researcherComprehensive web research specialist for documentation, code examples, and technical information

Hooks (6)

eventmatcherruns
PreToolUseReadINPUT=$(cat); FILE=$(echo "$INPUT" | sed -n 's/.*"file_path"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p'); if [ -n "$FILE" ] && echo "$FILE" | grep -qiE "\.(png|jpg|jpeg|webp|gif|bmp|tiff)$" && [ -f "$FILE" ]; then W=$(sips -g pixelWidth "$
PostToolUsemcp__chrome-devtools__take_screenshotINPUT=$(cat); FILE=$(echo "$INPUT" | sed -n 's/.*"filePath"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p'); if [ -n "$FILE" ] && [ -f "$FILE" ]; then W=$(sips -g pixelWidth "$FILE" 2>/dev/null | tail -1 | awk '{print $2}'); H=$(sips -g pixelH
PostToolUseTodoWriteecho '{"hookSpecificOutput":{"additionalContext":"Reminder: If using an engineering plan document, ensure it is updated with the latest task status and notes."}}'
SessionStart*echo "📅 Today is $(date '+%A, %B %d, %Y at %I:%M %p %Z')"
SessionStart*echo '📷 Image Safety Active: Screenshots auto-resized to ≤1900px. Use filePath for large viewports.'
Stop*afplay /System/Library/Sounds/Hero.aiff

Slash commands (12)

/ebook/create-ebook-execution-plan/ebook/create-md-to-pdf-plan/prd/create-engineering-plan/prd/gather-raw-requirements/presentation/architect/presentation/brand-strategist/teaching/project-breakdown/utils/configure-claude-code/utils/create-scraping-plan-using-crawl4ai/utils/create-scraping-plan-using-firecrawl/utils/youtube-to-md/writing/create-engaging-content

Similar rigs

copied ✓