MCP Server Builder
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
Pythonic 惯用法、PEP 8 标准、类型提示,以及构建稳健、高效且可维护 Python 应用的最佳实践. An agent skill from xu-xiang/everything-claude-code-zh.
$ npx skills add xu-xiang/everything-claude-code-zh --skill python-patterns -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install xu-xiang/everything-claude-code-zh python-patterns --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/xu-xiang/everything-claude-code-zh.git skills-src && mkdir -p .claude/skills && cp -r skills-src/docs/ja-JP/skills/python-patterns .claude/skills/python-patterns && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "python-patterns" agent skill from https://github.com/xu-xiang/everything-claude-code-zh/tree/main/docs/ja-JP/skills/python-patterns into .claude/skills/python-patterns/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "python-patterns", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/xu-xiang/everything-claude-code-zh/tree/main/docs/ja-JP/skills/python-patternsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add xu-xiang/everything-claude-code-zh --skill python-patterns -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install xu-xiang/everything-claude-code-zh python-patterns --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/xu-xiang/everything-claude-code-zh.git skills-src && mkdir -p .agents/skills && cp -r skills-src/docs/ja-JP/skills/python-patterns .agents/skills/python-patterns && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "python-patterns" agent skill from https://github.com/xu-xiang/everything-claude-code-zh/tree/main/docs/ja-JP/skills/python-patterns into .agents/skills/python-patterns/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "python-patterns", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add xu-xiang/everything-claude-code-zh --skill python-patterns -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install xu-xiang/everything-claude-code-zh python-patterns --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/xu-xiang/everything-claude-code-zh.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/docs/ja-JP/skills/python-patterns .cursor/skills/python-patterns && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "python-patterns" agent skill from https://github.com/xu-xiang/everything-claude-code-zh/tree/main/docs/ja-JP/skills/python-patterns into .cursor/skills/python-patterns/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "python-patterns", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/xu-xiang/everything-claude-code-zh.git --path docs/ja-JP/skills/python-patterns--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add xu-xiang/everything-claude-code-zh --skill python-patterns -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install xu-xiang/everything-claude-code-zh python-patterns --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/xu-xiang/everything-claude-code-zh.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/docs/ja-JP/skills/python-patterns .gemini/skills/python-patterns && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "python-patterns" agent skill from https://github.com/xu-xiang/everything-claude-code-zh/tree/main/docs/ja-JP/skills/python-patterns into .gemini/skills/python-patterns/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "python-patterns", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install xu-xiang/everything-claude-code-zh python-patternsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add xu-xiang/everything-claude-code-zh --skill python-patterns -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/xu-xiang/everything-claude-code-zh.git skills-src && mkdir -p .github/skills && cp -r skills-src/docs/ja-JP/skills/python-patterns .github/skills/python-patterns && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "python-patterns" agent skill from https://github.com/xu-xiang/everything-claude-code-zh/tree/main/docs/ja-JP/skills/python-patterns into .github/skills/python-patterns/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "python-patterns", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add xu-xiang/everything-claude-code-zh --skill python-patterns -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install xu-xiang/everything-claude-code-zh python-patterns --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/xu-xiang/everything-claude-code-zh.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/docs/ja-JP/skills/python-patterns .opencode/skills/python-patterns && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "python-patterns" agent skill from https://github.com/xu-xiang/everything-claude-code-zh/tree/main/docs/ja-JP/skills/python-patterns into .opencode/skills/python-patterns/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "python-patterns", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
python-patternsPythonic 惯用法、PEP 8 标准、类型提示,以及构建稳健、高效且可维护 Python 应用的最佳实践. An agent skill from xu-xiang/everything-claude-code-zh.
Python Patterns is an agent skill from xu-xiang/everything-claude-code-zh. Pythonic 惯用法、PEP 8 标准、类型提示,以及构建稳健、高效且可维护 Python 应用的最佳实践。
Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It works with Python. The repository describes itself as: everything-claude-code 中文翻译项目:完整的 Claude Code 配置集合(agents, skills, hooks, commands, rules, MCPs)。源自 Anthropic 黑客松获胜者的实战配置,助力中文工程师高效理解与使用 Claude Code。 The licence is MIT.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit dfbf946. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
blackruffmypypytestFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Python Patterns loads about 3.5k tokens when it runs. Until then it costs about 18 tokens; SKILL.md has 131 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from xu-xiang/everything-claude-code-zh at commit dfbf946, republished under its MIT licence (© xu-xiang). 131 words, ~3,484 tokens.
.claude/skills/python-patterns/SKILL.md (or your agent's skills folder).用于构建稳健、高效且可维护应用的惯用 Python 模式与最佳实践。
Python 优先考虑可读性。代码应当直观且易于理解。
# Good: 清晰且可读性强
def get_active_users(users: list[User]) -> list[User]:
"""返回提供列表中的活跃用户。"""
return [user for user in users if user.is_active]
# Bad: 巧妙但令人困惑
def get_active_users(u):
return [x for x in u if x.a]避免“黑魔法”,确保代码意图明确。
# Good: 显式配置
import logging
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
# Bad: 隐藏的副作用
import some_module
some_module.setup() # 这具体做了什么?Python 更倾向于异常处理,而非前置条件检查(It's Easier to Ask for Forgiveness than Permission)。
# Good: EAFP 风格
def get_value(dictionary: dict, key: str) -> Any:
try:
return dictionary[key]
except KeyError:
return default_value
# Bad: LBYL (Look Before You Leap) 风格,即“三思而后行”
def get_value(dictionary: dict, key: str) -> Any:
if key in dictionary:
return dictionary[key]
else:
return default_valuefrom typing import Optional, List, Dict, Any
def process_user(
user_id: str,
data: Dict[str, Any],
active: bool = True
) -> Optional[User]:
"""处理用户并返回更新后的 User 或 None。"""
if not active:
return None
return User(user_id, data)# Python 3.9+ - 使用内置类型
def process_items(items: list[str]) -> dict[str, int]:
return {item: len(item) for item in items}
# Python 3.8 及更早版本 - 使用 typing 模块
from typing import List, Dict
def process_items(items: List[str]) -> Dict[str, int]:
return {item: len(item) for item in items}from typing import TypeVar, Union
# 复杂类型的类型别名
JSON = Union[dict[str, Any], list[Any], str, int, float, bool, None]
def parse_json(data: str) -> JSON:
return json.loads(data)
# 泛型类型
T = TypeVar('T')
def first(items: list[T]) -> T | None:
"""返回第一个项目,如果列表为空则返回 None。"""
return items[0] if items else Nonefrom typing import Protocol
class Renderable(Protocol):
def render(self) -> str:
"""将对象渲染为字符串。"""
def render_all(items: list[Renderable]) -> str:
"""渲染所有实现了 Renderable 协议的项目。"""
return "\n".join(item.render() for item in items)# Good: 捕获特定异常
def load_config(path: str) -> Config:
try:
with open(path) as f:
return Config.from_json(f.read())
except FileNotFoundError as e:
raise ConfigError(f"未找到配置文件: {path}") from e
except json.JSONDecodeError as e:
raise ConfigError(f"配置文件中的 JSON 无效: {path}") from e
# Bad: 宽泛的 except
def load_config(path: str) -> Config:
try:
with open(path) as f:
return Config.from_json(f.read())
except:
return None # 静默失败!def process_data(data: str) -> Result:
try:
parsed = json.loads(data)
except json.JSONDecodeError as e:
# 使用异常链以保留堆栈跟踪
raise ValueError(f"解析数据失败: {data}") from eclass AppError(Exception):
"""所有应用错误的基类。"""
pass
class ValidationError(AppError):
"""当输入验证失败时抛出。"""
pass
class NotFoundError(AppError):
"""当请求的资源未找到时抛出。"""
pass
# 使用示例
def get_user(user_id: str) -> User:
user = db.find_user(user_id)
if not user:
raise NotFoundError(f"未找到用户: {user_id}")
return user# Good: 使用上下文管理器
def process_file(path: str) -> str:
with open(path, 'r') as f:
return f.read()
# Bad: 手动管理资源
def process_file(path: str) -> str:
f = open(path, 'r')
try:
return f.read()
finally:
f.close()from contextlib import contextmanager
@contextmanager
def timer(name: str):
"""用于测量代码块执行时间的上下文管理器。"""
start = time.perf_counter()
yield
elapsed = time.perf_counter() - start
print(f"{name} 耗时 {elapsed:.4f} 秒")
# 使用示例
with timer("数据处理"):
process_large_dataset()class DatabaseTransaction:
def __init__(self, connection):
self.connection = connection
def __enter__(self):
self.connection.begin_transaction()
return self
def __exit__(self, exc_type, exc_val, exc_tb):
if exc_type is None:
self.connection.commit()
else:
self.connection.rollback()
return False # 不要抑制异常
# 使用示例
with DatabaseTransaction(conn):
user = conn.create_user(user_data)
conn.create_profile(user.id, profile_data)# Good: 用于简单转换的列表推导式
names = [user.name for user in users if user.is_active]
# Bad: 手动循环
names = []
for user in users:
if user.is_active:
names.append(user.name)
# 复杂的推导式应当拆分展开
# Bad: 过于复杂
result = [x * 2 for x in items if x > 0 if x % 2 == 0]
# Good: 使用生成器函数
def filter_and_transform(items: Iterable[int]) -> list[int]:
result = []
for x in items:
if x > 0 and x % 2 == 0:
result.append(x * 2)
return result# Good: 用于惰性求值的生成器
total = sum(x * x for x in range(1_000_000))
# Bad: 创建了巨大的中间列表
total = sum([x * x for x in range(1_000_000)])def read_large_file(path: str) -> Iterator[str]:
"""逐行读取大文件。"""
with open(path) as f:
for line in f:
yield line.strip()
# 使用示例
for line in read_large_file("huge.txt"):
process(line)from dataclasses import dataclass, field
from datetime import datetime
@dataclass
class User:
"""带有自动生成的 __init__、__repr__ 和 __eq__ 的用户实体。"""
id: str
name: str
email: str
created_at: datetime = field(default_factory=datetime.now)
is_active: bool = True
# 使用示例
user = User(
id="123",
name="Alice",
email="alice@example.com"
)@dataclass
class User:
email: str
age: int
def __post_init__(self):
# 验证邮箱格式
if "@" not in self.email:
raise ValueError(f"无效邮箱: {self.email}")
# 验证年龄范围
if self.age < 0 or self.age > 150:
raise ValueError(f"无效年龄: {self.age}")from typing import NamedTuple
class Point(NamedTuple):
"""不可变的 2D 点。"""
x: float
y: float
def distance(self, other: 'Point') -> float:
return ((self.x - other.x) ** 2 + (self.y - other.y) ** 2) ** 0.5
# 使用示例
p1 = Point(0, 0)
p2 = Point(3, 4)
print(p1.distance(p2)) # 5.0import functools
import time
def timer(func: Callable) -> Callable:
"""测量函数执行时间的装饰器。"""
@functools.wraps(func)
def wrapper(*args, **kwargs):
start = time.perf_counter()
result = func(*args, **kwargs)
elapsed = time.perf_counter() - start
print(f"{func.__name__} 耗时 {elapsed:.4f}s")
return result
return wrapper
@timer
def slow_function():
time.sleep(1)
# slow_function() 会打印: slow_function took 1.0012sdef repeat(times: int):
"""将函数重复执行多次的装饰器。"""
def decorator(func: Callable) -> Callable:
@functools.wraps(func)
def wrapper(*args, **kwargs):
results = []
for _ in range(times):
results.append(func(*args, **kwargs))
return results
return wrapper
return decorator
@repeat(times=3)
def greet(name: str) -> str:
return f"Hello, {name}!"
# greet("Alice") 返回 ["Hello, Alice!", "Hello, Alice!", "Hello, Alice!"]class CountCalls:
"""统计函数调用次数的装饰器。"""
def __init__(self, func: Callable):
functools.update_wrapper(self, func)
self.func = func
self.count = 0
def __call__(self, *args, **kwargs):
self.count += 1
print(f"{self.func.__name__} 已被调用 {self.count} 次")
return self.func(*args, **kwargs)
@CountCalls
def process():
pass
# 每次调用 process() 都会打印调用计数import concurrent.futures
import threading
def fetch_url(url: str) -> str:
"""抓取 URL(I/O 密集型操作)。"""
import urllib.request
with urllib.request.urlopen(url) as response:
return response.read().decode()
def fetch_all_urls(urls: list[str]) -> dict[str, str]:
"""使用线程并发抓取多个 URL。"""
with concurrent.futures.ThreadPoolExecutor(max_workers=10) as executor:
future_to_url = {executor.submit(fetch_url, url): url for url in urls}
results = {}
for future in concurrent.futures.as_completed(future_to_url):
url = future_to_url[future]
try:
results[url] = future.result()
except Exception as e:
results[url] = f"错误: {e}"
return resultsdef process_data(data: list[int]) -> int:
"""CPU 密集型计算。"""
return sum(x ** 2 for x in data)
def process_all(datasets: list[list[int]]) -> list[int]:
"""使用多进程处理多个数据集。"""
with concurrent.futures.ProcessPoolExecutor() as executor:
results = list(executor.map(process_data, datasets))
return resultsimport asyncio
async def fetch_async(url: str) -> str:
"""异步抓取 URL。"""
import aiohttp
async with aiohttp.ClientSession() as session:
async with session.get(url) as response:
return await response.text()
async def fetch_all(urls: list[str]) -> dict[str, str]:
"""并发抓取多个 URL。"""
tasks = [fetch_async(url) for url in urls]
results = await asyncio.gather(*tasks, return_exceptions=True)
return dict(zip(urls, results))myproject/
├── src/
│ └── mypackage/
│ ├── __init__.py
│ ├── main.py
│ ├── api/
│ │ ├── __init__.py
│ │ └── routes.py
│ ├── models/
│ │ ├── __init__.py
│ │ └── user.py
│ └── utils/
│ ├── __init__.py
│ └── helpers.py
├── tests/
│ ├── __init__.py
│ ├── conftest.py
│ ├── test_api.py
│ └── test_models.py
├── pyproject.toml
├── README.md
└── .gitignore# Good: 导入顺序 - 标准库、第三方库、本地模块
import os
import sys
from pathlib import Path
import requests
from fastapi import FastAPI
from mypackage.models import User
from mypackage.utils import format_name
# Good: 使用 isort 自动排序导入
# pip install isort# mypackage/__init__.py
"""mypackage - 一个 Python 包示例。"""
__version__ = "1.0.0"
# 在包层级导出核心类/函数
from mypackage.models import User, Post
from mypackage.utils import format_name
__all__ = ["User", "Post", "format_name"]# Bad: 普通类使用 __dict__(消耗更多内存)
class Point:
def __init__(self, x: float, y: float):
self.x = x
self.y = y
# Good: __slots__ 减少内存占用
class Point:
__slots__ = ['x', 'y']
def __init__(self, x: float, y: float):
self.x = x
self.y = y# Bad: 将完整列表加载到内存中
def read_lines(path: str) -> list[str]:
with open(path) as f:
return [line.strip() for line in f]
# Good: 每次产生一行
def read_lines(path: str) -> Iterator[str]:
with open(path) as f:
for line in f:
yield line.strip()# Bad: 由于字符串不可变,复杂度为 O(n²)
result = ""
for item in items:
result += str(item)
# Good: 使用 join,复杂度为 O(n)
result = "".join(str(item) for item in items)
# Good: 使用 StringIO 进行构建
from io import StringIO
buffer = StringIO()
for item in items:
buffer.write(str(item))
result = buffer.getvalue()# 代码格式化
black .
isort .
# 静态检查 (Linting)
ruff check .
pylint mypackage/
# 类型检查
mypy .
# 测试
pytest --cov=mypackage --cov-report=html
# 安全扫描
bandit -r .
# 依赖管理
pip-audit
safety check[project]
name = "mypackage"
version = "1.0.0"
requires-python = ">=3.9"
dependencies = [
"requests>=2.31.0",
"pydantic>=2.0.0",
]
[project.optional-dependencies]
dev = [
"pytest>=7.4.0",
"pytest-cov>=4.1.0",
"black>=23.0.0",
"ruff>=0.1.0",
"mypy>=1.5.0",
]
[tool.black]
line-length = 88
target-version = ['py39']
[tool.ruff]
line-length = 88
select = ["E", "F", "I", "N", "W"]
[tool.mypy]
python_version = "3.9"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "--cov=mypackage --cov-report=term-missing"| 惯用法 | 说明 |
|---|---|
| EAFP | 寻求原谅比请求许可更容易 |
| 上下文管理器 | 使用 with 进行资源管理 |
| 列表推导式 | 用于简单的转换 |
| 生成器 | 用于延迟求值和大体量数据集 |
| 类型提示 | 为函数签名添加注解 |
| 数据类 | 用于带有自动生成方法的纯数据容器 |
__slots__ | 用于内存优化 |
| f-strings | 用于字符串格式化 (Python 3.6+) |
pathlib.Path | 用于路径操作 (Python 3.4+) |
enumerate | 用于在循环中获取 索引-元素 对 |
# Bad: 使用可变对象作为默认参数
def append_to(item, items=[]):
items.append(item)
return items
# Good: 使用 None 并创建新列表
def append_to(item, items=None):
if items is None:
items = []
items.append(item)
return items
# Bad: 使用 type() 检查类型
if type(obj) == list:
process(obj)
# Good: 使用 isinstance
if isinstance(obj, list):
process(obj)
# Bad: 使用 == 与 None 比较
if value == None:
process()
# Good: 使用 is
if value is None:
process()
# Bad: from module import *
from os.path import *
# Good: 显式导入
from os.path import join, exists
# Bad: 宽泛的 except
try:
risky_operation()
except:
pass
# Good: 特定异常
try:
risky_operation()
except SpecificError as e:
logger.error(f"操作失败: {e}")请记住:Python 代码应当易读、显式,并遵循“最小惊讶原则”。在感到困惑时,请优先考虑代码的清晰度,而非技巧性。
© xu-xiang, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in docs/ja-JP/skills/python-patterns of xu-xiang/everything-claude-code-zh.
Open the folder on GitHubat commit dfbf946
Python Patterns next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Python Patterns this skillxu-xiang/everything-claude-code-zh | 2k | — | ~3.5k | Automated safety check: Pass | MIT | |
| MCP Server Builderanthropics/skills | 180k | 64 repos | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| PDF Processinganthropics/skills | 180k | 48 repos | ~2k | Automated safety check: Pass | Proprietary | |
| NotebookLM Research AssistantPleasePrompto/notebooklm-skill | 7.8k | 14 repos | ~2.4k | Automated safety check: Notes | MIT | |
| Manim Video Productionbrowser-use/video-use | 28k | 6 repos | ~3k | Automated safety check: Pass | MIT | |
| Code Review ChecklistshareAI-lab/learn-claude-code | 78k | 5 repos | ~1.1k | Automated safety check: Pass | MIT |
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
anthropics/skills
Handles everyday PDF jobs in Python and on the command line: extract text and tables, merge, split, rotate, watermark, fill forms, encrypt and OCR.
PleasePrompto/notebooklm-skill
Lets Claude Code ask questions of your Google NotebookLM notebooks through browser automation and return answers grounded in your uploaded sources.
browser-use/video-use
Produces math and technical explainer videos with Manim Community Edition: concept animations, equation derivations, algorithm walkthroughs and data stories.
shareAI-lab/learn-claude-code
Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.
hugohe3/ppt-master
Generates editable PowerPoint decks, rebuilds slides from images, fills .pptx templates and polishes existing presentations through routed workflows.
xu-xiang/everything-claude-code-zh
Everything Claude Code 的交互式安装程序 — 引导用户选择并安装技能和规则到用户级或项目级目录,验证路径,并可选择优化已安装文件。
xu-xiang/everything-claude-code-zh
基于本能(Instinct)的学习系统,通过钩子(hooks)观察会话,创建带有置信度评分的原子本能,并将其演化为技能(Skills)、命令(Commands)或智能体(Agents)。v2.1 版本增加了项目作用域(project-scoped)的本能,以防止跨项目污染。
xu-xiang/everything-claude-code-zh
生产级 API 的 REST API 设计模式,包括资源命名、状态码、分页、过滤、错误响应、版本控制和速率限制. An agent skill from xu-xiang/everything-claude-code-zh.
xu-xiang/everything-claude-code-zh
后端架构模式、API 设计、数据库优化以及适用于 Node.js、Express 和 Next.js API 路由的服务端最佳实践。
xu-xiang/everything-claude-code-zh
后端架构模式、API 设计、数据库优化以及 Node.js、Express 和 Next.js API 路由的服务端最佳实践。
xu-xiang/everything-claude-code-zh
后端架构模式、API 设计、数据库优化以及针对 Node.js、Express 和 Next.js API 路由的服务端最佳实践。
Works with
Pythonic 惯用法、PEP 8 标准、类型提示,以及构建稳健、高效且可维护 Python 应用的最佳实践. An agent skill from xu-xiang/everything-claude-code-zh. Python Patterns is an agent skill from xu-xiang/everything-claude-code-zh.
Run `npx skills add xu-xiang/everything-claude-code-zh --skill python-patterns -a claude-code`. Or copy the skill folder (docs/ja-JP/skills/python-patterns in xu-xiang/everything-claude-code-zh) into .claude/skills/python-patterns in your project. Claude Code loads it when a task matches its description.
Run `npx skills add xu-xiang/everything-claude-code-zh --skill python-patterns -a codex`. Or copy the skill folder (docs/ja-JP/skills/python-patterns in xu-xiang/everything-claude-code-zh) into .agents/skills/python-patterns in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add xu-xiang/everything-claude-code-zh --skill python-patterns -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/python-patterns, .gemini/skills/python-patterns, .github/skills/python-patterns and .opencode/skills/python-patterns in your project.
Going by SKILL.md and its folder, Python Patterns needs the command-line tools its instructions call (black, ruff, mypy and pytest). Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Python Patterns is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Python Patterns: MCP Server Builder (anthropics/skills, 180k stars), PDF Processing (anthropics/skills, 180k stars), NotebookLM Research Assistant (PleasePrompto/notebooklm-skill, 7.8k stars) and Manim Video Production (browser-use/video-use, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
xu-xiang (a GitHub user) maintains it in xu-xiang/everything-claude-code-zh, which has 1,973 GitHub stars. The repository holds 78 skills in this directory. The repository was last updated on March 5, 2026.
Source: xu-xiang/everything-claude-code-zh on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.