# Skills (/ko/docs/verdent-manager/core-features/skills)

> 특화된 워크플로와 도메인 전문성을 위한 재사용 가능한 지식 팩으로 Verdent의 기능을 확장합니다



Verdent **Skills**는 에이전트의 전문성을 확장하는 재사용 가능한 지식 팩입니다. 각 Skill에는 도메인별 프롬프트, 스크립트, 참조 자료, 모범 사례가 포함됩니다. Skill 이름을 호출하기만 하면 에이전트가 해당 컨텍스트를 로드하고 미리 정의된 워크플로를 따릅니다.

***

## Skills란 무엇인가요? [#skills란-무엇인가요]

### 핵심 개념 [#핵심-개념]

**Skill**은 폴더에 저장되는 구조화된 지식 팩입니다. 모든 Skill에는 이름, 설명, 상세 프롬프트를 정의하는 `SKILL.md` 파일이 포함됩니다. 대화에서 Skill을 호출하면 Verdent이 이 파일을 읽고 그 내용을 에이전트의 컨텍스트에 주입합니다.

### Skills, Subagents, MCP의 차이 [#skills-subagents-mcp의-차이]

| 차원        | Skills                     | Subagents                  | MCP                        |
| --------- | -------------------------- | -------------------------- | -------------------------- |
| **트리거**   | `@skill` 또는 언급을 통한 수동 호출   | 메인 에이전트가 자동으로 생성           | 자동 호출 또는 명시적 호출            |
| **실행**    | 메인 대화 컨텍스트를 확장             | 격리된 컨텍스트에서 독립적인 하위 작업으로 실행 | JSON-RPC 2.0을 통해 외부 도구 호출  |
| **목적**    | 도메인 가이드 제공(예: "테스트 작성 방법") | 독립 작업 수행(예: "코드 리뷰 실행")    | 외부 데이터/도구 접근(예: 데이터베이스 쿼리) |
| **수명 주기** | 일회성 컨텍스트 주입                | 하위 작업을 완료한 뒤 결과 반환         | 세션 중 지속되는 서버 프로세스          |
| **구현**    | Markdown 파일 + 선택적 스크립트     | 내장 에이전트 로직                 | 실행 가능한 서버 프로세스             |

요약하면 **Skills는 지식과 워크플로 가이드를 제공**하고, **Subagents는 독립 작업을 실행**하며, **MCP는 외부 도구와 데이터 소스를 연결**합니다.

***

## Skills 사용 방법 [#skills-사용-방법]

### Skill 호출하기 [#skill-호출하기]

Skill은 두 가지 방법으로 호출할 수 있습니다.

**1. 대화에서 Skill 이름 언급하기**

```
Use the skill-creator skill to help me create a new Skill
```

**2. @ 멘션 문법 사용하기**

```
@skill-creator help me create a Skill for API documentation generation
```

Skill이 트리거되면:

1. 에이전트가 `skill` 도구를 호출해 Skill의 `SKILL.md` 파일을 읽습니다
2. 파일 내용이 현재 대화 컨텍스트에 주입됩니다
3. 에이전트가 Skill의 가이드에 따라 계속 작업합니다

### 사용 가능한 Skills 둘러보기 [#사용-가능한-skills-둘러보기]

Settings에서 Skills 패널에 접근합니다.

1. **Settings** 메뉴를 엽니다
2. **Skills** 탭을 선택합니다
3. 설치된 Skills와 Skill Store에서 제공되는 Skills를 둘러봅니다

입력창에 `@`를 입력해 자동 완성을 트리거하고 사용 가능한 Skill을 빠르게 선택할 수도 있습니다.

***

## 내장 Skills [#내장-skills]

Verdent에는 일반적인 워크플로를 다루는 내장 Skills 세트가 포함되어 있습니다.

