~ / rigs / ArtyMcLabin / ClaudeCode-global-config

ArtyMcLabin/ClaudeCode-global-config

clone it (or unpack) , into: ~/.claude (windows: C:\Users\<username>\.claude ) or even better: send to your CCode a copy of this "About" + the repo link.

↗ GitHub ★ 9 no license updated 4mo ago 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
~8.7k tokens
Heavy · median rig: 2.2k · breakdown
GUARDRAILS
2/5
Blocks destructive commands · Pre-tool screening hook · details

Copy this rig

# review before running: this installs third-party code
$ npx degit ArtyMcLabin/ClaudeCode-global-config/agents ./rig-claudecode-global-config/agents
$ npx degit ArtyMcLabin/ClaudeCode-global-config/skills ./rig-claudecode-global-config/skills

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 ArtyMcLabin/ClaudeCode-global-config/skills/access-management .claude/skills/access-management
$ npx degit ArtyMcLabin/ClaudeCode-global-config/skills/apps-script .claude/skills/apps-script
$ npx degit ArtyMcLabin/ClaudeCode-global-config/skills/autonomous-issue-dispatch .claude/skills/autonomous-issue-dispatch
$ npx degit ArtyMcLabin/ClaudeCode-global-config/skills/bug-intake .claude/skills/bug-intake
$ npx degit ArtyMcLabin/ClaudeCode-global-config/skills/claude-code-session-extraction .claude/skills/claude-code-session-extraction
$ npx degit ArtyMcLabin/ClaudeCode-global-config/skills/db-safety .claude/skills/db-safety
$ npx degit ArtyMcLabin/ClaudeCode-global-config/skills/delegation .claude/skills/delegation
$ npx degit ArtyMcLabin/ClaudeCode-global-config/skills/dev-loop .claude/skills/dev-loop
$ npx degit ArtyMcLabin/ClaudeCode-global-config/skills/google-sheets .claude/skills/google-sheets
$ npx degit ArtyMcLabin/ClaudeCode-global-config/skills/issue-dispatcher .claude/skills/issue-dispatcher
$ npx degit ArtyMcLabin/ClaudeCode-global-config/skills/issue-handler .claude/skills/issue-handler
$ npx degit ArtyMcLabin/ClaudeCode-global-config/skills/knowledge-architecture .claude/skills/knowledge-architecture
$ npx degit ArtyMcLabin/ClaudeCode-global-config/skills/local-excel .claude/skills/local-excel
$ npx degit ArtyMcLabin/ClaudeCode-global-config/skills/message-drafting .claude/skills/message-drafting
$ npx degit ArtyMcLabin/ClaudeCode-global-config/skills/n8n .claude/skills/n8n
$ npx degit ArtyMcLabin/ClaudeCode-global-config/skills/rclone .claude/skills/rclone
$ npx degit ArtyMcLabin/ClaudeCode-global-config/skills/report-format .claude/skills/report-format
$ npx degit ArtyMcLabin/ClaudeCode-global-config/skills/research-sop .claude/skills/research-sop
$ npx degit ArtyMcLabin/ClaudeCode-global-config/skills/retrospective .claude/skills/retrospective
$ npx degit ArtyMcLabin/ClaudeCode-global-config/skills/slack .claude/skills/slack
$ npx degit ArtyMcLabin/ClaudeCode-global-config/skills/sleep .claude/skills/sleep
$ npx degit ArtyMcLabin/ClaudeCode-global-config/skills/social-redirectors .claude/skills/social-redirectors
$ npx degit ArtyMcLabin/ClaudeCode-global-config/skills/software-installation .claude/skills/software-installation
$ npx degit ArtyMcLabin/ClaudeCode-global-config/skills/ssot-enforcement .claude/skills/ssot-enforcement
$ npx degit ArtyMcLabin/ClaudeCode-global-config/skills/trello-fetch .claude/skills/trello-fetch
$ npx degit ArtyMcLabin/ClaudeCode-global-config/skills/unbiased-test .claude/skills/unbiased-test
$ npx degit ArtyMcLabin/ClaudeCode-global-config/skills/yourbrand-copywriting .claude/skills/yourbrand-copywriting
$ curl -fsSL --create-dirs -o .claude/agents/chrome-agent.md https://raw.githubusercontent.com/ArtyMcLabin/ClaudeCode-global-config/master/agents/chrome-agent.md
$ curl -fsSL --create-dirs -o .claude/agents/developer.md https://raw.githubusercontent.com/ArtyMcLabin/ClaudeCode-global-config/master/agents/developer.md
$ curl -fsSL --create-dirs -o .claude/agents/github-issue-manager.md https://raw.githubusercontent.com/ArtyMcLabin/ClaudeCode-global-config/master/agents/github-issue-manager.md
$ curl -fsSL --create-dirs -o .claude/agents/gmail-agent.md https://raw.githubusercontent.com/ArtyMcLabin/ClaudeCode-global-config/master/agents/gmail-agent.md
$ curl -fsSL --create-dirs -o .claude/agents/integration-tester.md https://raw.githubusercontent.com/ArtyMcLabin/ClaudeCode-global-config/master/agents/integration-tester.md
$ curl -fsSL --create-dirs -o .claude/agents/qa-engineer.md https://raw.githubusercontent.com/ArtyMcLabin/ClaudeCode-global-config/master/agents/qa-engineer.md
$ curl -fsSL --create-dirs -o .claude/agents/security-auditor.md https://raw.githubusercontent.com/ArtyMcLabin/ClaudeCode-global-config/master/agents/security-auditor.md
$ curl -fsSL --create-dirs -o .claude/agents/sheets-agent.md https://raw.githubusercontent.com/ArtyMcLabin/ClaudeCode-global-config/master/agents/sheets-agent.md
$ curl -fsSL --create-dirs -o .claude/agents/strategic-cto-planner.md https://raw.githubusercontent.com/ArtyMcLabin/ClaudeCode-global-config/master/agents/strategic-cto-planner.md
$ curl -fsSL --create-dirs -o .claude/agents/variation-creator.md https://raw.githubusercontent.com/ArtyMcLabin/ClaudeCode-global-config/master/agents/variation-creator.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(taskkill:*/F:*/IM:*node.exe:*)",
      "Bash(taskkill:*node.exe:*)",
      "Bash(killall:*node:*)",
      "Bash(pkill:*-f:*node:*)",
      "Bash(drizzle-kit:*push:*)",
      "mcp__google-workspace__gmail_send",
      "mcp__google-workspace__gmail_sendDraft",
      "mcp__google-workspace__drive_search",
      "mcp__google-workspace__drive_findFolder",
      "mcp__google-workspace__drive_createFolder",
      "mcp__google-workspace__drive_downloadFile"
    ]
  },
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "python -c \"import os;exec(open(os.path.expanduser('~/.claude/scripts/preToolUse-block-gh-issue.py'),encoding='utf-8').read())\""
          },
          {
            "type": "command",
            "command": "python -c \"import os;exec(open(os.path.expanduser('~/.claude/skills/db-safety/scripts/preToolUse-block-manual-prod-migrate.py'),encoding='utf-8').read())\""
          },
          {
            "type": "command",
            "command": "python -c \"import os;exec(open(os.path.expanduser('~/.claude/skills/dev-loop/scripts/preToolUse-block-push-without-tests.py'),encoding='utf-8').read())\""
          },
          {
            "type": "command",
            "command": "python -c \"import os;exec(open(os.path.expanduser('~/.claude/skills/rclone/scripts/preToolUse-block-rclone.py'),encoding='utf-8').read())\""
          },
          {
            "type": "command",
            "command": "python -c \"import os;exec(open(os.path.expanduser('~/.claude/skills/global-config-publishing/scripts/preToolUse-block-publish-push.py'),encoding='utf-8').read())\""
          }
        ]
      },
      {
        "matcher": "Bash|mcp__Neon__run_sql|mcp__Neon__run_sql_transaction",
        "hooks": [
          {
            "type": "command",
            "command": "python -c \"import os;exec(open(os.path.expanduser('~/.claude/skills/db-safety/scripts/preToolUse-block-raw-sql-writes.py'),encoding='utf-8').read())\""
          }
        ]
      },
      {
        "matcher": "Write",
        "hooks": [
          {
            "type": "command",
            "command": "python -c \"import os;exec(open(os.path.expanduser('~/.claude/skills/db-safety/scripts/preToolUse-block-prod-bypass.py'),encoding='utf-8').read())\""
          },
          {
            "type": "command",
            "command": "python -c \"import os;exec(open(os.path.expanduser('~/.claude/skills/db-safety/scripts/preToolUse-block-manual-migration.py'),encoding='utf-8').read())\""
          },
          {
            "type": "command",
            "command": "python -c \"import os;exec(open(os.path.expanduser('~/.claude/skills/pipeline-modularity/scripts/preToolUse-block-new-widget-without-evaluation.py'),encoding='utf-8').read())\""
          }
        ]
      },
      {
        "matcher": "mcp__google-workspace__gmail_send|mcp__google-workspace__gmail_createDraft|mcp__google-workspace__gmail_sendDraft|mcp__g",
        "hooks": [
          {
            "type": "command",
            "command": "python -c \"import os;exec(open(os.path.expanduser('~/.claude/skills/message-drafting/scripts/preToolUse-reminder.py'),encoding='utf-8').read())\""
          }
        ]
      },
      {
        "matcher": "Bash|mcp__google-workspace__gmail_send|mcp__google-workspace__gmail_createDraft|mcp__google-workspace__gmail_sendDraft|m",
        "hooks": [
          {
            "type": "command",
            "command": "python -c \"import os;exec(open(os.path.expanduser('~/.claude/skills/message-drafting/scripts/preToolUse-email-verification.py'),encoding='utf-8').read())\""
          }
        ]
      },
      {
        "matcher": "Edit|Write|MultiEdit",
        "hooks": [
          {
            "type": "command",
            "command": "python -c \"import os;exec(open(os.path.expanduser('~/.claude/skills/knowledge-architecture/scripts/preToolUse-block-knowledge-files.py'),encoding='utf-8').read())\""
          }
        ]
      },
      {
        "matcher": "Edit|Write",
        "hooks": [
          {
            "type": "command",
            "command": "python -c \"import os;exec(open(os.path.expanduser('~/.claude/skills/apps-script/scripts/preToolUse-hardcoded-cells.py'),encoding='utf-8').read())\""
          }
        ]
      },
      {
        "matcher": "mcp__your-app__execute_prompt",
        "hooks": [
          {
            "type": "command",
            "command": "python -c \"import os;exec(open(os.path.expanduser('~/.claude/skills/yourbrand-copywriting/scripts/preToolUse-block-execute-prompt-for-social.py'),encoding='utf-8').read())\""
          }
        ]
      },
      {
        "matcher": "mcp__gtasks__update",
        "hooks": [
          {
            "type": "command",
            "command": "python -c \"import os;exec(open(os.path.expanduser('~/.claude/scripts/preToolUse-block-gtasks-complete.py'),encoding='utf-8').read())\""
          }
        ]
      }
    ]
  }
}

