Content
# My Claude Code Settings
A comprehensive repository for Claude Code extensions (agents, skills, commands, hooks, rules, and MCP settings).
## Features
- **17+ Specialized Agents**: architect, code-reviewer, security-reviewer, typescript-expert, etc.
- **16+ Slash Commands**: `/tdd`, `/plan`, `/code-review`, `/think-harder`, etc.
- **Security Hooks**: Sensitive file blocking, dangerous command prevention
- **Quality Hooks**: Auto-formatting, TypeScript checking, console.log detection
- **20+ MCP Server Settings**: GitHub, Slack, Database, etc.
- **Framework-specific Skills**: React, Next.js, TypeScript, AWS, etc.
## Context Window Efficiency
This repository adopts a progressive disclosure design:
- **SKILL.md**: Concise metadata and overview (100-500 lines)
- **references/**: Detailed reference materials (loaded only when needed)
- **Checklists**: Separated into individual files
This approach efficiently utilizes the context window without overwhelming it.
## Directory Structure
```
everything-claude-code/
├── .claude-plugin/ # Plugin configuration files
│ ├── plugin.json # Plugin manifest
│ ├── marketplace.json # Marketplace definition
│ └── install.sh # Installation script
├── agents/ # Specialized agent definitions
│ ├── architect.md # Architecture design
│ ├── code-reviewer.md # Code review
│ ├── security-reviewer.md
│ ├── typescript-expert.md
│ └── ...
├── commands/ # Slash commands
│ ├── tdd.md # /tdd - Test-driven development
│ ├── plan.md # /plan - Design and planning
│ ├── code-review.md # /code-review
│ ├── think-harder.md # /think-harder - Deep thinking
│ └── ...
├── skills/ # Skill definitions (progressive disclosure design)
│ ├── architecture/ # Application architecture (DDD, Clean Architecture, etc.)
│ ├── frameworks/ # Framework-specific (React, Next.js, etc.)
│ ├── languages/ # Language-specific (TypeScript, etc.)
│ ├── operations/ # Operations (CI/CD, monitoring, SRE)
│ ├── tools/ # Tool-specific
│ └── workflows/ # Workflows
│ ├── terraform/ # IaC (modules, state management, CI/CD integration)
│ ├── monorepo/ # Monorepo design (Turborepo, pnpm workspace)
│ ├── security-review/ # Security review (OWASP, tools)
│ └── tdd-workflow/ # TDD
├── rules/ # Rule definitions
│ ├── coding-style.md # Coding style
│ ├── security.md # Security
│ ├── testing.md # Testing
│ └── ...
├── hooks/ # Hook settings
│ ├── hooks.json # Hook definitions
│ ├── observability.json # Observability settings
│ └── scripts/ # Hook scripts
│ ├── obsidian-export.py # Obsidian integration
│ └── slack-notify.sh # Slack notification
├── mcp-configs/ # MCP server settings
│ └── mcp-servers.json
└── examples/ # Examples
├── CLAUDE.md # Project-specific CLAUDE.md
└── user-CLAUDE.md # User-specific CLAUDE.md
```
---
## Installation
### Install as a Plugin (Recommended)
Use the Claude Code plugin system to install.
```bash
# Add marketplace
/plugin marketplace add tubone24/claude-code-settings
# Install plugin
/plugin install claude-code-settings@tubone24/claude-code-settings
```
---
## Slack Notification Integration
Receive Slack notifications when Claude Code is waiting for user approval (tool execution permission requests).
### Features
- **Slack notification on approval pending**: `Notification` hook sends Slack incoming webhook
- **Block Kit support**: Rich display of message, working directory, hostname, and timestamp
- **Safe fallback**: Skip notification if environment variables are not set (no error)
### Setup
#### 1. Obtain Slack Incoming Webhook URL
Follow the [Slack Incoming Webhooks](https://api.slack.com/messaging/webhooks) guide to create a Webhook URL.
#### 2. Set Environment Variables
```bash
# Add to ~/.zshrc or ~/.bashrc
export SLACK_WEBHOOK_URL="https://hooks.slack.com/services/TXXXXX/BXXXXX/XXXXXXXXXX"
```
Apply changes:
```bash
source ~/.zshrc # or source ~/.bashrc
```
> **Security note**:
> - Never commit the Webhook URL to a Git repository
> - Shell configuration files (e.g., `~/.zshrc`, `~/.bashrc`) are in the home directory and usually not managed by Git
> - For stricter management, add to `~/.claude/.env` and read from shell configuration:
>
> ```bash
> # ~/.claude/.env (not managed by Git)
> SLACK_WEBHOOK_URL=https://hooks.slack.com/services/TXXXXX/BXXXXX/XXXXXXXXXX
> ```
>
> ```bash
> # Add to ~/.zshrc
> [ -f ~/.claude/.env ] && export $(grep -v '^#' ~/.claude/.env | xargs)
> ```
#### 3. Verify Functionality
Restart Claude Code and perform an action that requires approval (e.g., file editing). A notification should be sent to Slack.
### Disable Notification
Remove or comment out the environment variable:
```bash
# Remove or comment out the line in ~/.zshrc
# export SLACK_WEBHOOK_URL="..."
```
---
## Obsidian Integration
Automatically export Claude Code session content to Obsidian.
### Features
- **Automatic export on session end**: `SessionEnd` hook analyzes transcript
- **Structured Markdown**: Organized prompts, edited files, and executed commands
- **YAML front matter**: Compatible with Obsidian properties and tags
- **Collapsible sections**: Long prompts are automatically collapsed using `<details>`
### Setup
1. **Set environment variable (optional - default path detection is used if not set)**:
```bash
# Add to ~/.bashrc or ~/.zshrc
export OBSIDIAN_VAULT_PATH="$HOME/Documents/Obsidian Vault"
```
Automatically detect default paths:
- `~/Documents/Obsidian Vault`
- `~/Documents/Obsidian`
- `~/Obsidian`
2. Installation of the plugin automatically enables the hook.
### Output Example
```markdown
---
date: 2026-01-28
time: 15:30:45
session_id: abc123
project: my-project
tags:
- claude-code
- session
---
# Claude Code Session - 2026-01-28 15:30:45
## User Prompts
### Prompt 1
\`\`\`
User prompt content...
\`\`\`
## Files Edited
- `src/index.ts`
- `package.json`
## Commands Run
\`\`\`bash
npm install
npm test
\`\`\`
## Tool Usage Summary
| Tool | Count |
|------|-------|
| Edit | 5 |
| Bash | 3 |
| Read | 2 |
```
### Save Location
`$OBSIDIAN_VAULT_PATH/Claude-Sessions/claude-session-YYYY-MM-DD-HHMMSS-{session_id}.md`
---
## License
MIT License