Skills Plugins MCP Prompt Model 博客 我的中心

project-guidelines-example

Project-specific skill template covering architecture, patterns, testing, and deployment guidance.

DeepseekModel 官方收录技能 质量 优秀 · 90 v1.0.0

获取

https://deepseekmodel.com/api/download.php?id=affaan-m-ecc-docs-ja-jp-skills-project-guidelines-example-skill-md&format=skill
下载 .skill 标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用
.skill 文件中 system_prompt 字段的实际内容。
name project-guidelines-example description Project-specific skill template covering architecture, patterns, testing, and deployment guidance. metadata {"origin":"ECC"} プロジェクトガイドラインスキル(例) これはプロジェクト固有のスキルの例です。自分のプロジェクトのテンプレートとして使用してください。 実際の本番アプリケーションに基づいています: Zenith - AI駆動の顧客発見プラットフォーム。 使用するタイミング このスキルが設計された特定のプロジェクトで作業する際に参照してください。プロジェクトスキルには以下が含まれます: アーキテクチャの概要 ファイル構造 コードパターン テスト要件 デプロイメントワークフロー アーキテクチャの概要 技術スタック: フロントエンド : Next.js 15 (App Router), TypeScript, React バックエンド : FastAPI (Python), Pydanticモデル データベース : Supabase (PostgreSQL) AI : Claudeツール呼び出しと構造化出力付きAPI デプロイメント : Google Cloud Run テスト : Playwright (E2E), pytest (バックエンド), React Testing Library サービス: ┌─────────────────────────────────────────────────────────────┐ │ Frontend │ │ Next.js 15 + TypeScript + TailwindCSS │ │ Deployed: Vercel / Cloud Run │ └─────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────┐ │ Backend │ │ FastAPI + Python 3.11 + Pydantic │ │ Deployed: 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フック │ ├── lib/ # ユーティリティ │ ├── types/ # TypeScript定義 │ └── config/ # 設定 │ ├── backend/ │ ├── routers/ # FastAPIルートハンドラ │ ├── models.py # Pydanticモデル │ ├── main.py # FastAPIアプリエントリ │ ├── auth_system.py # 認証 │ ├── database.py # データベース操作 │ ├── services/ # ビジネスロジック │ └── tests/ # pytestテスト │ ├── deploy/ # デプロイメント設定 ├── docs/ # ドキュメント └── scripts/ # ユーティリティスクリプト コードパターン APIレスポンス形式 (FastAPI) 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) フロントエンドAPI呼び出し (TypeScript) 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) } } } Claude AI統合(構造化出力) 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-5" , max_tokens= 1024 , messages=[{ "role" : "user" , "content" : content}], tools=[{ "name" : "provide_analysis" , "description" : "Provide structured analysis" , "input_schema" : AnalysisResult.model_json_schema() }], tool_choice={ "type" : "tool" , "name" : "provide_analysis" } ) # Extract tool use result tool_use = next ( block for block in response.content if block. type == "tool_use" ) return AnalysisResult(**tool_use. input ) カスタムフック (React) 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 } } テスト要件 バックエンド (pytest) # すべてのテストを実行 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" フロントエンド (React Testing Library) # テストを実行 npm run test # カバレッジ付きで実行 npm run test -- --coverage # E2Eテストを実行 npm run test :e2e テスト構造: import { render, screen, fireEvent } from '@testing-library/react' import { WorkspacePanel } from './WorkspacePanel' describe ( 'WorkspacePanel' , () => { it ( 'renders workspace correctly' , () => { render ( < WorkspacePanel /> ) expect (screen. getByRole ( 'main' )). toBeInTheDocument () }) it ( 'handles session creation' , async () => { render ( < WorkspacePanel /> ) fireEvent. click (screen. getByText ( 'New Session' )) expect ( await screen. findByText ( 'Session created' )). toBeInTheDocument () }) }) デプロイメントワークフロー デプロイ前チェックリスト すべてのテストがローカルで成功 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... 重要なルール 絵文字なし - コード、コメント、ドキュメントに絵文字を使用しない 不変性 - オブジェクトや配列を変更しない TDD - 実装前にテストを書く 80%カバレッジ - 最低基準 小さなファイル多数 - 通常200-400行、最大800行 console.log禁止 - 本番コードには使用しない 適切なエラー処理 - try/catchを使用 入力検証 - Pydantic/Zodを使用 関連スキル coding-standards.md - 一般的なコーディングベストプラクティス backend-patterns.md - APIとデータベースパターン frontend-patterns.md - ReactとNext.jsパターン tdd-workflow/ - テスト駆動開発の方法論
Agent 识别该技能的关键词,点击任意一个即可复制。

该技能未提供触发词。

下载的 .skill 包内含以下字段。
字段 说明
format格式标识(skill/v1)
skill_id技能唯一 ID
name技能名称
version版本号
description技能描述
category所属分类(数组)
trigger_words触发词列表
tags标签列表
source来源标识
source_url来源链接(本页地址)
exported_at导出时间(每次下载生成)
system_prompt系统提示词正文
model_config模型参数:provider / model / temperature / max_tokens / top_p
examples示例
install_guide各平台导入说明(Coze / Dify / Claude / 自定义框架)
同一份技能可按不同平台格式导出。
.skill 标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用 下载
.skillpro 增强格式,额外含脚本 / 工具 / 依赖 / 钩子占位 下载
.json 纯 JSON 导出,只含 system_prompt 与模型参数 下载
Coze 带 frontmatter 的 Markdown,Coze 平台导入用 下载
Dify Dify DSL,创建应用后直接导入 下载

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。