Agent skill

Project Guidelines Example

by loulanyue in loulanyue/awesome-claude-notes

“실제 프로덕션 애플리케이션을 기반으로 한 프로젝트별 스킬 템플릿 예시.”

— description from SKILL.md by loulanyue
MITAuto-check: notesTesting & QA

Install Project Guidelines Example

skills CLI
$ npx skills add loulanyue/awesome-claude-notes --skill project-guidelines-example -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install loulanyue/awesome-claude-notes project-guidelines-example --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/loulanyue/awesome-claude-notes.git skills-src && mkdir -p .claude/skills && cp -r skills-src/docs/ko-KR/skills/project-guidelines-example .claude/skills/project-guidelines-example && rm -rf skills-src

Use ~/.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/

Facts

Skill name
project-guidelines-example
GitHub stars
272
Used in
1 other repo
Token cost
~2k tokens
SKILL.md length
234 words
Files
1
Skills in repo
9
Repo updated
First seen
Licence
MIT

At a glance

  • Works in 8 steps: 코드, 주석, 문서에 이모지 없음 → 불변성 - 객체나 배열을 절대 변형하지 않음 → TDD - 구현 전에 테스트 작성 → …
  • SKILL.md covers 사용 시점, 아키텍처 개요, 파일 구조 and 코드 패턴, plus 6 more sections
  • Calls npm, poetry and gcloud; reaches xxx.supabase.co; needs NEXT_PUBLIC_SUPABASE_ANON_KEY and ANTHROPIC_API_KEY

About this skill

Project Guidelines Example is a skill in loulanyue/awesome-claude-notes (272 stars). Its SKILL.md is about 2k tokens, and copies of it appear in 1 other owners' repositories. Licence: MIT.

Workflow steps

8 steps, taken from the first numbered list in SKILL.md.

  1. 코드, 주석, 문서에 이모지 없음
  2. 불변성 - 객체나 배열을 절대 변형하지 않음
  3. TDD - 구현 전에 테스트 작성
  4. 80% 커버리지 최소
  5. 작은 파일 여러 개 - 200-400줄이 일반적, 800줄 최대
  6. 프로덕션 코드에 console.log 없음
  7. 적절한 에러 처리 (try/catch 사용)
  8. 입력 유효성 검사 (Pydantic/Zod 사용)

What it can do on your machine

Read from SKILL.md and the folder at commit 866b55b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • npm
    • poetry
    • gcloud

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • xxx.supabase.co

    Also links to:

    • zenith.chat

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • NEXT_PUBLIC_SUPABASE_ANON_KEY
    • ANTHROPIC_API_KEY
    • SUPABASE_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Project Guidelines Example loads about 2k tokens when it runs. Until then it costs about 17 tokens; SKILL.md has 234 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~17
When it runs · the whole SKILL.md, loaded when a task matches
~2k

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.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:318
    # Frontend (.env.local)
  • NoteMentions a .env fileSKILL.md:323
    # Backend (.env)

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.

SKILL.md

The full file from loulanyue/awesome-claude-notes at commit 866b55b, republished under its MIT licence (© loulanyue). 234 words, ~2,047 tokens.

Download SKILL.mdSave it as .claude/skills/project-guidelines-example/SKILL.md (or your agent's skills folder).
name
project-guidelines-example
description
실제 프로덕션 애플리케이션을 기반으로 한 프로젝트별 스킬 템플릿 예시.
source_path
skills/project-guidelines-example/SKILL.md
origin
ECC

프로젝트 가이드라인 스킬 (예시)

이것은 프로젝트별 스킬의 예시입니다. 자신의 프로젝트에 맞는 템플릿으로 사용하세요.

실제 프로덕션 애플리케이션을 기반으로 합니다: Zenith - AI 기반 고객 발견 플랫폼.

사용 시점

이 스킬이 설계된 특정 프로젝트에서 작업할 때 참조하세요. 프로젝트 스킬에는 다음이 포함됩니다:

  • 아키텍처 개요
  • 파일 구조
  • 코드 패턴
  • 테스팅 요구사항
  • 배포 워크플로우

아키텍처 개요

기술 스택:

  • Frontend: Next.js 15 (App Router), TypeScript, React
  • Backend: FastAPI (Python), Pydantic 모델
  • Database: Supabase (PostgreSQL)
  • AI: Claude API (도구 호출 및 구조화된 출력)
  • Deployment: Google Cloud Run
  • Testing: 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 hooks
│       ├── 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)
python
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)
Frontend API 호출 (TypeScript)
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 통합 (구조화된 출력)
python
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)
커스텀 Hooks (React)
typescript
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 }
}

