بنقرة واحدة
project-guidelines-example
基于真实生产应用的项目特定技能模板示例。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
基于真实生产应用的项目特定技能模板示例。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
REST API 设计模式,包括资源命名、状态码、分页、过滤、错误响应、版本控制和生产 API 的速率限制。
后端架构模式、API 设计、数据库优化和 Node.js、Express、Next.js API 路由的服务器端最佳实践。
通用编码标准、最佳实践和模式,适用于 TypeScript、JavaScript、React 和 Node.js 开发。
Everything Claude Code 的交互式安装向导——引导用户选择和安装技能和规则到用户级或项目级目录,验证路径,并可选地优化已安装的文件。
自动从 Claude Code 会话中提取可复用模式,并保存为学习技能供将来使用。
基于 instinct 的学习系统,通过 hooks 观察会话,创建带置信度评分的原子级 instincts,并将它们进化为技能/命令/代理。
استنادا إلى تصنيف SOC المهني
| name | project-guidelines-example |
| description | 基于真实生产应用的项目特定技能模板示例。 |
这是一个项目特定技能的示例。用它作为你自己项目的模板。
基于真实生产应用:Zenith ——AI 驱动的客户发现平台。
在为特定项目工作时参考此技能。项目技能包含:
技术栈:
服务架构:
┌─────────────────────────────────────────────────────────────┐
│ 前端 │
│ Next.js 15 + TypeScript + TailwindCSS │
│ 部署:Vercel / Cloud Run │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 后端 │
│ FastAPI + Python 3.11 + Pydantic │
│ 部署:Cloud Run │
└─────────────────────────────────────────────────────────────┘
│
┌───────────────┼───────────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ Supabase │ │ Claude │ │ Redis │
│ Database │ │ API │ │ Cache │
└──────────┘ └──────────┘ └──────────┘
架构说明:
project/
├── frontend/
│ └── src/
│ ├── app/ # Next.js app router 页面
│ │ ├── api/ # API 路由
│ │ ├── (auth)/ # 认证保护的路由
│ │ └── workspace/ # 主应用工作区
│ ├── components/ # React 组件
│ │ ├── ui/ # 基础 UI 组件
│ │ ├── forms/ # 表单组件
│ │ └── layouts/ # 布局组件
│ ├── hooks/ # 自定义 React hooks
│ ├── lib/ # 工具函数
│ ├── types/ # TypeScript 定义
│ └── config/ # 配置
│
├── backend/
│ ├── routers/ # FastAPI 路由处理器
│ ├── models.py # Pydantic models
│ ├── main.py # FastAPI app 入口
│ ├── auth_system.py # 认证
│ ├── database.py # 数据库操作
│ ├── services/ # 业务逻辑
│ └── tests/ # pytest 测试
│
├── deploy/ # 部署配置
├── docs/ # 文档
└── scripts/ # 工具脚本
目录说明:
frontend/app/:Next.js 页面(App Router)frontend/components/:React 组件backend/routers/:API 端点backend/services/:业务逻辑from pydantic import BaseModel
from typing import Generic, TypeVar, Optional
T = TypeVar('T')
class ApiResponse(BaseModel, Generic[T]):
success: bool
data: Optional[T] = None
error: Optional[str] = None
@classmethod
def ok(cls, data: T) -> "ApiResponse[T]":
return cls(success=True, data=data)
@classmethod
def fail(cls, error: str) -> "ApiResponse[T]":
return cls(success=False, error=error)
使用示例:
# 成功响应
return ApiResponse.ok(user_data)
# 错误响应
return ApiResponse.fail("用户未找到")
interface ApiResponse<T> {
success: boolean
data?: T
error?: string
}
async function fetchApi<T>(
endpoint: string,
options?: RequestInit
): Promise<ApiResponse<T>> {
try {
const response = await fetch(`/api${endpoint}`, {
...options,
headers: {
'Content-Type': 'application/json',
...options?.headers,
},
})
if (!response.ok) {
return { success: false, error: `HTTP ${response.status}` }
}
return await response.json()
} catch (error) {
return { success: false, error: String(error) }
}
}
使用示例:
const result = await fetchApi<User>('/users/123')
if (result.success) {
console.log(result.data) // 类型安全
} else {
console.error(result.error)
}
from anthropic import Anthropic
from pydantic import BaseModel
class AnalysisResult(BaseModel):
summary: str
key_points: list[str]
confidence: float
async def analyze_with_claude(content: str) -> AnalysisResult:
client = Anthropic()
response = client.messages.create(
model="claude-sonnet-4-5-20250514",
max_tokens=1024,
messages=[{"role": "user", "content": content}],
tools=[{
"name": "provide_analysis",
"description": "提供结构化分析",
"input_schema": AnalysisResult.model_json_schema()
}],
tool_choice={"type": "tool", "name": "provide_analysis"}
)
# 提取工具使用结果
tool_use = next(
block for block in response.content
if block.type == "tool_use"
)
return AnalysisResult(**tool_use.input)
什么是结构化输出? Claude 返回符合 Pydantic model 的 JSON,而不是自由文本。
import { useState, useCallback } from 'react'
interface UseApiState<T> {
data: T | null
loading: boolean
error: string | null
}
export function useApi<T>(
fetchFn: () => Promise<ApiResponse<T>>
) {
const [state, setState] = useState<UseApiState<T>>({
data: null,
loading: false,
error: null,
})
const execute = useCallback(async () => {
setState(prev => ({ ...prev, loading: true, error: null }))
const result = await fetchFn()
if (result.success) {
setState({ data: result.data!, loading: false, error: null })
} else {
setState({ data: null, loading: false, error: result.error! })
}
}, [fetchFn])
return { ...state, execute }
}
使用示例:
const { data, loading, error, execute } = useApi<User>(
() => fetchApi('/users/123')
)
// 加载数据
execute()
// 渲染
{loading && <Spinner />}
{error && <Error message={error} />}
{data && <UserProfile user={data} />}
# 运行所有测试
poetry run pytest tests/
# 运行带覆盖率
poetry run pytest tests/ --cov=. --cov-report=html
# 运行特定测试文件
poetry run pytest tests/test_auth.py -v
测试结构:
import pytest
from httpx import AsyncClient
from main import app
@pytest.fixture
async def client():
async with AsyncClient(app=app, base_url="http://test") as ac:
yield ac
@pytest.mark.asyncio
async def test_health_check(client: AsyncClient):
response = await client.get("/health")
assert response.status_code == 200
assert response.json()["status"] == "healthy"
# 运行测试
npm run test
# 运行带覆盖率
npm run test -- --coverage
# 运行 E2E 测试
npm run test:e2e
npm run build 成功(前端)poetry run pytest 通过(后端)# 构建和部署前端
cd frontend && npm run build
gcloud run deploy frontend --source .
# 构建和部署后端
cd backend
gcloud run deploy backend --source .
# 前端 (.env.local)
NEXT_PUBLIC_API_URL=https://api.example.com
NEXT_PUBLIC_SUPABASE_URL=https://xxx.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJ...
# 后端 (.env)
DATABASE_URL=postgresql://...
ANTHROPIC_API_KEY=sk-ant-...
SUPABASE_URL=https://xxx.supabase.co
SUPABASE_KEY=eyJ...
~/.claude/skills/your-project-name/SKILL.md示例项目特定规则:
## 项目特定规则
1. 命名约定:
- 组件:PascalCase (UserProfile.tsx)
- 文件:kebab-case (user-profile.ts)
- 变量:camelCase (userName)
2. 导入顺序:
1. React/Next.js
2. 第三方库
3. 本地组件
4. 类型
5. 工具函数
3. Git 提交消息:
- feat: 新功能
- fix: 错误修复
- docs: 文档更改
- refactor: 代码重构
coding-standards.md ——通用编码最佳实践backend-patterns.md ——API 和数据库模式frontend-patterns.md ——React 和 Next.js 模式tdd-workflow/ ——测试驱动开发方法论记住:项目特定技能是项目的"百科全书"——它包含所有项目特定的知识,让 AI 能更好地理解你的代码。