| Skill               | 설명                                                        |
| ------------------- | --------------------------------------------------------- |
| **docx**            | 형식을 충실히 반영한 시각적 확인과 함께 Word 문서(`.docx`)를 읽거나, 만들거나, 편집합니다 |
| **find-skills**     | Skills를 찾고 설치합니다 — "X는 어떻게 하나요?"라고 묻거나 새로운 기능을 찾을 때 사용합니다 |
| **frontend-design** | 높은 디자인 품질을 갖춘 개성 있고 프로덕션 수준의 프론트엔드 인터페이스를 만듭니다            |
| **pdf**             | 시각적 렌더링과 콘텐츠 추출을 통해 PDF 파일을 읽거나, 만들거나, 검토합니다              |
| **pptx**            | PowerPoint 프레젠테이션(`.pptx`)을 읽거나, 만들거나, 편집합니다              |
| **skill-creator**   | 커스텀 Skills를 만들고 반복 개선하기 위한 안내형 워크플로입니다                    |
| **xlsx**            | Excel 스프레드시트를 읽고, 분석하고, 시각화하고, 스마트하게 편집합니다                |

<Tip>
  더 많은 Skills는 **Skill Store**에서 사용할 수 있습니다. **Settings → Skills → Store**를 열어 추가 Skills를 둘러보고 설치합니다.
</Tip>

***

## 커스텀 Skills 만들기 [#커스텀-skills-만들기]

팀의 도메인 전문성이나 프로젝트별 워크플로를 캡슐화하는 커스텀 Skills를 만들 수 있습니다.

### Skill 디렉터리 구조 [#skill-디렉터리-구조]

표준 Skill 폴더는 다음과 같습니다.

```
my-custom-skill/
├── SKILL.md              # Required: Skill definition file
├── agents/
│   └── verdent.yaml      # Optional: UI configuration (icons, display name)
├── scripts/              # Optional: helper scripts
└── references/           # Optional: reference docs or examples
```

### SKILL.md 형식 [#skillmd-형식]

`SKILL.md`는 핵심 Skill 파일이며, YAML frontmatter와 Markdown 본문을 포함합니다.

```markdown
---
name: my-custom-skill
description: A concise description shown in the Skill list
metadata:
  version: "1.0.0"
  author: "Your Name"
  license: "MIT"
---

# Detailed Instructions

This is the detailed prompt content the Agent reads.

## Workflow

1. Step one
2. Step two
3. ...

## Best Practices

- Practice suggestion 1
- Practice suggestion 2
```

**Frontmatter 필드 요구사항:**

* `name` (필수): 폴더 이름과 일치해야 합니다. 소문자, 숫자, 하이픈(`a-z0-9-`)만 허용됩니다. 길이: 1\~64자. 연속 하이픈이나 앞뒤 하이픈은 허용되지 않습니다.
* `description` (필수): 짧은 설명이며, 최대 1024자입니다.
* `metadata` (선택): 버전, 작성자, 라이선스 및 기타 메타 정보입니다.

### 커스텀 Skills 설치하기 [#커스텀-skills-설치하기]

**방법 1: Settings에서 가져오기**

1. **Settings → Skills**를 엽니다
2. **Import Skill**을 선택합니다
3. Skill 폴더(또는 `.zip` / `.skill` 아카이브)를 선택합니다
4. Verdent이 `SKILL.md`을 검증하고 `~/.verdent/skills/`에 설치합니다

**방법 2: 수동 복사**

```bash
cp -r my-custom-skill ~/.verdent/skills/
```

Verdent을 다시 시작하거나 Skills 목록을 새로고침하면 Skill을 사용할 수 있습니다.

**방법 3: 프로젝트 수준 Skill**

프로젝트 디렉터리 안에 Skill을 배치합니다.

```bash
cp -r my-custom-skill /path/to/your/project/.verdent/skills/
```

프로젝트 수준 Skills는 해당 프로젝트 안에서만 표시되며, 같은 이름의 전역 Skills보다 우선합니다.

***

## Skill 범위 [#skill-범위]

Verdent은 세 가지 수준의 Skill 범위를 지원합니다.

