Awesome Claude Code Curation
Awesome Claude Code 精选合集
Skill by
ara.so — Claude Code Skills collection.
由
ara.so提供的技能——Claude Code技能合集。
The
awesome-claude-code repository is a curated collection of high-quality resources for Claude Code and other AI coding agents. It includes skills, agents, hooks, status lines, orchestrators, developer tooling, and features for the Claude Code ecosystem.
Key Focus Areas:
- Agent skills and capabilities
- Agentic coding workflows
- AI workflow optimization
- Coding assistants and agents
- Claude Code extensions and plugins
awesome-claude-code仓库是针对Claude Code及其他AI编码Agent的高质量资源精选合集,包含Claude Code生态系统的技能、Agent、钩子、状态栏、编排器、开发者工具及功能。
核心关注领域:
- Agent技能与能力
- 智能编码工作流
- AI工作流优化
- 编码助手与Agent
- Claude Code扩展与插件
The repository is currently undergoing reorganization. The traditional Table of Contents structure is being replaced with a new organizational system optimized for both human and AI contributors.
Current Status:
- Repository has 43,934+ stars
- 3,756+ forks
- Active community with 307 open issues
- Emphasis on code quality, security, and originality
该仓库目前正在进行重组,传统的目录结构将被替换为一套针对人类和AI贡献者优化的新组织系统。
当前状态:
- 仓库拥有43,934+星标
- 3,756+复刻版
- 活跃社区,有307个开放议题
- 注重代码质量、安全性与原创性
Contributing Guidelines
贡献指南
When contributing to awesome-claude-code, follow these principles:
- Quality Over Quantity: Submit only high-quality, tested resources
- Security First: No hardcoded credentials or API keys
- Originality: Unique contributions that add real value
- Documentation: Clear, comprehensive explanations
- Working Code: All examples must be functional
向awesome-claude-code贡献时,请遵循以下原则:
- 质量优先:仅提交经过测试的高质量资源
- 安全第一:禁止硬编码凭证或API密钥
- 原创性:能带来实际价值的独特贡献
- 文档完善:清晰、全面的说明
- 代码可用:所有示例必须可正常运行
Creating a Skill Entry
创建技能条目
When adding a new Claude Code skill:
Example structure for a skill contribution
Example structure for a skill contribution
skill_entry = {
"name": "descriptive-kebab-case-name",
"description": "Clear one-line description of functionality",
"repository": "github-username/repo-name",
"language": "primary-language",
"category": "skills|agents|hooks|tools",
"topics": ["relevant", "keywords"],
"stars": "current_star_count"
}
skill_entry = {
"name": "descriptive-kebab-case-name",
"description": "Clear one-line description of functionality",
"repository": "github-username/repo-name",
"language": "primary-language",
"category": "skills|agents|hooks|tools",
"topics": ["relevant", "keywords"],
"stars": "current_star_count"
}
Pull Request Template
拉取请求模板
Skill/Resource Submission
Skill/Resource Submission
Name: [Resource Name]
Repository: [GitHub URL]
Category: [Skills/Agents/Hooks/Tools/etc.]
Name: [Resource Name]
Repository: [GitHub URL]
Category: [Skills/Agents/Hooks/Tools/etc.]
[Clear description of what this resource does]
[Clear description of what this resource does]
Why This Resource is Awesome
Why This Resource is Awesome
- Unique feature 1
- Unique feature 2
- Proven use cases
- Unique feature 1
- Unique feature 2
- Proven use cases
Finding and Using Resources
查找与使用资源
Browsing the Collection
浏览合集
Example: Searching for specific skills programmatically
Example: Searching for specific skills programmatically
import requests
from typing import List, Dict
def search_awesome_claude_code(query: str) -> List[Dict]:
"""
Search the awesome-claude-code repository for relevant resources.
Args:
query: Search term (e.g., "python skills", "web scraping")
Returns:
List of matching resources
"""
# Use GitHub API to search repository contents
api_url = "https://api.github.com/repos/hesreallyhim/awesome-claude-code"
headers = {
"Accept": "application/vnd.github.v3+json",
"Authorization": f"token {os.environ.get('GITHUB_TOKEN')}"
}
response = requests.get(f"{api_url}/contents", headers=headers)
if response.status_code == 200:
contents = response.json()
# Filter and return relevant items
return [item for item in contents if query.lower() in item.get('name', '').lower()]
return []
import requests
from typing import List, Dict
def search_awesome_claude_code(query: str) -> List[Dict]:
"""
Search the awesome-claude-code repository for relevant resources.
Args:
query: Search term (e.g., "python skills", "web scraping")
Returns:
List of matching resources
"""
# Use GitHub API to search repository contents
api_url = "https://api.github.com/repos/hesreallyhim/awesome-claude-code"
headers = {
"Accept": "application/vnd.github.v3+json",
"Authorization": f"token {os.environ.get('GITHUB_TOKEN')}"
}
response = requests.get(f"{api_url}/contents", headers=headers)
if response.status_code == 200:
contents = response.json()
# Filter and return relevant items
return [item for item in contents if query.lower() in item.get('name', '').lower()]
return []
Installing a Skill from the Collection
从合集中安装技能
Clone a specific skill repository
Clone a specific skill repository
Or use the Claude Code CLI (if available)
Or use the Claude Code CLI (if available)
claude-code install skill-name
claude-code install skill-name
Or add to your skills directory
Or add to your skills directory
mkdir -p ~/.claude/skills
cp SKILL.md ~/.claude/skills/skill-name.md
mkdir -p ~/.claude/skills
cp SKILL.md ~/.claude/skills/skill-name.md
Pattern 1: Skill Discovery
模式1:技能发现
Find skills by topic
Find skills by topic
def find_skills_by_topic(topic: str) -> List[str]:
"""
Discover skills related to a specific topic.
Args:
topic: Topic keyword (e.g., "web-scraping", "testing")
"""
topics_mapping = {
"agent-skills": ["autonomous-tasks", "workflow-automation"],
"coding-assistant": ["code-generation", "refactoring"],
"ai-workflows": ["pipeline-optimization", "batch-processing"]
}
return topics_mapping.get(topic, [])
def find_skills_by_topic(topic: str) -> List[str]:
"""
Discover skills related to a specific topic.
Args:
topic: Topic keyword (e.g., "web-scraping", "testing")
"""
topics_mapping = {
"agent-skills": ["autonomous-tasks", "workflow-automation"],
"coding-assistant": ["code-generation", "refactoring"],
"ai-workflows": ["pipeline-optimization", "batch-processing"]
}
return topics_mapping.get(topic, [])
Pattern 2: Skill Validation
模式2:技能验证
Validate a skill before submission
Validate a skill before submission
def validate_skill(skill_path: str) -> Dict[str, bool]:
"""
Validate a Claude Code skill file.
Args:
skill_path: Path to SKILL.md file
Returns:
Dictionary of validation results
"""
validations = {
"has_frontmatter": False,
"has_description": False,
"has_examples": False,
"no_secrets": True
}
with open(skill_path, 'r') as f:
content = f.read()
# Check YAML frontmatter
validations["has_frontmatter"] = content.startswith('---')
# Check for description
validations["has_description"] = 'description:' in content
# Check for code examples
validations["has_examples"] = '```' in content
# Check for hardcoded secrets
secret_patterns = ['api_key = "', 'password = "', 'token = "']
validations["no_secrets"] = not any(pattern in content for pattern in secret_patterns)
return validations
def validate_skill(skill_path: str) -> Dict[str, bool]:
"""
Validate a Claude Code skill file.
Args:
skill_path: Path to SKILL.md file
Returns:
Dictionary of validation results
"""
validations = {
"has_frontmatter": False,
"has_description": False,
"has_examples": False,
"no_secrets": True
}
with open(skill_path, 'r') as f:
content = f.read()
# Check YAML frontmatter
validations["has_frontmatter"] = content.startswith('---')
# Check for description
validations["has_description"] = 'description:' in content
# Check for code examples
validations["has_examples"] = '```' in content
# Check for hardcoded secrets
secret_patterns = ['api_key = "', 'password = "', 'token = "']
validations["no_secrets"] = not any(pattern in content for pattern in secret_patterns)
return validations
Pattern 3: Skill Integration
模式3:技能集成
Integrate multiple skills for a workflow
Integrate multiple skills for a workflow
class ClaudeCodeWorkflow:
"""Orchestrate multiple Claude Code skills."""
def __init__(self):
self.skills_dir = os.path.expanduser("~/.claude/skills")
self.loaded_skills = []
def load_skill(self, skill_name: str) -> Dict:
"""Load a skill from the collection."""
skill_path = os.path.join(self.skills_dir, f"{skill_name}.md")
if not os.path.exists(skill_path):
raise FileNotFoundError(f"Skill {skill_name} not found")
with open(skill_path, 'r') as f:
# Parse skill metadata and content
return {"name": skill_name, "content": f.read()}
def combine_skills(self, skill_names: List[str]) -> str:
"""Combine multiple skills for complex workflows."""
combined = []
for skill_name in skill_names:
skill = self.load_skill(skill_name)
combined.append(skill["content"])
self.loaded_skills.append(skill_name)
return "\n\n---\n\n".join(combined)
class ClaudeCodeWorkflow:
"""Orchestrate multiple Claude Code skills."""
def __init__(self):
self.skills_dir = os.path.expanduser("~/.claude/skills")
self.loaded_skills = []
def load_skill(self, skill_name: str) -> Dict:
"""Load a skill from the collection."""
skill_path = os.path.join(self.skills_dir, f"{skill_name}.md")
if not os.path.exists(skill_path):
raise FileNotFoundError(f"Skill {skill_name} not found")
with open(skill_path, 'r') as f:
# Parse skill metadata and content
return {"name": skill_name, "content": f.read()}
def combine_skills(self, skill_names: List[str]) -> str:
"""Combine multiple skills for complex workflows."""
combined = []
for skill_name in skill_names:
skill = self.load_skill(skill_name)
combined.append(skill["content"])
self.loaded_skills.append(skill_name)
return "\n\n---\n\n".join(combined)
Environment Variables
环境变量
GitHub token for API access (optional, increases rate limits)
GitHub token for API access (optional, increases rate limits)
export GITHUB_TOKEN="your_github_token_here"
export GITHUB_TOKEN="your_github_token_here"
Claude Code skills directory
Claude Code skills directory
export CLAUDE_SKILLS_DIR="$HOME/.claude/skills"
export CLAUDE_SKILLS_DIR="$HOME/.claude/skills"
Custom repository URL (if forked)
Custom repository URL (if forked)
export AWESOME_CLAUDE_CODE_REPO="hesreallyhim/awesome-claude-code"
export AWESOME_CLAUDE_CODE_REPO="hesreallyhim/awesome-claude-code"
Clone the repository
Clone the repository
Keep it updated
Keep it updated
Create a branch for contributions
Create a branch for contributions
git checkout -b add-new-skill
git checkout -b add-new-skill
Issue: Can't Find a Specific Skill
问题:找不到特定技能
Solution: The repository is being reorganized. Check:
- Open issues for status updates
- Recent commits for structural changes
- Contact maintainers via GitHub issues
解决方案:仓库正在重组,请检查:
- 开放议题获取状态更新
- 最近的提交查看结构变化
- 通过GitHub议题联系维护者
Issue: Outdated Skill Information
问题:技能信息过时
Solution: Submit a pull request with updates:
Fork and update
Fork and update
git add .
git commit -m "Update: [skill-name] - [what changed]"
git push origin main
git add .
git commit -m "Update: [skill-name] - [what changed]"
git push origin main
Create PR on GitHub
Create PR on GitHub
Issue: Contribution Guidelines Unclear
问题:贡献指南不清晰
Solution: The project values:
- Code Quality: Clean, well-documented code
- Security: Use environment variables for secrets
- Originality: Novel solutions, not duplicates
- Testing: Verify all examples work
When in doubt, open an issue asking for clarification before submitting.
解决方案:本项目重视:
- 代码质量:简洁、文档完善的代码
- 安全性:使用环境变量存储敏感信息
- 原创性:新颖的解决方案,而非重复内容
- 测试:验证所有示例可正常运行
如有疑问,请在提交前发起议题寻求澄清。
- Before Submitting: Test thoroughly, document clearly
- Naming: Use descriptive kebab-case names
- Security: Never commit API keys or passwords
- Updates: Keep your contributions maintained
- Community: Engage with issues and discussions
- 提交前:彻底测试,清晰记录文档
- 命名:使用描述性短横线分隔命名(kebab-case)
- 安全:绝不要提交API密钥或密码
- 更新:保持你的贡献内容处于维护状态
- 社区:参与议题讨论
- Repository: https://github.com/hesreallyhim/awesome-claude-code
- License: No assertion (check individual skills)
- Stars: 43,934+ (actively growing)
- Community: 3,756+ forks, active development
This skill helps AI agents understand and contribute to the awesome-claude-code ecosystem. For the latest updates, always check the repository directly.