테스팅 요구사항

Backend (pytest)
bash
# Run all tests
poetry run pytest tests/

# Run with coverage
poetry run pytest tests/ --cov=. --cov-report=html

# Run specific test file
poetry run pytest tests/test_auth.py -v

테스트 구조:

python
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"
Frontend (React Testing Library)
bash
# Run tests
npm run test

# Run with coverage
npm run test -- --coverage

# Run E2E tests
npm run test:e2e

테스트 구조:

typescript
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 성공 (frontend)
  • poetry run pytest 통과 (backend)
  • 하드코딩된 시크릿 없음
  • 환경 변수 문서화됨
  • 데이터베이스 마이그레이션 준비됨
배포 명령어
bash
# Build and deploy frontend
cd frontend && npm run build
gcloud run deploy frontend --source .

# Build and deploy backend
cd backend
gcloud run deploy backend --source .
환경 변수
bash
# Frontend (.env.local)
NEXT_PUBLIC_API_URL=https://api.example.com
NEXT_PUBLIC_SUPABASE_URL=https://xxx.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJ...

# Backend (.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/ - 테스트 주도 개발 방법론

원문

탐색

© loulanyue, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in docs/ko-KR/skills/project-guidelines-example of loulanyue/awesome-claude-notes.

Open the folder on GitHubat commit 866b55b

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in loulanyue/awesome-claude-notes, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Project Guidelines Example 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.

Project Guidelines Example compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Project Guidelines Example this skillloulanyue/awesome-claude-notes2721 repos~2kAutomated safety check: NotesMIT
Integration Tests for pRESTprest/prest4.6k—~1.1kAutomated safety check: PassMIT
Testing Best Practicesanonaddy/anonaddy4.9k5 repos~1kAutomated safety check: PassMIT
Cloud Agents Starterscalar/scalar16k—~1.4kAutomated safety check: PassMIT
Test Weave Router with Codexweave-os/router5.6k—~4.7kAutomated safety check: NotesApache-2.0
New Event Sourceaws/aws-lambda-dotnet1.7k—~3kAutomated safety check: PassApache-2.0

Similar skills

  • Guides writing and reviewing pREST Docker-based integration tests so every HTTP request is explained by step comments or table-driven descriptions.

    4.6k GitHub stars~1.1k tokensUpdated today
    Testing & QAAuto-check passed
  • Testing Best Practices

    anonaddy/anonaddy

    Laravel test design and review. An agent skill from anonaddy/anonaddy.

    4.9k GitHub starsUsed in 5 repos~1k tokens
    Testing & QAAuto-check passed
  • Minimal starter runbook for cloud agents to install dependencies, run packages, execute tests, and troubleshoot the Scalar monorepo quickly.

    16k GitHub stars~1.4k tokensUpdated today
    Testing & QAAuto-check passed
  • Local test harness for the Weave router: a docker compose stack plus codex exec runs that confirm how Codex requests are routed, translated and marked.

    5.6k GitHub stars~4.7k tokensUpdated today
    Testing & QAAuto-check: notes
  • New Event Source

    aws/aws-lambda-dotnet

    Official

    Add a new AWS event source attribute (e.g., Kinesis, Kafka, MQ) to the Lambda .NET Annotations framework, including the attribute class, source generator integration, CloudFormation writer, unit…

    1.7k GitHub stars~3k tokensUpdated today
    Testing & QAAuto-check passed
  • Studio Mock API Tests

    supabase/supabase

    Official

    Component tests for Supabase Studio that mock API requests at the network layer with MSW.

    111k GitHub stars~3k tokensUpdated today
    Testing & QAAuto-check passed

More from loulanyue/awesome-claude-notes

