# 서드파티 스킬

> 공개 GitHub·GitLab 레포의 스킬을 내 스킬로 가져오고, 레포가 바뀌면 반영하고, 가져오지 않은 파일을 확인합니다.

**서드파티 스킬**은 공개 GitHub·GitLab 레포에서 가져온 [스킬](/ko/docs/capabilities/skills/)입니다. endue 가 레포의 `SKILL.md` 파일을 읽어 하나씩 **내 스킬**에 넣고, 내 계정 안에만 둡니다.

## 언제 쓰는가

원하는 절차가 이미 공개 레포에 `SKILL.md` 로 있을 때, 또는 팀이 스킬을 레포에 두고 거기서 고칠 때 씁니다.

## 레포 등록하기

<Steps>

1. **좌측 사이드바에서 리소스 › 스킬을 열고** **서드파티** 탭을 고릅니다.

2. **레포 주소를 넣습니다.** 예: `https://github.com/owner/repo`

   폴더 하나만 가져오려면 폴더 주소(`…/tree/main/skills`)를 넣거나, **고급**을 열어 다음을 채웁니다.

   - **브랜치·태그**: 비우면 기본 브랜치를 가져옵니다.
   - **레포 안 경로**: 이 폴더 아래의 `SKILL.md` 만 가져옵니다. 비우면 레포 전체를 봅니다.

3. **가져오기를 누릅니다.** 결과에 가져온 스킬 수와, 가져오지 않은 파일이 이유와 함께 나옵니다.

4. **스킬을 에이전트에 바인딩합니다.** 다른 스킬처럼 그 에이전트의 [에이전트 빌더](/ko/docs/build/agent-builder/)에서 합니다. 가져왔다고 어느 에이전트에게도 주어지지 않습니다.

</Steps>

<Aside type="caution" title="가져온 것을 읽어 보세요">
  서드파티 스킬은 다른 사람이 쓴 지시이고, 에이전트는 그것을 따릅니다. 바인딩하기 전에 읽어 보고,
  다시 가져오기로 내용이 바뀌면 다시 확인하세요.
</Aside>

## 무엇을 가져오는가

경로 아래의 `SKILL.md` 하나가 스킬 하나가 됩니다. 파일 맨 위에 `name` 과 `description` 이 있는 frontmatter 가 있고, 그 아래에 지시가 옵니다.

```md
---
name: weekly-report
description: 이번 주에 닫힌 이슈로 주간 현황 보고를 쓴다.
---

1. 월요일 이후 닫힌 이슈를 나열한다.
2. 프로젝트별로 묶는다.
```

`SKILL.md` 의 본문만 가져옵니다. 스킬 폴더의 스크립트·참고 문서·그 밖의 파일은 가져오지 않습니다. 지시가 `SKILL.md` 옆의 스크립트를 실행하거나 파일을 읽으라고 하면, 에이전트는 그렇게 할 수 없습니다.

가져온 스킬은 **내 스킬**에 **서드파티** 배지와 **출처** 링크(원본 `SKILL.md`)를 달고 보입니다. 내 계정 안에만 있습니다.

다음과 같은 파일은 가져오지 않고 **가져오지 않은 파일**에 나옵니다.

| 이유 | 고칠 것 |
| --- | --- |
| `SKILL.md` 가 아님 (스크립트·참고 문서) | 없음. `SKILL.md` 만 가져옵니다. |
| 심볼릭 링크 | 레포에 파일 자체를 둡니다 |
| 256KB 초과 | 줄입니다 |
| 레포의 스킬이 50개 초과 | 경로로 스킬이 적은 폴더만 가져옵니다 |
| frontmatter 가 없거나 형식이 잘못됐거나 `name`·`description` 이 없음 | 맨 위 `---` 사이에 둘 다 적습니다 |
| 본문이 비어 있음 | frontmatter 아래에 지시를 적습니다 |
| UTF-8 텍스트가 아님 | UTF-8 로 저장합니다 |
| 재배포할 수 없는 라이선스 | 없음. 가져올 수 없습니다. |

## 레포에서 다시 가져오기

레포의 **다시 가져오기**를 누릅니다. endue 가 레포의 최신 커밋을 지난번에 가져온 커밋과 비교합니다.

- **바뀐 것이 없으면**: 아무 일도 일어나지 않고, 그렇게 알려 줍니다.
- **`SKILL.md` 가 바뀌었으면**: 그 스킬에 새 버전이 생깁니다. 파일이 바뀌지 않은 스킬은 그대로입니다.
- **`SKILL.md` 가 새로 생겼으면**: 새 스킬로 가져옵니다.
- **`SKILL.md` 가 사라졌으면**: 그 스킬은 **보관됨**이 되고 내 스킬에서 빠집니다. 파일이 돌아오면 다음 다시 가져오기 때 되살아납니다.

다시 가져오기를 누를 때만 반영됩니다. endue 가 레포를 지켜보지는 않습니다.

## 레포 삭제하기

**삭제**는 레포 등록과 거기서 가져온 스킬을 모두 지웁니다. 되돌릴 수 없습니다.

그 스킬 중 하나라도 에이전트에 바인딩돼 있으면 삭제되지 않고, 어느 스킬이 어느 에이전트에 붙어 있는지 보여 줍니다. 그 에이전트들의 [에이전트 빌더](/ko/docs/build/agent-builder/)에서 스킬을 먼저 뗀 뒤 다시 삭제하세요.

## 한계

- github.com 과 gitlab.com 의 공개 레포만 됩니다. 비공개 레포와 다른 호스트는 지원하지 않습니다. 아이디·비밀번호·토큰·포트 번호가 들어간 주소는 받지 않습니다.
- 계정당 레포 10개까지.
- 레포당 스킬 50개, `SKILL.md` 하나당 256KB 까지.
- 레포 내려받기는 압축 20MB 까지입니다. 큰 레포라면 스킬만 담은 작은 레포를 쓰세요.
- `SKILL.md` 본문만 가져옵니다. 스크립트와 그 밖의 파일은 가져오지 않습니다.
- 다시 가져오기를 누르기 전에는 레포가 바뀌어도 아무것도 바뀌지 않습니다.
- GitHub·GitLab 이 요청을 잠시 막으면 그 내용으로 가져오기가 실패합니다. 몇 분 뒤 다시 시도하세요.

## 관련 문서

<CardGrid>
  <LinkCard
    title="스킬"
    href="/ko/docs/capabilities/skills/"
    description="스킬이 무엇이고 바인딩이 어떻게 동작하는지."
  />
  <LinkCard
    title="에이전트 빌더"
    href="/ko/docs/build/agent-builder/"
    description="스킬을 에이전트에 바인딩하는 곳."
  />
  <LinkCard
    title="보안과 권한"
    href="/ko/docs/account/security/"
    description="에이전트가 닿을 수 있는 것과 없는 것."
  />
</CardGrid>
