read-the-damn-docs
BuilderIO/skills
타사 API, 라이브러리 및 서비스를 구현, 통합 또는 디버깅하기 전에 반드시 웹 검색을 수행하고 공식 문서를 숙지하도록 하여 정확성을 확보하고 추측에 의존하는 상황을 방지합니다.
...모든 것을 확장하십시오제발 문서를 읽어라
신뢰할 수 있는 문서가 그 질문에 대한 답을 줄 수 있다면, 추측하지 마세요. 가장 흔하고 올바른 방법은 코딩에 앞서 최신 공식 문서를 웹에서 검색하고, 관련 페이지를 열어 읽어보는 것입니다. API, 버전, 제공자의 동작, 구성, 제한 사항, 라이프사이클 훅 또는 보안에 민감한 흐름에 대해서는, 문서에 실제로 명시된 내용을 바탕으로 답을 도출하십시오.
‘문서 우선’ 원칙이 적용되는 경우
다음 중 하나라도 해당된다면 진행하기 전에 문서를 읽어보세요:
- 사용자가 “최신”, “현재”, “공식”, “지원됨”, “모범 사례”, “권장”, “오늘”, “지금” 또는 “찾아보세요”라고 요청할 때.
- 필요한 문서가 리포지토리에 이미 없거나 사용자가 제공하지 않은 경우. 모델의 기억이 최신 상태일 것이라고 기대하기보다는 웹에서 공식 문서를 검색하십시오.
- 해당 작업이 패키지, SDK, 프레임워크, 플러그인, CLI, 모델, 클라우드 리소스 또는 제공업체 통합을 추가, 업그레이드, 구성 또는 가져오는 경우.
- API가 빠르게 변화하거나 버전에 민감한 경우: AI SDK, OpenAI/Anthropic/Google API, Next.js, React, Tailwind, Vite, Nitro, Drizzle, Prisma, Stripe, GitHub, Slack, Notion, 브라우저 API, 배포 플랫폼, 인증 라이브러리 등.
- 구현은 인증, OAuth 범위, 권한, 비밀 정보, 웹훅, 청구, 결제, 개인 식별 정보(PII), 암호화, 데이터 보존, 마이그레이션, 재시도, 속도 제한, 할당량, 캐싱, 배포 또는 규정 준수에 따라 달라집니다.
- 오류 메시지에는 사용 중단, 알 수 없는 옵션, 누락된 익스포트, 잘못된 구성, 지원되지 않는 필드, 변경된 기본값 또는 버전 불일치 등이 언급될 수 있습니다.
- 리포지토리에는 계약을 정의할 수 있는 로컬 문서, ADR, 생성된 스키마, OpenAPI 사양, 경로/액션 레지스트리, 디자인 시스템 문서 또는 패키지 수준의 README가 포함되어 있습니다.
- 이 선택 사항을 되돌리려면 큰 비용이 듭니다: 공개 통신 프로토콜, 데이터베이스 스키마, 마이그레이션 전략, 영구 ID, 이벤트 이름, 고객이 확인할 수 있는 동작, 또는 외부 자동화 계약 등이 해당됩니다.
- 외부 API를 위해 “보통”, “아마도”, “제 생각에는”, “기억에 의하면”과 같은 표현을 쓰려다 멈추거나, 모델 메모리에서 복사한 코드를 사용하려는 자신을 발견하게 됩니다.
문서로 간주되는 것
사용 가능한 가장 권위 있는 출처를 활용하십시오:
- 로컬 저장소 문서, 사양서, ADR, 스키마, 생성된 타입, 패키지 README, 그리고 프로젝트별 동작에 대한 테스트.
- 타사 동작에 대해서는 공식 제품 문서, API 참조, 마이그레이션 가이드, 변경 내역, 릴리스 노트, SDK 소스/타입을 활용하십시오. 정확한 URL을 이미 알고 있지 않은 경우 웹 검색을 통해 이를 찾아보십시오.
- 버전에 대한 패키지 레지스트리 메타데이터. 의존성을 추가하기 전에
npm view,version pnpm view또는 이에 상응하는 생태계 도구를 실행한 후, 해당 메이저 버전에 대한 문서를 읽어보세요.version - 공식 문서가 불완전한 경우의 소스 코드 또는 타입 정의. 이를 전설이 아닌 증거로 취급하십시오.
공식 문서가 존재하는 경우, Stack Overflow, 오래된 블로그 게시물, 무작위 코드 조각 및 기억을 주된 정보원으로 삼지 마십시오. 권위 있는 계약 내용이 확인된 후에만 커뮤니티 자료를 사용하여 증상을 디버깅하십시오.
필수 워크플로
- 정확한 적용 범위를 파악하십시오: 패키지 이름, 설치된 버전, 대상 버전, 프로바이더 엔드포인트, CLI 명령어, 구성 파일, 로컬 헬퍼, 스키마 또는 제품 기능.
- 관련 문서가 이미 로컬에 있거나 사용자가 URL을 제공한 경우가 아니라면,
현재 공식 문서를 웹에서 검색하십시오. 다음과 같은 구체적인 검색어를 사용하십시오.
,official docs , 또는migration guide .API reference - 해당 표면에 가장 가까운 문서를 열어 읽어보세요. 내부 코드의 경우 로컬 문서를 우선적으로 사용하고, 그 다음으로 공식 업스트림 문서를 참조하세요. 새로운 패키지의 경우, 임포트, 구성 또는 설치 명령어를 작성하기 전에 최신 버전을 확인하세요.
- 작업에 필요한 몇 가지 사실(옵션 이름, 임포트, 라이프사이클 규칙, 기본 동작, 호환성 변경 사항, 제한 사항, 권한 및 예제 등)을 현재 메이저 버전에 대해 추출합니다.
- 이러한 정보를 바탕으로 구현하거나 답변하십시오. 문서가 기존 코드와 상충될 경우, 로컬 코드 경로를 검토하고 불일치 사항을 명시하십시오.
- 가장 간결하면서도 유용한 검증 방법(타입 체크, 테스트, 빌드, CLI 드라이 런, API 스키마 유효성 검사 또는 로컬 재현)을 통해 확인하십시오.
- 최종 답변에서는 해당 증거가 권장 사항이나 구현에 영향을 미치는 경우, 참고한 문서나 로컬 파일의 이름을 명시하십시오.
문서 작성을 유발해야 하는 예시
- "이 앱에 Tailwind 추가하기." 구성 파일을 생성하거나 오래된 PostCSS 설정을 가정하기 전에 웹에서 현재 Tailwind의 주요 버전과 설치 문서를 확인하십시오.
- "AI SDK를 사용하여 응답을 스트리밍하세요." 공식 문서에서 현재 AI SDK의 주요 버전, 임포트, 제공자 패키지 이름, 스트리밍 헬퍼, 서버/런타임 예제를 확인하세요.
- "Stripe 웹훅을 연결하세요." 코딩하기 전에 Stripe의 최신 서명 검증, 이벤트 재시도, 엔드포인트 시크릿 및 프레임워크 본문 파싱 관련 문서를 읽어보세요.
- "이 Next.js 캐싱 버그를 수정하세요." 캐시 무효화 동작을 가정하기 전에 설치된 Next.js의 주요 버전 및 라우터 모드에 대한 문서를 읽어보세요.
- "Drizzle 마이그레이션 추가." 파일을 생성하기 전에 최신 Drizzle 키트 문서와 기존 저장소의 마이그레이션 규칙을 읽어보세요.
- "GitHub Action 생성하기." 공식 Actions 구문 및 권한 문서를 읽어보십시오.
특히
pull_request,workflow_runOIDC, 토큰 및 아티팩트에 관한 내용을 꼼꼼히 읽어보세요. - "이 OAuth 흐름이 왜 실패하나요?" 코드를 변경하기 전에 제공자의 범위, 리디렉션 URI, PKCE, 토큰 갱신 및 앱 검증 문서를 읽어보세요.
- "이 저장소의 계획/댓글/액션 시스템을 사용하세요." 엔드포인트나 프로퍼티를 새로 만들 전에 로컬 문서, 라우트/액션 레지스트리, 스키마 및 테스트를 읽어보세요.
- "Vite/Nitro/React를 업그레이드하세요." 구성이나 임포트를 수정하기 전에 정확한 대상 메이저 버전에 대한 마이그레이션 가이드를 읽어보세요.
- "어떤 모델을 사용해야 할까요?" 추천하기 전에 현재 제공자의 모델 문서, 요금/한도 페이지 및 SDK 예제를 읽어보세요.
간단한 로컬 확인만으로도 충분한 경우
사소한 수정마다 웹을 검색하지 마세요. 답이 이미 저장소에 있을 때는 로컬에서 간단히 문서를 훑어보는 것으로 충분합니다: 기존 헬퍼 사용법, 인근 테스트, 타입이 지정된 인터페이스, 생성된 클라이언트, ADR, 또는 패키지 README 등입니다. 하지만 작업이 외부 도구, 패키지, 제공자 또는 현재 제품 동작에 의존하는 경우, 웹 검색이 대개 올바른 첫 번째 단계입니다. 사소한 언어 구문, 오타 수정, 서식 조정 또는 외부 계약이 없는 독립적인 코드의 경우, 평소대로 진행하십시오.
문서를 확인할 수 없는 경우
네트워크 접속, 인증 문제, 또는 로컬 파일 누락으로 인해 문서를 읽을 수 없는 경우, 기억에만 의존하기 전에 그 사실을 명확히 밝히십시오. 불확실성을 좁히고, 가능하다면 소스 코드나 타입을 검토하며, 결과를 ‘최신 정보로 확인됨’으로 제시하는 것을 피하십시오.
---
name: read-the-damn-docs
description: Forces web searches and reading of official docs before implementing, integrating, or debugging third-party APIs, libraries, and services to ensure accuracy and avoid guesswork.
---
# Read The Damn Docs
Do not guess where authoritative docs can answer the question. The most common
right move is to web-search for the current official docs, open the relevant
pages, and read them before coding. For APIs, versions, provider behavior,
config, limits, lifecycle hooks, or security-sensitive flows, ground the answer
in what the docs actually say.
## Docs-First Triggers
Read docs before proceeding when any of these are true:
- The user asks for "latest", "current", "official", "supported", "best
practice", "recommended", "today", "now", or "look it up".
- The needed docs are not already in the repo or supplied by the user. Search
the web for the official docs rather than hoping model memory is current.
- The task adds, upgrades, configures, or imports a package, SDK, framework,
plugin, CLI, model, cloud resource, or provider integration.
- The API is fast-moving or version-sensitive: AI SDKs, OpenAI/Anthropic/Google
APIs, Next.js, React, Tailwind, Vite, Nitro, Drizzle, Prisma, Stripe, GitHub,
Slack, Notion, browser APIs, deployment platforms, auth libraries, and similar.
- The implementation depends on auth, OAuth scopes, permissions, secrets,
webhooks, billing, payments, PII, encryption, data retention, migrations,
retries, rate limits, quotas, caching, deploys, or compliance.
- An error mentions deprecation, unknown options, missing exports, invalid
config, unsupported fields, changed defaults, or version mismatch.
- A repo has local docs, ADRs, generated schemas, OpenAPI specs, route/action
registries, design-system docs, or package-level READMEs that could define the
contract.
- The choice is expensive to reverse: public wire formats, database schema,
migration strategy, persistent IDs, event names, customer-visible behavior, or
external automation contracts.
- You catch yourself about to write "usually", "probably", "I think", "from
memory", or code copied from model memory for an external API.
## What Counts As Docs
Use the most authoritative source available:
- Local repo docs, specs, ADRs, schemas, generated types, package READMEs, and
tests for project-specific behavior.
- Official product docs, API references, migration guides, changelogs, release
notes, and SDK source/types for third-party behavior. Find these with web
search when you do not already have the exact URL.
- Package registry metadata for versions. Before adding a dependency, run
`npm view <pkg> version`, `pnpm view <pkg> version`, or the ecosystem
equivalent, then read the docs for that major version.
- Source code or type definitions when official docs are incomplete. Treat this
as evidence, not folklore.
Avoid Stack Overflow, old blog posts, random snippets, and memory as the primary
source when official docs exist. Use community sources only to debug symptoms
after the authoritative contract is known.
## Required Workflow
1. Identify the exact surface: package name, installed version, target version,
provider endpoint, CLI command, config file, local helper, schema, or product
feature.
2. Search the web for the current official docs unless the relevant docs are
already local or the user supplied a URL. Use targeted searches such as
`<product> <feature> official docs`, `<package> migration guide`, or
`<provider> API reference`.
3. Open and read the docs closest to that surface. Prefer local docs first for
internal code, then official upstream docs. For new packages, verify the
latest version before writing imports, config, or install commands.
4. Extract the few facts needed for the task: option names, imports, lifecycle
rules, default behavior, breaking changes, limits, permissions, and examples
for the current major version.
5. Implement or answer using those facts. If the docs conflict with existing
code, inspect the local code path and call out the discrepancy.
6. Verify with the smallest useful check: typecheck, tests, build, CLI dry run,
API schema validation, or a local reproduction.
7. In the final answer, name the docs or local files consulted when that
evidence affects the recommendation or implementation.
## Examples That Must Trigger Docs
- "Add Tailwind to this app." Check the current Tailwind major and its install
docs from the web before creating config files or assuming old PostCSS setup.
- "Use the AI SDK to stream responses." Verify the current AI SDK major,
imports, provider package names, streaming helpers, and server/runtime
examples from official docs.
- "Wire up Stripe webhooks." Read Stripe's current signature verification,
event retry, endpoint secret, and framework body-parsing docs before coding.
- "Fix this Next.js caching bug." Read the docs for the installed Next.js major
and router mode before assuming cache invalidation semantics.
- "Add Drizzle migrations." Read the current Drizzle kit docs and existing repo
migration conventions before generating files.
- "Create a GitHub Action." Read official Actions syntax and permissions docs,
especially for `pull_request`, `workflow_run`, OIDC, tokens, and artifacts.
- "Why does this OAuth flow fail?" Read the provider's scopes, redirect URI,
PKCE, token refresh, and app verification docs before changing code.
- "Use this repo's plan/comment/action system." Read local docs, route/action
registries, schemas, and tests before inventing endpoints or props.
- "Upgrade Vite/Nitro/React." Read the migration guide for the exact target
major before editing config or imports.
- "What model should we use?" Read current provider model docs, pricing/limits
pages, and SDK examples before recommending.
## When A Quick Local Read Is Enough
Do not browse the web for every tiny edit. A docs pass can be local and brief
when the answer is already in the repo: existing helper usage, nearby tests,
typed interfaces, generated clients, ADRs, or package READMEs. But if the task
depends on an external tool, package, provider, or current product behavior, web
search is usually the right first step. For trivial language syntax, typo fixes,
formatting, or self-contained code with no external contract, proceed normally.
## If Docs Are Unavailable
If network access, auth, or missing local files prevents reading the docs, say
that plainly before relying on memory. Narrow the uncertainty, inspect source or
types if available, and avoid presenting the result as confirmed-current.
모든 파일
0개 파일read-the-damn-docs 설치
스킬 파일을 다운로드하여 .claude/skills/ 디렉터리에 압축을 풀어주세요.
ZIP 다운로드저장소를 클론하고 스킬 파일을 프로젝트에 복사하세요.
git clone https://github.com/BuilderIO/skills/tree/main/skills/read-the-damn-docs # Copy SKILL.md to your .claude/skills/ directory
복사





집