Skills (27)

Subagents (10)

chrome-agent
model: haiku
Browser automation specialist using playwriter MCP. Use for interactive browser tasks (clicking, form filling, screenshots, visual inspection). Executes Playwright JS code against user's Chrome via br
developer
model: inherit
Use this agent when you need to implement features and write code. This agent focuses on clean code implementation following SSoT principles and industry standards.
github-issue-manager
model: opus
Create, read, list, triage, or update GitHub issues. List and survey open issues to recommend next work items. Manages project board status assignment with proper Kanban column placement (Todo, Doing,
gmail-agent
model: opus
Gmail operations specialist using Gmail MCP tools. Use for all Gmail operations (search, read, modify, filter, send) to keep MCP JSON responses out of main context. NOT for browser-based Gmail — that
integration-tester
model: inherit
Use this agent when you need end-to-end workflow validation from a pure user perspective after implementation is complete but before human acceptance. This agent provides 'fresh eyes' validation that
qa-engineer
model: inherit
Use this agent when you need comprehensive quality assurance including code review and technical validation (NO browser/UI testing). This agent performs static code analysis, build verification, unit
security-auditor
model: inherit
Use this agent when you need rigorous security analysis, vulnerability assessment, or security architecture review. Examples: <example>Context: User is implementing authentication for a web applicatio
sheets-agent
model: opus
Google Sheets operations specialist using Sheets MCP tools. Use for all Sheets read/write operations to keep large grid data responses out of main context. NOT for sheet creation via browser — that go
strategic-cto-planner
model: inherit
Use this agent when you need to create comprehensive development work plans that guarantee project success by orchestrating specialized AI subagents with fault-tolerant execution strategies. This incl
variation-creator
model: inherit
Use this agent when you need to create multiple UI variations of an existing interface element, panel, or page for design exploration and selection. This agent should be triggered when a developer wan

Hooks (24)

eventmatcherruns
PreToolUseBashpython -c "import os;exec(open(os.path.expanduser('~/.claude/scripts/preToolUse-block-gh-issue.py'),encoding='utf-8').read())"
PreToolUseBash|mcp__Neon__run_sql|mcp__Neon__run_sql_transactionpython -c "import os;exec(open(os.path.expanduser('~/.claude/skills/db-safety/scripts/preToolUse-block-raw-sql-writes.py'),encoding='utf-8').read())"
PreToolUseBashpython -c "import os;exec(open(os.path.expanduser('~/.claude/skills/db-safety/scripts/preToolUse-block-manual-prod-migrate.py'),encoding='utf-8').read())"
PreToolUseWritepython -c "import os;exec(open(os.path.expanduser('~/.claude/skills/db-safety/scripts/preToolUse-block-prod-bypass.py'),encoding='utf-8').read())"
PreToolUseWritepython -c "import os;exec(open(os.path.expanduser('~/.claude/skills/db-safety/scripts/preToolUse-block-manual-migration.py'),encoding='utf-8').read())"
PreToolUsemcp__google-workspace__gmail_send|mcp__google-workspace__gmail_createDraft|mcp__google-workspace__gmail_sendDraft|mcp__gpython -c "import os;exec(open(os.path.expanduser('~/.claude/skills/message-drafting/scripts/preToolUse-reminder.py'),encoding='utf-8').read())"
PreToolUseBash|mcp__google-workspace__gmail_send|mcp__google-workspace__gmail_createDraft|mcp__google-workspace__gmail_sendDraft|mpython -c "import os;exec(open(os.path.expanduser('~/.claude/skills/message-drafting/scripts/preToolUse-email-verification.py'),encoding='utf-8').read())"
PreToolUseEdit|Write|MultiEditpython -c "import os;exec(open(os.path.expanduser('~/.claude/skills/knowledge-architecture/scripts/preToolUse-block-knowledge-files.py'),encoding='utf-8').read())"
PreToolUseEdit|Writepython -c "import os;exec(open(os.path.expanduser('~/.claude/skills/apps-script/scripts/preToolUse-hardcoded-cells.py'),encoding='utf-8').read())"
PreToolUsemcp__your-app__execute_promptpython -c "import os;exec(open(os.path.expanduser('~/.claude/skills/yourbrand-copywriting/scripts/preToolUse-block-execute-prompt-for-social.py'),encoding='utf-8').read())"
PreToolUseBashpython -c "import os;exec(open(os.path.expanduser('~/.claude/skills/dev-loop/scripts/preToolUse-block-push-without-tests.py'),encoding='utf-8').read())"
PreToolUseWritepython -c "import os;exec(open(os.path.expanduser('~/.claude/skills/pipeline-modularity/scripts/preToolUse-block-new-widget-without-evaluation.py'),encoding='utf-8').read())"
PreToolUseBashpython -c "import os;exec(open(os.path.expanduser('~/.claude/skills/rclone/scripts/preToolUse-block-rclone.py'),encoding='utf-8').read())"
PreToolUseBashpython -c "import os;exec(open(os.path.expanduser('~/.claude/skills/global-config-publishing/scripts/preToolUse-block-publish-push.py'),encoding='utf-8').read())"
PreToolUsemcp__gtasks__updatepython -c "import os;exec(open(os.path.expanduser('~/.claude/scripts/preToolUse-block-gtasks-complete.py'),encoding='utf-8').read())"
PostToolUseBashpython -c "import os;exec(open(os.path.expanduser('~/.claude/skills/dev-loop/scripts/postToolUse-mark-tests-run.py'),encoding='utf-8').read())"
PostToolUseBashpython -c "import os;exec(open(os.path.expanduser('~/.claude/skills/dev-loop/scripts/postToolUse-clear-test-marker-after-push.py'),encoding='utf-8').read())"
PostToolUseEdit|Write|MultiEditpython -c "import os;exec(open(os.path.expanduser('~/.claude/skills/dev-loop/scripts/postToolUse-mark-code-edits.py'),encoding='utf-8').read())"
Stop*python -c "import os;exec(open(os.path.expanduser('~/.claude/skills/autonomous-issue-dispatch/scripts/stop-verify-pipeline.py'),encoding='utf-8').read())"
Stop*python -c "import os;exec(open(os.path.expanduser('~/.claude/skills/autonomous-issue-dispatch/scripts/stop-block-permission-asking.py'),encoding='utf-8').read())"
Stop*python -c "import os;exec(open(os.path.join('~/repos/PersonalAssistant','.claude/skills/task-triage/scripts/stop-verify-triage-output.py'),encoding='utf-8').read())"
Stop*python -c "import os;exec(open(os.path.expanduser('~/.claude/skills/knowledge-architecture/scripts/stop-enforce-error-sop-update.py'),encoding='utf-8').read())"
Stop*python -c "import os;exec(open(os.path.expanduser('~/.claude/skills/knowledge-architecture/scripts/stop-remind-real-pokayoke.py'),encoding='utf-8').read())"
Stop*python -c "import os;exec(open(os.path.expanduser('~/.claude/skills/e2e-testing/scripts/stop-require-e2e-for-ui.py'),encoding='utf-8').read())"

Permissions

deny (11)
Bash(taskkill:*/F:*/IM:*node.exe:*)
Bash(taskkill:*node.exe:*)
Bash(killall:*node:*)
Bash(pkill:*-f:*node:*)
Bash(drizzle-kit:*push:*)
mcp__google-workspace__gmail_send
mcp__google-workspace__gmail_sendDraft
mcp__google-workspace__drive_search
mcp__google-workspace__drive_findFolder
mcp__google-workspace__drive_createFolder
mcp__google-workspace__drive_downloadFile
ask (0)
—
allow (71)
Bash
Read
Edit
Write
WebFetch
Grep
Glob
LS
MultiEdit
NotebookRead
NotebookEdit
TodoRead
TodoWrite
WebSearch
Skill(email-triage)
Skill(google-gmail)
Skill(google-sheets)
Skill(airwallex-transfers)
Skill(podcast-guest-mgmt)
Skill(sop-copypasta)
Skill(knowledge-architecture)
Skill(skill-creation)
Skill(trello-fetch)
mcp__Neon__run_sql
mcp__Neon__list_projects
mcp__Neon__run_sql_transaction
mcp__Neon__get_database_tables
mcp__Neon__create_branch
mcp__Neon__get_connection_string
mcp__Neon__describe_project
mcp__Neon__describe_table_schema
mcp__Neon__compare_database_schema
mcp__Neon__list_branch_computes
Skill(qa-submission)
Skill(slack)
Skill(bug-intake)
mcp__google-sheets__search_spreadsheets
mcp__google-sheets__list_sheets
mcp__google-sheets__get_sheet_data
mcp__google-sheets__find_in_spreadsheet
mcp__google-workspace__sheets_getText
mcp__google-workspace__sheets_getRange
mcp__google-workspace__gmail_search
mcp__google-workspace__gmail_get
mcp__gmail__send_email
mcp__playwriter__execute
mcp__playwriter__reset
mcp__google-workspace__sheets_getMetadata
mcp__gmail__search_emails
mcp__gmail__read_email
mcp__gmail__draft_email
mcp__gmail__delete_email
mcp__google-workspace__gmail_createDraft
mcp__your-app__list_prompts
mcp__your-app__get_prompt
mcp__your-app__render_prompt
mcp__your-app__execute_prompt
mcp__your-app__generate_social_post
mcp__your-app__update_prompt
mcp__claude_ai_Vercel__list_deployments

Similar rigs

copied ✓