| 수준       | 위치                           | 표시 범위                |
| -------- | ---------------------------- | -------------------- |
| **전역**   | `~/.verdent/skills/`         | 모든 프로젝트와 워크스페이스      |
| **프로젝트** | `<project>/.verdent/skills/` | 현재 프로젝트의 워크스페이스에만 해당 |

**우선순위 규칙:**

같은 이름의 Skills가 여러 범위에 존재하는 경우:

* 프로젝트가 전역보다 우선합니다

***

## Skill Store [#skill-store]

Verdent은 커뮤니티 및 공식 Skills를 둘러보고 설치할 수 있는 **Skill Store**를 제공합니다.

### Skill Store 둘러보기 [#skill-store-둘러보기]

1. **Settings → Skills**를 엽니다
2. **Store** 탭으로 전환합니다
3. 사용 가능한 Skills를 둘러보거나 검색창을 사용합니다

### Store에서 설치하기 [#store에서-설치하기]

1. Store에서 원하는 Skill을 찾습니다
2. **Install**을 선택합니다
3. Skill이 자동으로 다운로드되어 `~/.verdent/skills/`에 설치됩니다

**보안 검증:**

Store에서 설치한 Skills는 파일 무결성과 보안을 보장하기 위해 SHA256 체크섬 검증을 거칩니다.

***

## 실제 예시 [#실제-예시]

### 예시 1: `skill-creator`로 새 Skill 만들기 [#예시-1-skill-creator로-새-skill-만들기]

```
@skill-creator help me create a Skill for guiding the team on writing Go unit tests
```

에이전트는 다음을 수행합니다.

1. `skill-creator` Skill 콘텐츠를 읽습니다
2. Skill 이름, 설명, 핵심 프롬프트를 채우도록 안내합니다
3. 표준 `SKILL.md`를 생성합니다
4. 설치 경로와 검증 단계를 제안합니다

### 예시 2: `spreadsheet`로 데이터 분석하기 [#예시-2-spreadsheet로-데이터-분석하기]

```
@spreadsheet read sales-2025.xlsx from the project root, analyze Q1 sales trends, and generate a chart
```

에이전트는 다음을 수행합니다.

1. `spreadsheet` Skill을 로드합니다
2. `pandas` 및 `openpyxl`을 사용해 Excel 파일을 읽습니다
3. 데이터를 분석하고 시각화를 생성합니다
4. 결과를 저장하거나 대화에 표시합니다

### 예시 3: `gh-fix-ci`로 CI 수정하기 [#예시-3-gh-fix-ci로-ci-수정하기]

```
@gh-fix-ci my PR #123 GitHub Actions tests are failing, help me debug
```

에이전트는 다음을 수행합니다.

1. `gh` CLI를 사용해 PR #123의 CI 로그를 가져옵니다
2. 실패 원인을 분석합니다(예: 테스트 케이스 오류, 의존성 문제)
3. 수정안을 제안합니다
4. 사용자의 승인 후 코드를 수정하고 수정 사항을 푸시합니다

***

## 자주 묻는 질문 [#자주-묻는-질문]

<Accordion title="Skills는 크레딧을 사용하나요?">
  Skill이 호출되면 에이전트가 `SKILL.md` 파일을 읽으며, 이는 토큰 사용량에 포함되므로 크레딧을 사용합니다. 하지만 Skill 자체가 추가 API 호출을 하지는 않습니다.
</Accordion>

<Accordion title="커스텀 Skills를 프로젝트 간에 공유할 수 있나요?">
  네. Skill을 `~/.verdent/skills/`(전역 범위)에 설치하면 모든 프로젝트에서 사용할 수 있습니다.
</Accordion>

<Accordion title="더 이상 필요 없는 Skill은 어떻게 삭제하나요?">
  **Settings → Skills**에서 Skill을 오른쪽 클릭하고 **Delete**를 선택합니다. `undeletable`로 표시된 내장 Skills는 삭제할 수 없으며 다음 시작 시 다시 설치됩니다.
</Accordion>

