reference-docs skill
명확하고 훑어보기 쉬운 API, 심볼 및 기술 참조 문서를 작성하기 위한 패턴과 템플릿을 제공합니다.
- GitHub 스타
- 87
- 파일
- 1
- 마지막 커밋
- 2026년 9월 15일
- 라이선스
- Apache-2.0
- 허용된 도구
- —
reference-docs skill은 무엇을 하나요?
reference-docs은(는) agent skill입니다. 명확하고 훑어보기 쉬운 API, 심볼 및 기술 참조 문서를 작성하기 위한 패턴과 템플릿을 제공합니다.
skill의 SKILL.md에서 생성된 요약입니다.
reference-docs skill 정보
API, 심볼 및 기술 사양에 대해 정확하고 훑어보기 쉬운 문서를 작성해야 하는 기술 작가와 개발자는 이 SKILL을 사용하여 높은 수준의 명확성을 유지할 수 있습니다. 이 SKILL은 새로운 개념을 배우기보다 기술적 세부 사항을 빠르게 찾아야 하는 숙련된 사용자를 위해 특별히 설계된 구조화된 템플릿과 작성 패턴을 제공합니다.
에이전트에게 참조 자료 작성을 요청할 때는 핵심 작성 원칙을 준수할 수 있도록 docs-style과 함께 이 SKILL을 로드해야 합니다. 이 SKILL은 파라미터 테이블, 반환 값 설명, 실행 가능한 코드 예제를 포함한 구조화된 Markdown 콘텐츠를 생성합니다. 튜토리얼이나 설명으로 흐르지 않고 커맨드, 옵션, 제한 사항과 같은 제품의 메커니즘을 설명하는 데 집중합니다. 제공된 가이드를 따르면 모든 예제가 실제와 유사한 값을 사용하고, 모든 테이블이 필수 및 선택 필드에 대해 일관된 열을 포함하도록 보장합니다.
skill의 SKILL.md를 기반으로 작성되었습니다. 모든 사용 사례는 해당 문서의 인용구와 대조 확인되었습니다.
reference-docs skill 설치 방법
각 명령은 skill 폴더를 클라이언트의 skills 디렉터리에 복사합니다. 클라이언트를 재시작하거나 새 세션을 시작하여 로드하세요.플러그인에 reference-docs skill 설치
/plugin marketplace add existential-birds/beagle /plugin install beagle-docs@existential-birds
Claude Code에 reference-docs skill 설치
~/.claude/skills/reference-docs/SKILL.md
$ npx degit existential-birds/beagle/plugins/beagle-docs/skills/reference-docs ~/.claude/skills/reference-docsClaude Code (project)에 reference-docs skill 설치
.claude/skills/reference-docs/SKILL.md
$ npx degit existential-birds/beagle/plugins/beagle-docs/skills/reference-docs .claude/skills/reference-docsCodex에 reference-docs skill 설치
~/.agents/skills/reference-docs/SKILL.md
$ npx degit existential-birds/beagle/plugins/beagle-docs/skills/reference-docs ~/.agents/skills/reference-docsGemini CLI에 reference-docs skill 설치
~/.gemini/skills/reference-docs/SKILL.md
$ npx degit existential-birds/beagle/plugins/beagle-docs/skills/reference-docs ~/.gemini/skills/reference-docsClaude.ai에 reference-docs skill 설치
npx degit existential-birds/beagle/plugins/beagle-docs/skills/reference-docs reference-docs && zip -r reference-docs.zip reference-docs # claude.ai → Customize → Skills → + → Create skill → Upload a skill → reference-docs.zip
SKILL.md
GitHub에서 보기Reference Documentation Patterns
Reference documentation is information-oriented - helping experienced users find precise technical details quickly. This skill provides patterns for writing clear, scannable reference pages.
Dependency: Always use this skill in conjunction with docs-style for core writing principles. To confirm reference is the right type — rather than a tutorial, how-to, or explanation — see docs-style/references/diataxis-compass.md.
Purpose and Audience
- Who: Experienced users seeking specific information
- Goal: Quick lookup of technical details
- Mode: Not for learning, for looking up
- Expectation: Brevity, consistency, completeness
Document Structure Template
Use this template when creating reference documentation:
---
title: "[Symbol/API Name]"
description: "One-line description of what it does"
---
# [Name]
Brief description (1-2 sentences). State what it is and its primary purpose.
## Parameters
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `param1` | `string` | Yes | What this parameter controls |
| `param2` | `number` | No | Optional behavior modification. Default: `10` |
## Returns
| Type | Description |
|------|-------------|
| `ReturnType` | What the function returns and when |
## Example
```language
import { symbolName } from 'package';
// Complete, runnable example showing common use case
const result = symbolName({
param1: 'realistic-value',
param2: 42
});
console.log(result);
// Expected output: { ... }
Related
- RelatedSymbol - Brief description
- AnotherSymbol - Brief description
## Writing Principles
### Describe, and Only Describe
Reference is austere, neutral, and authoritative — a map the reader can trust without independent verification. Its one job is to describe the machinery: commands, options, parameters, return values, limits, warnings. It does not instruct (that's How-To), teach (Tutorial), or argue (Explanation). When you feel the urge to explain *why* or walk the reader through a task, link out instead of inlining it; a digression interrupts and obscures the facts the reader came to consult.
### Structure Mirrors the Product
> "The structure of the documentation should mirror the structure of the product."
Organise reference so a reader can navigate the code and the docs in parallel — one reference entry per module, class, endpoint, or command, in the product's own order. Don't impose a narrative or thematic structure the product doesn't have; consistency of placement is what makes reference fast to consult.
### Brevity Over Explanation
- State facts, not rationale
- Avoid "why" - save that for Explanation docs
- Cut unnecessary words
**Do:**
```markdown
Returns the user's display name.
Avoid:
This function is useful when you need to get the user's display name
because it handles all the edge cases for you automatically.
Scannable Tables, Not Prose
Do:
| Name | Type | Description |
|------|------|-------------|
| `userId` | `string` | Unique user identifier |
| `options` | `Options` | Configuration object |
Avoid:
The first parameter is `userId`, which should be a string containing
the unique user identifier. The second parameter is `options`, which
is an Options object containing the configuration.
Consistent Format Across Entries
All reference pages for similar items should follow identical structure:
- Same heading order
- Same table columns
- Same code example format
- Same related links section
Every Example Must Be Runnable
- Include all imports
- Show complete, working code
- Use realistic values (not "foo", "bar", "test123")
- Include expected output when helpful
Code Example Patterns
Show Common Use Case First
## Example
### Basic Usage
```typescript
const user = await getUser('user-123');
console.log(user.name);
With Options
const user = await getUser('user-123', {
includeMetadata: true,
fields: ['name', 'email', 'role']
});
### Include Setup and Context
```markdown
```typescript
import { Client } from '@example/sdk';
// Initialize client (required once per application)
const client = new Client({ apiKey: process.env.API_KEY });
// Now use the function
const result = await client.users.list();
### Use Realistic Values
**Do:** `userId: 'usr_a1b2c3d4'`
**Avoid:** `userId: 'foo'`
**Do:** `email: 'jane.smith@company.com'`
**Avoid:** `email: 'test@test.com'`
## Parameter Documentation Patterns
### Required vs Optional
Clearly indicate which parameters are required:
```markdown
| Name | Type | Required | Default | Description |
|------|------|----------|---------|-------------|
| `apiKey` | `string` | Yes | - | Your API key |
| `timeout` | `number` | No | `30000` | Request timeout in ms |
| `retries` | `number` | No | `3` | Number of retry attempts |
Complex Types
For object parameters, document the shape:
## Parameters
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `options` | `UserOptions` | No | Configuration options |
### UserOptions
| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `includeDeleted` | `boolean` | No | Include soft-deleted users |
| `fields` | `string[]` | No | Fields to return |
| `limit` | `number` | No | Maximum results (default: 100) |
Enum Values
Document allowed values clearly:
| Name | Type | Values | Description |
|------|------|--------|-------------|
| `status` | `string` | `active`, `pending`, `suspended` | User account status |
Return Value Documentation
Simple Returns
## Returns
`User` - The requested user object, or `null` if not found.
Complex Returns
## Returns
| Property | Type | Description |
|----------|------|-------------|
| `data` | `User[]` | Array of user objects |
| `pagination` | `Pagination` | Pagination metadata |
| `total` | `number` | Total matching records |
Error Conditions
## Errors
| Error | Condition |
|-------|-----------|
| `NotFoundError` | User does not exist |
| `UnauthorizedError` | Invalid or expired API key |
| `RateLimitError` | Too many requests |
API Reference Specifics
HTTP Endpoints
## Endpoint
```http
GET /api/v1/users/{userId}
Path Parameters
| Name | Type | Description |
|---|---|---|
userId |
string |
The user's unique identifier |
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
fields |
string |
No | Comma-separated list of fields |
Headers
| Name | Required | Description |
|---|---|---|
Authorization |
Yes | Bearer token |
X-Request-ID |
No | Request tracking ID |
Response
{
"id": "usr_a1b2c3d4",
"name": "Jane Smith",
"email": "jane@company.com"
}
## Component/Props Reference
For UI components:
```markdown
## Props
| Prop | Type | Default | Description |
|------|------|---------|-------------|
| `variant` | `'primary' \| 'secondary'` | `'primary'` | Visual style |
| `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | Button size |
| `disabled` | `boolean` | `false` | Disable interactions |
| `onClick` | `() => void` | - | Click handler |
## Slots
| Name | Description |
|------|-------------|
| `default` | Button content |
| `icon` | Icon to display before text |
Related Links Section
Always include links to related content:
## Related
- [createUser](/reference/create-user) - Create a new user
- [updateUser](/reference/update-user) - Modify user properties
- [deleteUser](/reference/delete-user) - Remove a user
- [User Authentication Guide](/guides/authentication) - How authentication works
Gates (completion order)
Use this sequenced workflow before treating a reference page as complete. Finish step n before n+1; each step has a Pass you can check on the written page alone (no “I verified internally”).
- Structure — Sections match your project template (typically Parameters, Returns, Example, Related; HTTP docs add Endpoint, Path/Query, Headers, Response). Pass: every required section exists, or a one-line omission note appears under Related (e.g. “No query parameters”).
- Tables — Parameters/returns/errors use tables with consistent columns per Consistent Format Across Entries and Required vs Optional. Pass: no blank Description cells; no
TBD/???for shipped APIs. - Runnable example — At least one example meets Every Example Must Be Runnable and Use Realistic Values. Pass: imports included; user-visible strings are realistic (not generic
foo/barunless the API is illustrative-only). - Related — Pass:
## Relatedcontains ≥1 Markdown link to another reference or guide, or one explicit sentence that there are no related symbols.
Checklist for Reference Pages
After the Gates (completion order) above, confirm:
- Title matches the symbol/API name exactly
- Description is one clear sentence
- All parameters documented with types
- Required vs optional clearly marked
- Default values specified for optional parameters
- Return type and structure documented
- At least one complete, runnable example
- Example uses realistic values
- Related pages linked
- Format matches other reference pages in the docs
When to Use Reference vs Other Doc Types
| User's mindset | Doc type | Example |
|---|---|---|
| "I want to learn" | Tutorial | "Build your first integration" |
| "I want to do X" | How-To | "How to configure SSO" |
| "I want to understand" | Explanation | "How our caching works" |
| "I need to look up Y" | Reference | "API endpoint reference" |
Reference and Explanation are the two cognition-oriented types and are easily confused: Reference states neutral facts to consult while working; Explanation discusses reasoning to read while reflecting. For the full compass procedure and distinctions, see docs-style/references/diataxis-compass.md.
Related Skills
- docs-style: Core writing conventions and components
- Diataxis compass: Type selection, the 2×2 map, and the quality model
- tutorial-docs: Tutorial patterns for learning-oriented content
- howto-docs: How-To guide patterns for task-oriented content
- explanation-docs: Conceptual documentation patterns
이 스킬의 파일
1reference-docs skill 질문
Claude Code에 reference-docs skill을 어떻게 설치하나요?
npx degit existential-birds/beagle/plugins/beagle-docs/skills/reference-docs ~/.claude/skills/reference-docs를 실행합니다. Claude Code는 ~/.claude/skills(모든 프로젝트) 또는 .claude/skills(한 프로젝트)에서 skills를 로드하며, 설명이 작업과 일치할 때 skill을 사용합니다.
reference-docs skill을 사용할 수 있는 클라이언트는 무엇인가요?
Agent Skills 형식을 읽는 모든 클라이언트(Claude Code, Codex, Gemini CLI, claude.ai(ZIP으로 업로드))가 사용할 수 있습니다. skill 내 스크립트는 클라이언트가 코드 실행을 허용하는 경우에만 실행됩니다.
참조 문서와 설명 문서의 차이점은 무엇인가요?
참조 문서는 작업 중 빠른 조회를 위해 중립적인 사실을 기술하는 반면, 설명 문서는 내용을 되새기며 읽을 수 있도록 논리적 근거를 다룹니다.