스킬
스킬은 AI의 행동을 정하는 Markdown 지시서입니다. 역할과 말투, 어떤 데이터를 어떻게 볼지, 어떤 형식으로 답할지를 써 두면 AI가 매번 그것을 따릅니다.
스킬은 AI에게 읽히는 것으로, AI가 실행할 수 있는 기능과는 다릅니다. 실행할 수 있는 기능 (테마 적용, 칼럼 추가 같은 조작)은 capability라고 부르며, 권한 설정에서 허용한 범위만 쓸 수 있습니다. 스킬에 아무리 써도 허용하지 않은 조작은 실행되지 않습니다.
최소 구성
Markdown 파일 맨 앞에 frontmatter를 쓰고, 그 아래에 본문을 씁니다.
---
id: my-skill
name: 요약봇
mode: manual
---
당신은 Misskey 클라이언트 NoteDeck의 조작 보조 AI입니다.
한국어로 간결하게 응답하세요.언제 읽히는가 (mode)
| mode | 언제 AI에게 넘어가는가 | 알맞은 용도 |
|---|---|---|
always | 모든 대화에서 항상 | 앱 전체의 행동 지침 |
manual | UI에서 전환했을 때만 | 인격 전환, 필요할 때만 꺼내는 전문 지식 |
trigger | 입력에 triggers의 단어가 포함된 턴에서만 | 특정 주제일 때만 필요한 지식 |
heartbeat | 정기 실행 때마다 | 정기적으로 상황을 보고 보고하는 용도 |
mode: trigger는 triggers에 단어를 나열해서 지정합니다. 대화할 때마다 전부 읽히면 비용이 늘어나므로, 전문적인 내용일수록 trigger가 알맞습니다.
쓰는 원칙
역할과 말투를 맨 앞에서 고정합니다 — 무엇을 하는 AI이고 어떻게 답하는지를 처음에 씁니다.
어떤 데이터를 볼지 순서를 씁니다 — 화면에 보이는 노트와 계정 정보는 매번 AI에게 넘어갑니다. 그것으로 충분한 것을 capability로 다시 가져오게 하면 쓸데없는 왕복이 늘어납니다. "화면의 노트를 참조할 때는 먼저 넘겨받은 것을 보고, 모든 계정이 필요할 때만 목록을 가져온다"처럼 씁니다.
응답 형식을 엄격하게 지정합니다 — 모호한 지시로는 긴 글이 돌아오기 쉽습니다. "첫 줄은 결론을 30자 이내로", "글머리 기호는 최대 5개"처럼 제약을 쓰면 효과가 있습니다.
실패했을 때의 행동을 씁니다 — 데이터를 가져올 수 없을 때, 권한이 부족할 때, 요청을 이해할 수 없을 때 무엇이라고 답할지 정해 둡니다.
capability 이름을 명시합니다 — "테마를 바꿔"라고만 쓰면, AI가 실제로는 조작하지 않고 "바꿨습니다"라고 답하는 일이 있습니다. "테마 목록을 가져온다 → 이름이 일치하는 id를 고른다 → 적용한다"처럼 절차와 이름을 씁니다.
정기 실행하는 스킬
mode: heartbeat 스킬은 앱이 실행되는 동안 계속 정기적으로 실행됩니다. frontmatter에서 "무엇을 지켜볼지"를 선언해 두면, 지난번부터 변화가 없는 동안에는 AI 호출 자체가 생략됩니다. 선언하지 않으면 변화가 없어도 매번 AI가 호출되어 과금됩니다.
실행할 때마다 반드시 바뀌는 것 (현재 시각 등)을 지켜볼 대상으로 삼으면 항상 변화가 있다고 판정되어 생략이 듣지 않습니다. "무엇이 바뀌면 깨워 주었으면 하는가"를 기준으로 고르세요.
기밀 다루기
AI에게 넘어가는 데이터에서는 토큰이나 비밀번호에 해당하는 항목이 자동으로 제거됩니다.
만들기와 배포하기
AI 칼럼에서 "○○하는 스킬을 만들어 줘"라고 부탁할 수 있습니다. 직접 쓴다면 설정 폴더에 Markdown 파일 하나를 두기만 하면 됩니다. 만든 것은 MisStore에서 배포할 수 있습니다 (제출 방법 / 형식).
capability 목록과 권한의 자세한 내용은 저장소의 SKILLS.md를 참고하세요.