philoserf/claude-code-setup
Comprehensive Claude Code configuration with agents, skills, hooks, and automation
npx skills add philoserf/claude-code-setupREADME
Claude Code Setup
A comprehensive, production-ready configuration for Claude Code demonstrating best practices for customization and automation. This is a reference implementation—fork it, steal what you like, adapt it to your workflow.
What's Here
- 2 Agents: Specialized assistants for specific tasks (evaluator, test runner)
- 17 Skills: Reusable capabilities for auditing, authoring, workflows, and more
- 7 Hooks: Automation for validation, formatting, logging, and notifications
- Decision guides and references: Help choosing the right component type and naming things consistently
This directory (~/.claude) is the global configuration directory for Claude Code. All customizations here apply across projects unless overridden locally.
Installation
Don't install this. Just steal what you like.
Quick Start
-
Customize your settings
- Edit
settings.jsonto adjust tool permissions and MCP servers - Edit
CLAUDE.mdto document your coding principles and preferences
- Edit
-
Create customizations
- Use
/create-agent [name]to build specialized agents - Use
/create-skill [name]to create reusable capabilities - Use
/create-command [name]to build quick shortcuts - Use
/create-output-style [name]to define behavior modes
- Use
-
Review the decision guides
references/decision-matrix.md- Quick component selectionreferences/when-to-use-what.md- Detailed scenarios and examples
Directory Structure
Configuration Files
| File | Purpose |
|---|---|
settings.json | Global permissions, MCP servers, cleanup policies, and tool approvals |
CLAUDE.md | Instructions for Claude when working in this repository |
.gitignore | Git ignore rules for this configuration directory |
Extension Directories (tracked in git)
| Directory | Purpose |
|---|---|
agents/ | Specialized AI agents for specific workflows |
skills/ | Reusable capabilities and knowledge domains |
hooks/ | Event-driven automation and validation |
references/ | Shared decision guides and naming conventions |
Session Data (not tracked in git)
| Directory | Purpose |
|---|---|
projects/ | Per-project metadata and usage tracking |
todos/ | Session-scoped todo lists |
plans/ | Implementation plans from plan mode |
file-history/ | Change tracking for edited files |
session-env/ | Environment snapshots per session |
logs/ | Session and commit history logs |
debug/ | Session debug output |
shell-snapshots/ | Shell environment captures |
statsig/ | Feature flag evaluation cache |
history.jsonl | Conversation history across sessions |
Customizing Your Setup
Creating Agents
When to use: Build specialized assistants for complex tasks requiring specific tools, models, or focused behavior.
/create-agent my-agent
The agent-authoring skill guides you through:
- Defining purpose and scope
- Selecting model (Sonnet/Haiku/Opus)
- Configuring tool restrictions
- Writing focus areas and approach
Examples: Read-only analyzers, code generators, domain-specific experts
Creating Skills
When to use: Encapsulate domain knowledge, best practices, or complex workflows that multiple agents/commands might use.
/create-skill my-skill
The skill-authoring skill guides you through:
- Defining capability and trigger patterns
- Structuring with progressive disclosure
- Organizing supporting documentation
- Configuring allowed tools
Examples: Best practices, auditing guidelines, deployment procedures
Creating Commands
When to use: Build quick shortcuts for specific workflows or as entry points to skills.
/create-command my-command
The command-authoring skill guides you through:
- Designing delegation patterns
- Handling arguments and validation
- Keeping commands focused and simple
- Deciding when to delegate to skills
Examples: User shortcuts, project templates, explicit workflows
Creating Output-Styles
When to use: Define persona modes that change how Claude behaves (tone, verbosity, approach).
/create-output-style my-style
The output-style-authoring skill guides you through:
- Defining persona and role
- Specifying concrete behaviors
- Deciding scope (user vs project)
- Setting keep-coding-instructions
*Examples
...