<Accordion title="Cursor, Claude Desktop, 또는 Codex에서 Skills를 가져올 수 있나요?">
  네. Verdent은 `~/.cursor/skills`, `~/.claude/skills`, `~/.codex/skills`에 있는 Skills를 자동으로 감지하고 가져오도록 안내합니다. **Settings → Skills**에서 **Import from External Sources**를 선택합니다.
</Accordion>

<Accordion title="Skill과 Project Rule의 차이는 무엇인가요?">
  * **Project Rule**: 모든 대화에 자동으로 주입되는 항상 활성화된 지침
  * **Skill**: 호출될 때만 주입되는 온디맨드 지식 팩

  보편적인 코딩 표준에는 Rules를 사용하고, 특정 도메인 워크플로에는 Skills를 사용합니다.
</Accordion>

<Accordion title="설치된 Skill은 어떻게 업데이트하나요?">
  Skill Store에서 설치한 Skills는 백그라운드에서 자동으로 업데이트를 확인합니다. 수동으로 설치한 Skills는 업데이트하려면 다시 가져와야 합니다(기존 버전을 덮어씀).
</Accordion>

***

## 고급 사용법 [#고급-사용법]

### Skills에 스크립트 포함하기 [#skills에-스크립트-포함하기]

Skill에 `scripts/` 디렉터리를 추가하고 `SKILL.md`에서 스크립트를 참조합니다.

```markdown
## Data Processing Script

Run the following command to process data:

\`\`\`bash
python scripts/process_data.py --input data.csv --output results.json
\`\`\`
```

에이전트는 이 지침을 읽고 필요할 때 스크립트를 실행합니다.

### 문서 참조하기 [#문서-참조하기]

API 문서, 사양 또는 샘플 코드를 `references/` 디렉터리에 저장하고 `SKILL.md`에서 링크합니다.

```markdown
## Reference Documentation

See [references/api-spec.md](references/api-spec.md) for the detailed API specification.
```

에이전트는 Skill의 지침에 따라 이러한 참조 파일을 읽을 수 있습니다.

***

## 모범 사례 [#모범-사례]

<Tip>
  **Skills의 초점을 명확히 유지하세요.** 각 Skill은 하나의 도메인이나 워크플로를 대상으로 해야 합니다. "모든 것을 처리하는" Skills를 만들지 말고, 더 작고 전문화된 Skill로 나누세요.
</Tip>

<Tip>
  **명확한 이름을 사용하세요.** Skill 이름은 간결하고 설명적이어야 합니다. 예를 들어 `api-doc-generator`가 `my-skill-1`보다 좋습니다.
</Tip>

<Tip>
  **예시와 참조를 제공하세요.** 에이전트가 예상 출력물을 더 잘 이해할 수 있도록 `SKILL.md`에 구체적인 예시와 참조 링크를 포함합니다.
</Tip>

<Tip>
  **버전 번호를 관리하세요.** 업데이트와 호환성을 추적하려면 `metadata.version` 필드를 사용합니다.
</Tip>

<Tip>
  **공유 전에 테스트하세요.** 팀에 배포하거나 Skill Store에 게시하기 전에 테스트 프로젝트에서 Skill을 검증합니다.
</Tip>

***

## 함께 보기 [#함께-보기]

<CardGroup cols="2">
  <Card title="Subagent 관리" icon="robot" href="/docs/verdent-manager/configuration/subagents">
    서브에이전트의 작동 방식과 관리 방법
  </Card>

  <Card title="MCP 연동" icon="plug" href="/docs/verdent-manager/configuration/mcp">
    MCP를 통해 외부 도구와 서비스를 연결합니다
  </Card>

  <Card title="Rules" icon="book" href="/docs/verdent-manager/configuration/rules">
    항상 활성화되는 Project 및 User Rules를 구성합니다
  </Card>

  <Card title="Code Review" icon="magnifying-glass" href="/docs/verdent-manager/advanced-features/code-review">
    내장 Reviewer로 코드 변경 사항을 검토합니다
  </Card>
</CardGroup>
