Source profileQuality 76/100Review permissions

affaan-m/ECC/docs/ja-JP/skills/project-guidelines-example/SKILL.md

project-guidelines-example

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

Source repository stars
234,327
Declared platforms
0
Static risk flags
2
Last source update
2026-07-27
Source checked
2026-07-28

Decision brief

What it does—and where it fits

これはプロジェクト固有のスキルの例です。自分のプロジェクトのテンプレートとして使用してください。

Best for

    Not for

    • Tasks that require unconfirmed production actions or broad system permissions.
    • Environments where the pinned source and install steps cannot be inspected.

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/affaan-m/ECC --skill "docs/ja-JP/skills/project-guidelines-example"
    Safe inspection promptEditorial

    Inspect the Agent Skill "project-guidelines-example" from https://github.com/affaan-m/ECC/blob/4e973d3eaf92d97f8d2e2d8abb39d8bdc8711b38/docs/ja-JP/skills/project-guidelines-example/SKILL.md at commit 4e973d3eaf92d97f8d2e2d8abb39d8bdc8711b38. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      使用するタイミング

      このスキルが設計された特定のプロジェクトで作業する際に参照してください。プロジェクトスキルには以下が含まれます: - アーキテクチャの概要 - ファイル構造 - コードパターン - テスト要件 - デプロイメントワークフロー

      アーキテクチャの概要ファイル構造コードパターン
    2. 02

      アーキテクチャの概要

      技術スタック: - フロントエンド: Next.js 15 (App Router), TypeScript, React - バックエンド: FastAPI (Python), Pydanticモデル - データベース: Supabase (PostgreSQL) - AI: Claudeツール呼び出しと構造化出力付きAPI - デプロイメント: Google Cloud Run - テスト: Playwright (E2E), pytest (バックエンド), React Testing Library

      フロントエンド: Next.js 15 (App Router), TypeScript, Reactバックエンド: FastAPI (Python), Pydanticモデルデータベース: Supabase (PostgreSQL)
    3. 03

      ファイル構造

      Review the “ファイル構造” section in the pinned source before continuing.

      Review and apply the “ファイル構造” source section.
    4. 04

      コードパターン

      Review the “コードパターン” section in the pinned source before continuing.

      Review and apply the “コードパターン” source section.
    5. 05

      APIレスポンス形式 (FastAPI)

      Review the “APIレスポンス形式 (FastAPI)” section in the pinned source before continuing.

      Review and apply the “APIレスポンス形式 (FastAPI)” source section.

    Permission review

    Static risk signals and limitations

    Network access

    medium · line 128

    The documentation includes network, browsing, or remote request actions.

    const response = await fetch(`/api${endpoint}`, {

    Network access

    medium · line 243

    The documentation includes network, browsing, or remote request actions.

    async with AsyncClient(app=app, base_url="http://test") as ac:

    Runs scripts

    medium · line 257

    The documentation asks the agent to run terminal commands or scripts.

    npm run test

    Runs scripts

    medium · line 260

    The documentation asks the agent to run terminal commands or scripts.

    npm run test -- --coverage

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score76/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars234,327SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    affaan-m/ECC
    Skill path
    docs/ja-JP/skills/project-guidelines-example/SKILL.md
    Commit
    4e973d3eaf92d97f8d2e2d8abb39d8bdc8711b38
    License
    MIT
    Collected
    2026-07-28
    Default branch
    main
    View the original SKILL.md

    プロジェクトガイドラインスキル(例)

    これはプロジェクト固有のスキルの例です。自分のプロジェクトのテンプレートとして使用してください。

    実際の本番アプリケーションに基づいています: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-4-5-20250514",
            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...
    

    重要なルール

    1. 絵文字なし - コード、コメント、ドキュメントに絵文字を使用しない
    2. 不変性 - オブジェクトや配列を変更しない
    3. TDD - 実装前にテストを書く
    4. 80%カバレッジ - 最低基準
    5. 小さなファイル多数 - 通常200-400行、最大800行
    6. console.log禁止 - 本番コードには使用しない
    7. 適切なエラー処理 - try/catchを使用
    8. 入力検証 - Pydantic/Zodを使用

    関連スキル

    • coding-standards.md - 一般的なコーディングベストプラクティス
    • backend-patterns.md - APIとデータベースパターン
    • frontend-patterns.md - ReactとNext.jsパターン
    • tdd-workflow/ - テスト駆動開発の方法論

    Alternatives

    Compare before choosing

    Computed 76234,327

    affaan-m/ECC

    project-guidelines-example

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

    Computed 9531,966

    K-Dense-AI/scientific-agent-skills

    simpy

    Build, inspect, test, and analyze bounded process-based discrete-event simulations with SimPy, including events, resources, interrupts, monitoring, replications, warm-up, and reproducible output analysis.

    Computed 9337,126

    github/awesome-copilot

    flowstudio-power-automate-build

    Build, scaffold, and deploy Power Automate cloud flows using the FlowStudio MCP server. Your agent constructs flow definitions, wires connections, deploys, and tests — all via MCP without opening the portal. Load this skill when asked to: create a flow, build a new flow, deploy a flow definition, scaffold a Power Automate workflow, construct a flow JSON, update an existing flow's actions, patch a flow definition, add actions to a flow, wire up connections, or generate a workflow definition from

    Computed 8737,126

    github/awesome-copilot

    python-pypi-package-builder

    End-to-end skill for building, testing, linting, versioning, and publishing a production-grade Python library to PyPI. Covers all four build backends (setuptools+setuptools_scm, hatchling, flit, poetry), PEP 440 versioning, semantic versioning, dynamic git-tag versioning, OOP/SOLID design, type hints (PEP 484/526/544/561), Trusted Publishing (OIDC), and the full PyPA packaging flow. Use for: creating Python packages, pip-installable SDKs, CLI tools, framework plugins, pyproject.toml setup, py.ty