| name | awesome-claude-code-subagents |
| description | Collection of 131+ specialized Claude Code subagents for development tasks across languages, frameworks, infrastructure, and quality assurance |
| triggers | ["install a Claude subagent for Python development","show me available subagents for infrastructure","how do I use the TypeScript subagent","find a subagent for API design","install the React specialist agent","what subagents are available for security testing","set up a fullstack developer subagent","browse available Claude Code agents"] |
awesome-claude-code-subagents
Skill by ara.so — AI Agent Skills collection.
A curated collection of 131+ specialized Claude Code subagents covering development tasks from frontend to infrastructure, language specialists, quality assurance, and meta-orchestration. Each subagent is a markdown file that configures Claude Code with expert knowledge in a specific domain.
What This Project Does
This repository provides pre-configured Claude Code subagents that act as specialized AI assistants for:
- Core Development - API design, frontend, backend, fullstack, mobile, GraphQL, microservices
- Language Specialists - TypeScript, Python, Go, Rust, Java, JavaScript, PHP, C++, C#, Swift, Kotlin, and more
- Infrastructure - Docker, Kubernetes, Terraform, cloud providers, DevOps, SRE, databases
- Quality & Security - Code review, testing, security auditing, compliance, debugging
- Data & Analytics - Data engineering, ML ops, analytics
- Documentation - Technical writing, API docs, architecture diagrams
- Emerging Tech - Blockchain, IoT, edge computing, quantum
- Business & Product - Product management, business analysis
- Meta-Orchestration - Agent coordination, skill management, workflow automation
Installation
Prerequisites
- Claude Code CLI installed
- Git (for cloning)
- curl (for standalone installer)
Option 1: Claude Code Plugin (Recommended)
claude plugin marketplace add VoltAgent/awesome-claude-code-subagents
claude plugin install voltagent-core-dev
claude plugin install voltagent-lang
claude plugin install voltagent-infra
claude plugin install voltagent-qa-sec
claude plugin install voltagent-meta
Option 2: Manual Installation
git clone https://github.com/VoltAgent/awesome-claude-code-subagents.git
cd awesome-claude-code-subagents
cp categories/02-language-specialists/python-pro.md ~/.claude/agents/
mkdir -p .claude/agents
cp categories/01-core-development/api-designer.md .claude/agents/
Option 3: Interactive Installer
git clone https://github.com/VoltAgent/awesome-claude-code-subagents.git
cd awesome-claude-code-subagents
chmod +x install-agents.sh
./install-agents.sh
Interactive menu allows browsing categories and selecting agents.
Option 4: Standalone Installer (No Clone)
curl -sO https://raw.githubusercontent.com/VoltAgent/awesome-claude-code-subagents/main/install-agents.sh
chmod +x install-agents.sh
./install-agents.sh
Option 5: Agent Installer (Meta Agent)
curl -s https://raw.githubusercontent.com/VoltAgent/awesome-claude-code-subagents/main/categories/09-meta-orchestration/agent-installer.md \
-o ~/.claude/agents/agent-installer.md
Then use in Claude Code:
Use the agent-installer to show me available categories
Find PHP agents and install php-pro globally
Key Commands & Usage
Listing Installed Agents
claude agents list
ls ~/.claude/agents/
ls .claude/agents/
Using Subagents in Claude Code
Once installed, reference agents in your prompts:
@python-pro help me optimize this data processing pipeline
@api-designer @typescript-pro create a REST API with TypeScript
@meta-orchestrator coordinate frontend and backend development for user authentication
Common Agent Selection Patterns
Language-specific work:
@typescript-pro refactor this code to use modern TypeScript patterns
@python-pro implement async processing with asyncio
@rust-engineer optimize this for zero-copy operations
Infrastructure tasks:
@kubernetes-specialist help me debug this pod networking issue
@terraform-engineer review my AWS infrastructure code
@docker-expert optimize this Dockerfile for production
Quality & Security:
@code-reviewer check this PR for best practices
@security-engineer audit this authentication implementation
@penetration-tester assess this API for security vulnerabilities
Full-stack coordination:
@fullstack-developer implement user profile editing feature
@meta-orchestrator plan a microservices migration strategy
Agent File Structure
Each subagent is a markdown file with this structure:
---
agent_name: python-pro
version: 1.0.0
specialization: Python ecosystem expert
---
# Python Pro Subagent
## Role
Expert in Python development, async programming, data processing...
## Expertise
- Python 3.10+ features
- AsyncIO and concurrency
- Popular frameworks (Django, FastAPI, Flask)
...
## Guidelines
- Use type hints
- Follow PEP 8
...
Configuration
Global vs Project-Specific Agents
Global agents (~/.claude/agents/):
- Available across all projects
- Use for general-purpose agents
- Language specialists, code reviewers
Project-specific agents (.claude/agents/):
- Available only in current project
- Use for domain-specific or customized agents
- Project-specific workflows
Customizing Agents
cp ~/.claude/agents/python-pro.md ~/.claude/agents/my-custom-python.md
vim ~/.claude/agents/my-custom-python.md
Example customization:
---
agent_name: django-company-pro
version: 1.0.0
specialization: Django expert for CompanyName internal standards
---
# Django Company Pro
## Role
Django expert following CompanyName coding standards
## Additional Context
- Use our custom User model at `apps.accounts.models.User`
- All APIs must include our custom authentication middleware
- Follow our specific project structure in `docs/architecture.md`
## Company-Specific Patterns
```python
# Our standard API view pattern
from apps.core.views import CompanyAPIView
class UserProfileView(CompanyAPIView):
permission_classes = [IsAuthenticated, HasCompanyPermission]
def get(self, request):
# Company standard response format
return self.success_response(data, meta=self.get_meta())
## Real Code Examples
### Example 1: Using Python Pro for Data Processing
```python
# Ask: @python-pro help me optimize this data processing script
import asyncio
from typing import List, Dict
from dataclasses import dataclass
from concurrent.futures import ProcessPoolExecutor
@dataclass
class ProcessingResult:
id: str
status: str
data: Dict
async def process_batch(items: List[Dict]) -> List[ProcessingResult]:
"""Process items in parallel using asyncio and multiprocessing."""
loop = asyncio.get_event_loop()
with ProcessPoolExecutor(max_workers=4) as executor:
futures = [
loop.run_in_executor(executor, process_item, item)
for item in items
]
results = await asyncio.gather(*futures)
return results
def process_item(item: Dict) -> ProcessingResult:
"""CPU-intensive processing in separate process."""
# Heavy computation here
return ProcessingResult(
id=item['id'],
status='completed',
data={'result': item['value'] * 2}
)
# Usage
async def main():
items = [{'id': str(i), 'value': i} for i in range(100)]
results = await process_batch(items)
print(f"Processed {len(results)} items")
asyncio.run(main())
Example 2: Using TypeScript Pro for Type-Safe API
import axios, { AxiosInstance } from 'axios';
interface User {
id: string;
email: string;
name: string;
createdAt: Date;
}
interface CreateUserDto {
email: string;
name: string;
password: string;
}
interface ApiResponse<T> {
data: T;
meta: {
timestamp: string;
requestId: string;
};
}
class UserApiClient {
private client: AxiosInstance;
constructor(baseURL: string) {
this.client = axios.create({
baseURL,
headers: {
'Content-Type': 'application/json',
},
});
}
async getUser(id: string): <> {
response = ..<<>>();
{
...response..,
: (response...),
};
}
(: ): <> {
response = ..<<>>(, dto);
response..;
}
(?: { ?: }): <[]> {
response = ..<<[]>>(, {
: filters,
});
response..;
}
}
api = (process..!);
newUser = api.({
: ,
: ,
: ,
});
user = api.(newUser.);
.(user..());
Example 3: Using Terraform Engineer for Infrastructure
# Ask: @terraform-engineer create a production-ready AWS infrastructure
# variables.tf
variable "environment" {
description = "Environment name"
type = string
validation {
condition = contains(["dev", "staging", "prod"], var.environment)
error_message = "Environment must be dev, staging, or prod"
}
}
variable "app_name" {
description = "Application name"
type = string
}
# vpc.tf
module "vpc" {
source = "terraform-aws-modules/vpc/aws"
version = "~> 5.0"
name = "${var.app_name}-${var.environment}"
cidr = "10.0.0.0/16"
azs = ["us-east-1a", "us-east-1b", "us-east-1c"]
private_subnets = ["10.0.1.0/24", "10.0.2.0/24", "10.0.3.0/24"]
public_subnets = ["10.0.101.0/24", "10.0.102.0/24", "10.0.103.0/24"]
enable_nat_gateway = true
single_nat_gateway = var.environment != "prod"
enable_dns_hostnames = true
enable_dns_support = true
tags = local.common_tags
}
# ecs.tf
resource "aws_ecs_cluster" "main" {
name = "${var.app_name}-${var.environment}"
setting {
name = "containerInsights"
value = "enabled"
}
tags = local.common_tags
}
resource "aws_ecs_task_definition" "app" {
family = "${var.app_name}-${var.environment}"
network_mode = "awsvpc"
requires_compatibilities = ["FARGATE"]
cpu = 256
memory = 512
execution_role_arn = aws_iam_role.ecs_execution.arn
task_role_arn = aws_iam_role.ecs_task.arn
container_definitions = jsonencode([{
name = "app"
image = "${aws_ecr_repository.app.repository_url}:latest"
portMappings = [{
containerPort = 8080
protocol = "tcp"
}]
environment = [
{
name = "ENVIRONMENT"
value = var.environment
}
]
secrets = [
{
name = "DATABASE_URL"
valueFrom = aws_secretsmanager_secret.db_url.arn
}
]
logConfiguration = {
logDriver = "awslogs"
options = {
"awslogs-group" = aws_cloudwatch_log_group.app.name
"awslogs-region" = data.aws_region.current.name
"awslogs-stream-prefix" = "ecs"
}
}
}])
tags = local.common_tags
}
# locals.tf
locals {
common_tags = {
Environment = var.environment
Application = var.app_name
ManagedBy = "Terraform"
}
}
# outputs.tf
output "vpc_id" {
description = "VPC ID"
value = module.vpc.vpc_id
}
output "ecs_cluster_name" {
description = "ECS cluster name"
value = aws_ecs_cluster.main.name
}
Example 4: Using Docker Expert for Container Optimization
# Ask: @docker-expert optimize this Dockerfile for production
# Multi-stage build for Node.js application
FROM node:20-alpine AS base
WORKDIR /app
ENV NODE_ENV=production
# Dependencies stage
FROM base AS deps
COPY package*.json ./
RUN npm ci --only=production && \
npm cache clean --force
# Build stage
FROM base AS build
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
# Production stage
FROM base AS production
# Security: Run as non-root user
RUN addgroup --system --gid 1001 nodejs && \
adduser --system --uid 1001 appuser
# Copy dependencies and built app
COPY --from=deps --chown=appuser:nodejs /app/node_modules ./node_modules
COPY --from=build --chown=appuser:nodejs /app/dist ./dist
COPY --from=build --chown=appuser:nodejs /app/package*.json ./
# Security: Set correct permissions
RUN chown -R appuser:nodejs /app
USER appuser
EXPOSE 3000
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
CMD node -e "require('http').get('http://localhost:3000/health', (r) => {process.exit(r.statusCode === 200 ? 0 : 1)})"
CMD ["node", "dist/main.js"]
version: '3.8'
services:
app:
build:
context: .
target: base
args:
NODE_ENV: development
volumes:
- .:/app
- /app/node_modules
ports:
- "3000:3000"
environment:
- NODE_ENV=development
- DATABASE_URL=${DATABASE_URL}
depends_on:
db:
condition: service_healthy
networks:
- app-network
db:
image: postgres:15-alpine
environment:
- POSTGRES_DB=appdb
- POSTGRES_USER=appuser
- POSTGRES_PASSWORD=${DB_PASSWORD}
volumes:
- postgres-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U appuser"]
interval: 10s
timeout:
Example 5: Using Meta-Orchestrator for Multi-Agent Coordination
@product-manager "Define user authentication feature requirements"
@api-designer "Design authentication API endpoints with JWT tokens"
@typescript-pro "Implement authentication service with bcrypt and JWT"
@database-administrator "Create user and session tables with proper indexes"
@react-specialist "Create login and registration components with form validation"
@kubernetes-specialist "Configure auth service deployment with secrets management"
@security-engineer "Review authentication implementation for vulnerabilities"
@testing-specialist "Create integration tests for auth flow"
@technical-writer "Document authentication API and user flows"
Common Patterns
Pattern 1: Language Expert + Code Reviewer
@python-pro implement user service with async database access
@code-reviewer review the user service implementation for best practices
Pattern 2: Infrastructure Stack Setup
@terraform-engineer create base VPC and networking
@kubernetes-specialist deploy application to EKS cluster
@docker-expert optimize container images for production
Pattern 3: Full Feature Development
@meta-orchestrator "Implement user profile editing feature with:
- Backend API in Python/FastAPI
- React frontend with TypeScript
- PostgreSQL database
- Kubernetes deployment
- Full test coverage"
Pattern 4: Security-First Development
@security-engineer review this authentication design
@typescript-pro implement the secure authentication flow
@penetration-tester test the auth implementation for vulnerabilities
Pattern 5: Migration Projects
@meta-orchestrator "Plan migration from monolith to microservices:
- Analyze current Python Django monolith
- Design microservices architecture
- Create migration strategy
- Implement service mesh with Kubernetes"
Troubleshooting
Agent Not Found
ls ~/.claude/agents/
ls .claude/agents/
claude agents list
cp categories/02-language-specialists/python-pro.md ~/.claude/agents/
Agent Not Responding to Trigger
@python-pro help with this code
python-pro help with this code
cat ~/.claude/agents/python-pro.md
Multiple Agents Conflicting
@typescript-pro specifically, how should I type this function?
@meta-orchestrator coordinate @frontend-developer and @backend-developer for this feature
Agent File Permissions
chmod 644 ~/.claude/agents/*.md
chmod 755 ~/.claude/agents/
Custom Agent Not Loading
# Check YAML frontmatter format (must be valid)
---
agent_name: my-custom-agent
version: 1.0.0
specialization: Custom expertise
---
# Ensure no extra spaces or special characters in YAML
# Agent name must be kebab-case
# File must be .md extension
Updating Agents
cd awesome-claude-code-subagents
git pull origin main
./install-agents.sh
cp categories/02-language-specialists/python-pro.md ~/.claude/agents/
Debugging Agent Behavior
@python-pro what are your capabilities?
@python-pro explain your approach to async programming
@python-pro write a simple hello world function
Environment Variables
Agents reference environment variables for sensitive data:
export DATABASE_URL="postgresql://user:pass@localhost:5432/db"
export API_KEY="${API_KEY}"
export AWS_REGION="us-east-1"
Agents will use ${VARIABLE_NAME} or process.env.VARIABLE_NAME syntax instead of hardcoded values.
Additional Resources
Contributing
To add or improve agents:
- Fork the repository
- Add agent to appropriate category directory
- Follow the agent template structure
- Submit pull request
Agent template:
---
agent_name: my-agent
version: 1.0.0
specialization: Brief description
---
# Agent Name
## Role
What this agent does
## Expertise
- Key skill 1
- Key skill 2
## Guidelines
- Best practice 1
- Best practice 2