All 9 skills in this repo
  • Team Builder

    loulanyue/awesome-claude-notes

    Interactive agent picker for composing and dispatching parallel teams

    272 GitHub starsUsed in 3 repos~1.6k tokens
    Auto-check passed
  • Claude Devfleet

    loulanyue/awesome-claude-notes

    Orchestrate multi-agent coding tasks via Claude DevFleet — plan projects, dispatch parallel agents in isolated worktrees, monitor progress, and read structured reports.

    272 GitHub starsUsed in 2 repos~1.4k tokens
    Auto-check passed
  • Configure Ecc

    loulanyue/awesome-claude-notes

    Interactive installer for awesome claude notes — guides users through selecting and installing skills and rules to user-level or project-level directories, verifies paths, and optionally optimizes…

    272 GitHub starsUsed in 2 repos~3.9k tokens
    Auto-check passed
  • Claude API

    loulanyue/awesome-claude-notes

    Anthropic Claude API 的 Python 和 TypeScript 使用模式。涵盖 Messages API、流式处理、工具使用、视觉功能、扩展思维、批量处理、提示缓存和 Claude Agent SDK。适用于使用 Claude API 或 Anthropic SDK 构建应用程序的场景。

    272 GitHub starsUsed in 1 repo~1.9k tokens
    Auto-check passed
  • Configure Ecc

    loulanyue/awesome-claude-notes

    awesome claude notes のインタラクティブなインストーラー — スキルとルールの選択とインストールをユーザーレベルまたはプロジェクトレベルのディレクトリへガイドし、パスを検証し、必要に応じてインストールされたファイルを最適化します。

    272 GitHub stars~2.2k tokensUpdated 3 days ago
    Auto-check passed
  • Configure Ecc

    loulanyue/awesome-claude-notes

    awesome claude notes 的交互式安装程序 — 引导用户选择并安装技能和规则到用户级或项目级目录,验证路径,并可选择优化已安装文件。

    272 GitHub stars~2.3k tokensUpdated 3 days ago
    Auto-check passed

Questions about Project Guidelines Example

How do I install Project Guidelines Example in Claude Code?

Run `npx skills add loulanyue/awesome-claude-notes --skill project-guidelines-example -a claude-code`. Or copy the skill folder (docs/ko-KR/skills/project-guidelines-example in loulanyue/awesome-claude-notes) into .claude/skills/project-guidelines-example in your project. Claude Code loads it when a task matches its description.

How do I install Project Guidelines Example in Codex?

Run `npx skills add loulanyue/awesome-claude-notes --skill project-guidelines-example -a codex`. Or copy the skill folder (docs/ko-KR/skills/project-guidelines-example in loulanyue/awesome-claude-notes) into .agents/skills/project-guidelines-example in your project. Codex loads it when a task matches its description.

Can I use Project Guidelines Example in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add loulanyue/awesome-claude-notes --skill project-guidelines-example -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/project-guidelines-example, .gemini/skills/project-guidelines-example, .github/skills/project-guidelines-example and .opencode/skills/project-guidelines-example in your project.

What does Project Guidelines Example need to run?

Going by SKILL.md and its folder, Project Guidelines Example needs the command-line tools its instructions call (npm, poetry and gcloud) and credentials named NEXT_PUBLIC_SUPABASE_ANON_KEY, ANTHROPIC_API_KEY and SUPABASE_KEY.

Does Project Guidelines Example access the network?

SKILL.md names 2 domains. In commands or code: xxx.supabase.co; the agent is likely to contact it when it follows the instructions. As links in the text: zenith.chat. This is read from the text; nothing was executed.

Is Project Guidelines Example safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Project Guidelines Example use?

Project Guidelines Example is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Project Guidelines Example use?

About 2k tokens (SKILL.md is roughly 8.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Project Guidelines Example?

Skills that share tags, products or a category with Project Guidelines Example: Integration Tests for pREST (prest/prest, 4.6k stars), Testing Best Practices (anonaddy/anonaddy, 4.9k stars), Cloud Agents Starter (scalar/scalar, 16k stars) and Test Weave Router with Codex (weave-os/router, 5.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Project Guidelines Example?

loulanyue (a GitHub user) maintains it in loulanyue/awesome-claude-notes, which has 272 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 5, 2026.

Source: loulanyue/awesome-claude-notes on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.