Custom agents, skills, hooks, and statusline for Claude Code.
# Add the marketplace
/plugin marketplace add ADWilkinson/claude-code-tools
# Install the plugin
/plugin install cct@cctSkills will be namespaced as /cct:deslop, /cct:lighthouse, etc. Hooks auto-configure when installed as a plugin.
For local development:
claude --plugin-dir ./claude-code-toolsgit clone https://github.com/ADWilkinson/claude-code-tools.git
cd claude-code-tools
./install.shThis copies files to ~/.claude/ for short skill names like /deslop, /lighthouse.
Default install includes agents, skills, hooks, and statusline. The Linear skill will install its dependencies using your available package manager (bun, pnpm, yarn, or npm); hooks still need settings.json configuration when using the install script.
Specialized subagents invoked automatically by Claude Code's Task tool. Framework-agnostic - they detect your stack and adapt.
| Agent | Description |
|---|---|
frontend-developer |
React, Vue, Angular, Svelte, SolidJS - any modern framework |
backend-developer |
Node, Python, Go, Rust, Ruby - REST/GraphQL APIs |
database-manager |
SQL & NoSQL, Prisma, Drizzle, SQLAlchemy, GORM |
mobile-developer |
React Native, Flutter, Swift, Kotlin, cross-platform |
blockchain-specialist |
Solidity, Wagmi, multi-chain, gas optimization |
indexer-developer |
Envio, The Graph, GraphQL, event handlers |
devops-engineer |
CI/CD, Docker, GitHub Actions, cloud deployment |
firebase-specialist |
Firestore, Cloud Functions, FCM, security rules |
extension-developer |
Chrome Manifest V3, service workers, messaging |
mcp-developer |
MCP servers, tool definitions, LLM integrations |
testing-specialist |
Jest, Vitest, Playwright, pytest - any test framework |
performance-engineer |
Profiling, caching, load testing, optimization |
debugger |
Root cause analysis, error tracing, systematic debugging |
refactoring-specialist |
Code smells, simplification, safe transformations |
All agents include:
- Confidence scoring (0-100 scale) - Only make changes with confidence ≥75
- Anti-patterns section - Domain-specific "never do" lists to prevent common mistakes
- Handoff protocols - Clear guidance on when to delegate to other specialists
All agents use opus model for maximum capability.
Skills are the unified way to extend Claude Code. They can be:
- User-invoked with
/skill-name(like the former "slash commands") - Model-invoked automatically when relevant (based on description matching)
| Skill | Invocation | Description |
|---|---|---|
deslop |
/deslop |
Remove AI-generated slop from diffs. Confidence scoring, false positive lists. |
design-audit |
/design-audit |
Audit UI for accessibility (WCAG) and visual consistency. Supports --thorough. |
repo-polish |
/repo-polish |
Fire-and-forget repository cleanup. Creates branch, fixes issues, opens PR. |
update-claudes |
/update-claudes |
Generate CLAUDE.md files throughout your project for AI context. |
minimize-ui |
/minimize-ui |
Systematic UI minimalization through ruthless reduction. 7-phase workflow. |
lighthouse |
/lighthouse |
Run Lighthouse audits and iteratively fix until target scores (default 95). |
generate-precommit-hooks |
/generate-precommit-hooks |
Detect project type and set up appropriate pre-commit hooks. |
xml |
/xml |
Convert prompts to XML format for structured Claude interactions. |
linear |
Auto or /linear |
Full Linear task management - view, search, create, update issues. |
verify-changes |
Auto | Run tests, builds, checks to verify code works after changes. |
clarify-before-implementing |
Auto | Ask targeted clarifying questions before coding to avoid wrong work. |
User-invoked skills (marked with /skill-name) require manual invocation with the slash command.
Auto-invoked skills are triggered automatically by Claude when your request matches their description.
Linear Skill Features:
my-tasks/backlog/in-progress/team-tasks- View issues by statesearch "query"- Search title and description--label NAME- Filter any list by labelcreate/start/done/show/comment- Issue actions
Setup:
cd skills/linear && ./install.sh
export LINEAR_API_KEY="lin_api_..." # Add to ~/.zshrcThen just talk naturally: "show my tasks", "search rebrand issues", "mark ENG-123 done"
verify-changes: Auto-detects project type and runs appropriate verification (typecheck, lint, test, build). Provides the feedback loop that 2-3x code quality.
Custom statusline showing:
- Current directory and git branch
- Activity icons for active tools
- Cumulative cost tracking
- Code diff stats (+/- lines)
Shell scripts that run at specific points in Claude Code's lifecycle:
auto-format.sh- PostToolUse hook that runs formatters after Claude writes code. Supports Prettier, Ruff, gofmt, rustfmt, forge fmt.constraint-persistence.sh- UserPromptSubmit hook that detects when you set rules ("from now on", "always do X") and prompts Claude to save them to CLAUDE.md.
Install copies hooks to ~/.claude/hooks, but you still need to add them to settings.json. See hooks/README.md for setup instructions.
Reusable rule files for ~/.claude/rules/:
code-quality.md- Standards for reading before writing, keeping it simple, measurement over estimation.
# Install everything
./install.sh
# Preview without installing
./install.sh --dry-run
# Install only agents
./install.sh --agents-only
# Install only skills
./install.sh --skills-only
# Install only hooks
./install.sh --hooks-only
# Skip skills
./install.sh --no-skills
# Skip hooks
./install.sh --no-hooks
# Skip statusline
./install.sh --no-statusline
# Verbose output
./install.sh -v
# Custom Claude directory
./install.sh --claude-dir /path/to/.claudePull the latest versions without re-cloning:
./update.sh
# Preview what would be updated
./update.sh --dry-run
# Custom Claude directory
./update.sh --claude-dir /path/to/.claudeAgents and skills are refreshed; hooks and statusline are updated when installed.
Remove all installed tools:
./uninstall.sh
# Preview what would be removed
./uninstall.sh --dry-run
# Skip confirmation
./uninstall.sh --force
# Custom Claude directory
./uninstall.sh --claude-dir /path/to/.claudemkdir -p ~/.claude/agents
cp agents/*.md ~/.claude/agents/# Linear (includes dependencies)
cd skills/linear && ./install.sh
# Other skills (just copy the skill directory)
mkdir -p ~/.claude/skills/verify-changes
cp -R skills/verify-changes/* ~/.claude/skills/verify-changes/
# Or copy all skills
for skill_dir in skills/*; do
skill_name=$(basename "$skill_dir")
mkdir -p ~/.claude/skills/$skill_name
cp -R "$skill_dir"/* ~/.claude/skills/$skill_name/
donecp statusline/flying-dutchman-statusline.sh ~/.claude/
chmod +x ~/.claude/flying-dutchman-statusline.sh
# Add to ~/.claude/settings.json:
# "statusline": "~/.claude/flying-dutchman-statusline.sh"mkdir -p ~/.claude/hooks
cp hooks/*.sh ~/.claude/hooks/
chmod +x ~/.claude/hooks/*.sh
# Add to ~/.claude/settings.json under "hooks" - see hooks/README.mdmkdir -p ~/.claude/rules
cp rules/*.md ~/.claude/rules/
# Reference in ~/.claude/CLAUDE.md: @~/.claude/rules/code-quality.mdEach agent follows a consistent structure:
---
name: agent-name
author: Andrew Wilkinson (github.com/ADWilkinson)
description: Brief description for when to use this agent
model: sonnet | opus
tools: Read, Edit, MultiEdit, Write, Bash, Grep, Glob, LS, WebFetch
---
You are an expert...
## When Invoked
1. Step 1
2. Step 2
...
## Core Expertise
- Skill 1
- Skill 2
## Code Patterns
```code examples```
## Quality/Security Checklist
- [ ] Item 1
- [ ] Item 2
## Confidence Scoring
| Score | Meaning | Action |
|-------|---------|--------|
| 0-25 | Might be intentional | Ask before changing |
| 50 | Likely improvement | Suggest with explanation |
| 75-100 | Definitely should change | Implement directly |
## Anti-Patterns (Never Do)
- Never do X
- Never do Y
## Handoff Protocol
- **Related task**: HANDOFF:other-agentEach skill lives in its own directory under skills/ with a SKILL.md file:
---
name: skill-name
author: Andrew Wilkinson (github.com/ADWilkinson)
description: When this skill should be used
disable-model-invocation: true # Optional: prevents auto-invocation
allowed-tools: Read, Edit, Bash # Optional: restrict available tools
---
# Skill Title
> **Quick Reference**: Brief summary of the workflow
Detailed instructions for executing the skill...Templates are included if you want to fork and create your own tools:
# Create a new agent
cp templates/agent-template.md agents/your-agent-name.md
# Create a new skill
mkdir -p skills/your-skill
cp templates/skill-template.md skills/your-skill/SKILL.mdFollow existing naming conventions (kebab-case) and include clear descriptions for when Claude should invoke your tool.
Andrew Wilkinson (@andrewwilkinson)
MIT