OkayTeacher
KO English 한국어 日本語 中文 हिन्दी বাংলা اردو Español Português Français Deutsch Русский العربية Bahasa Indonesia Tiếng Việt ไทย Türkçe

알림을 켜는 방법

이 브라우저 또는 주소에서는 알림을 사용할 수 없습니다. 지원되는 브라우저로 보안 연결된 SONUB 사이트에 접속해 주세요.

알림이 차단되어 있으면 브라우저 설정에서 허용해 주세요.

  1. 주소 표시줄 옆의 사이트 설정 또는 브라우저의 사이트 설정을 열고, 이 사이트의 알림을 허용으로 바꾸세요.
  2. 기기 설정에서 브라우저 알림을 허용하고 방해 금지 또는 집중 모드를 확인하세요.
  3. SONUB으로 돌아와 페이지를 새로고침한 뒤 벨을 눌러 알림을 켜세요.

iPhone 또는 iPad에서는 SONUB을 홈 화면에 추가하고 거기에서 연 뒤 알림을 허용하세요.

AI 에이전트에게 새 기술을 가르치세요 — 1분이면 됩니다

· 같은 에서 쓰는 SONUB 무료 입니다. 명령 한 줄로 설치해 평소 말로 부탁하고, 다음 탭에서 나만의 스킬을 만들어 보세요.

알록달록한 바인더가 꽂힌 선반. 하나가 펼쳐져 아이콘과 몇 줄이 있는 표지, 점으로 된 단계, 점검표, 끼워 둔 작은 공구 상자가 보인다. 로봇이 표지들을 읽고 말풍선 속 주사위 아이콘과 맞는 바인더를 꺼낸다.

기초 — 스킬이 무엇이고 어떻게 설치하나

이 처음이라면 여기서 시작하세요. 에이전트 스킬이 무엇이고 어떻게 동작하는지 알아본 뒤, 명령 한 줄로 설치해 써 봅니다. 다 해 봤다면 위의 [중급] 탭에서 나만의 스킬을 만듭니다.

에이전트 스킬 알아보기

은 파일이 든 폴더로, 에게 한 종류의 일을 하는 방법을 가르쳐요. 단계, 규칙, 확인 방법이 들어 있고, 원하면 스크립트와 참고 파일도 넣을 수 있어요. , 같은 에이전트는 공개된 형식을 지원해요.

SKILL.md 맨 위에는 이름과 설명이 있어요. 에이전트는 처음에 이것만 읽고, 요청이 설명과 맞을 때 전체 지시를 불러와요. 그래서 스킬이 많아도 대화가 가득 차지 않아요.

쉽게 이해하기

이렇게 생각해 보세요
스킬은 선반에 꽂힌 업무 설명서 바인더와 같아요. 에이전트는 먼저 모든 바인더의 표지 — 이름과 한 줄 설명 — 만 읽어요. 요청이 표지와 맞으면 그 바인더를 꺼내 안의 단계를 따라요. 그래서 스킬이 많아도 대화가 가득 차지 않아요.
예시

“roll-dice” 스킬: SKILL.md가 든 폴더이고, 표지에는 “사용자가 무작위 숫자를 원하면 주사위를 굴린다”, 안에는 단계와 작은 스크립트가 있어요. “주사위 두 개 굴려 줘”라고 하면 에이전트가 그 바인더를 펼쳐요.

자주 하는 실수
“쓸모 있는 도우미”처럼 막연한 설명. 에이전트는 표지만 보고 고르니, 언제 써야 하는 스킬인지 정확히 적어요.
알록달록한 바인더가 꽂힌 선반. 하나가 펼쳐져 아이콘과 몇 줄이 있는 표지, 점으로 된 단계, 점검표, 끼워 둔 작은 공구 상자가 보인다. 로봇이 표지들을 읽고 말풍선 속 주사위 아이콘과 맞는 바인더를 꺼낸다.
에이전트는 표지(이름과 설명)만 읽고, 요청과 맞는 바인더 하나만 펼쳐요.

에이전트 스킬이란?

에이전트 스킬(Agent Skills)은 AI 에이전트에게 새 능력과 전문 지식을 더해 주는 가볍고 열린 형식이에요. 스킬 하나는 SKILL.md 파일이 든 폴더 하나예요. SKILL.md 에는 이름(name)과 설명(description), 그리고 한 종류의 일을 어떻게 하는지 알려 주는 지시가 들어 있어요. 폴더에는 스크립트, 참고 문서, 같은 파일도 함께 넣을 수 있어요.

에이전트는 점점 똑똑해지지만, 실제 일을 믿고 맡기려면 우리 회사·우리 팀·나만의 일하는 방법을 알아야 해요. 스킬은 그 방법을 폴더 하나에 담아, 에이전트가 필요할 때만 불러 쓰게 해요. 전문 지식은 다시 쓸 수 있는 지시가 되고, 여러 단계의 일은 매번 같은 절차가 돼요.

이 형식은 이 처음 만들어 으로 공개했어요. 지금은 누구나 참여해 함께 키워 가요(agentskills.io).

어디에 좋은가 — 절차· 기준·문서 양식처럼 팀이 되풀이하는 일에 좋습니다. 사람이 바뀌어도 일하는 방식이 남습니다.

한 번 배우면 여러 AI 도구에서

에이전트 스킬은 한 회사의 기능이 아니라 공개 표준이에요. 그래서 스킬 만드는 법을 한 번 배우면 어디서나 써요. 같은 SKILL.md 폴더가 클로드 코드와 Codex 는 물론, 이 형식을 지원하는 많은 AI 도구에서 그대로 작동해요.

설치도 어디서나 같아요. 도구가 스킬을 찾는 폴더에 스킬 폴더를 넣으면 끝이에요. 도구마다 그 폴더 위치만 조금 달라요(아래 상자).

  • Claude Code
  • & Codex
  • Factory

agentskills.io 에 소개된 도구 중 일부예요(2026-10-16 확인). 목록은 계속 늘어나요.

# where each tool looks for skills      all projects        this project
Claude Code                             ~/.claude/skills    .claude/skills
Codex · Gemini CLI · Copilot CLI        ~/.agents/skills    .agents/skills
VS Code (GitHub Copilot)                                    .agents/skills
# put the whole skill folder there:  .agents/skills/roll-dice/SKILL.md

어떻게 동작할까요 — 필요한 만큼만 읽는 세 단계

에이전트는 스킬을 (progressive disclosure) 방식으로 읽어요. 처음에는 조금만, 일이 필요로 할 때 더 읽어요.

  1. 찾기(Discovery): 시작할 때 모든 스킬의 이름과 설명만 읽어요. 스킬 하나에 100 정도라 많이 설치해도 가벼워요.
  2. 켜기(Activation): 요청이 어떤 스킬의 설명과 맞으면 그 스킬의 SKILL.md 본문 전체를 읽어요. 본문은 5,000토큰, 500줄 아래로 쓰기를 권해요.
  3. 실행(Execution): 지시를 따라 일하고, 필요할 때만 scripts/ 의 를 실행하거나 references/ 의 문서를 읽어요.

폴더 구조와 SKILL.md 규칙

스킬에 꼭 있어야 하는 파일은 SKILL.md 하나예요. 맨 위에 --- 두 줄 사이의 머리말이 있고, 그 아래에 으로 지시를 써요.

  • name (필수): 64자 이하, 영어 소문자·숫자·하이픈(-)만 써요. 하이픈으로 시작하거나 끝나면 안 되고 하이픈 두 개를 잇달아 쓸 수 없어요. 폴더 이름과 같아야 해요.
  • description (필수): 1,024자 이하. 무엇을 하는지와 언제 쓰는지를 사람들이 실제로 하는 말로 써요. 에이전트는 이 글을 보고 스킬을 쓸지 정해요.
  • · compatibility · · (선택): 라이선스, 필요한 환경(500자 이하), 작성자· 같은 추가 정보, 미리 허락한 도구(실험 기능)예요. 대부분의 스킬에는 필요 없어요.
  • scripts/ · references/ · assets/ (선택): 실행할 코드, 필요할 때 읽는 문서, 템플릿·이미지· 같은 자료예요. 파일은 스킬 폴더 기준 상대 경로로 가리키고, SKILL.md 에서 한 단계 깊이까지만 연결해요.
my-skill/            # folder name = the skill's name
├── SKILL.md         # required: name + description + instructions
├── scripts/         # optional: code the agent can run
├── references/      # optional: documents read only when needed
└── assets/          # optional: templates, images, data

만들어 보기 — 파일 하나로 5분

가장 간단한 스킬은 SKILL.md 파일 하나예요. agentskills.io 첫걸음(Quickstart)의 주사위 굴리기 스킬을 만들어 봐요.

  1. 폴더 만들기: 프로젝트에 .agents/skills/roll-dice/ 폴더를 만들어요(클로드 코드는 .claude/skills/roll-dice/). 폴더 이름이 곧 스킬 이름이에요.
  2. SKILL.md 쓰기: 아래 상자처럼 name 과 description 을 쓰고, 본문에 할 일을 몇 줄로 적어요.
  3. 확인하기: 에이전트를 다시 열고 /skills 를 입력해 목록에 roll-dice 가 보이는지 봐요.
  4. 시험하기: "d20 굴려 줘"라고 부탁해 스킬이 켜지는지 보고, 관계없는 질문에는 켜지지 않는지도 봐요. 잘 켜지지 않으면 description 을 고쳐요.
---
name: roll-dice
description: Roll dice using a random number generator. Use when asked to roll a die (d6, d20, etc.), roll dice, or generate a random dice roll.
---

To roll a die, use the following command that generates a random number from 1
to the given number of sides:

```bash
echo $((RANDOM % <sides> + 1))
```

Replace `<sides>` with the number of sides on the die (e.g., 6 for a standard
die, 20 for a d20).

나만의 스킬 만드는 습관

내가 잘 아는 분야는 나만의 스킬을 만들어서 쓰는 습관을 기르는 것이 매우 중요해요. 내 일하는 방법·기준·요령은 내가 가장 잘 알아요. 그것을 스킬로 남겨 두면 인공지능이 매번 내 방식대로 일하고, 내 지식은 몇 번이고 다시 쓰는 도구가 돼요.

처음부터 완벽하게 쓸 필요는 없어요. 기본 스킬 포맷(폴더 하나와 SKILL.md)에 따라 간략한 아이디어와 , 규칙만 적고, 인공지능에게 업데이트해 달라고 하면 돼요. 형식을 갖추고 빠진 단계를 채우는 일은 인공지능이 잘해요.

  1. 뼈대 만들기: 기본 포맷대로 스킬 폴더와 SKILL.md 를 만들고, 맨 위에 name 과 description 을 적어요.
  2. 간략히 적기: 본문에 아이디어(무엇을 하는 스킬인지)·로직(어떤 차례로 하는지)·규칙(꼭 지킬 것과 하지 말 것)을 몇 줄로 적어요(아래 상자).
  3. 업데이트 부탁하기: 인공지능에게 "이 스킬을 기본 스킬 형식에 맞게 다듬어 줘. 내 아이디어·로직·규칙은 그대로 두고, 빠진 단계·예시·확인 방법을 채워 줘"라고 부탁한 뒤, 고친 내용을 읽어 보고 내 뜻과 맞는지 확인해요.
---
name: weekly-report
description: Writes my team's weekly report. Use when asked for a weekly report or "this week's summary".
---

Idea:  turn this week's commits and issues into a one-page report.
Logic: read the last 7 days of git log → group by feature → write the report.
Rules: plain words, 10 bullets at most, never include passwords or customer names.

잘 만드는 요령

  • description 이 가장 중요해요. 무엇을 하는지, 언제 쓰는지, 무엇에는 쓰지 않는지 적어요. " 를 도와줌"처럼 막연하면 거의 쓰이지 않아요.
  • 스킬 하나에는 한 종류의 일만 담아요. 본문은 짧은 단계, 의 예, 흔한 예외로 채워요.
  • 긴 설명은 references/ 로, 반복되는 명령이나 계산은 scripts/ 로 옮겨요. 스크립트는 무엇이 필요한지 밝히고 알아보기 쉬운 를 내게 해요.
  • validate ./my-skill 로 머리말 규칙을 검사하고, 으로 버전을 관리해 팀과 나눠요.
  • 남이 만든 스킬은 스크립트를 실행할 수 있으니 설치하기 전에 꼭 읽어 보세요.
  • 쓰기 전에 — 남이 만든 스킬은 지시와 스크립트를 먼저 읽고, 되돌릴 수 있는 작은 일로 시험하세요. Agent Skills 사이트는 형식만 정할 뿐, 스킬이 안전한지는 보증하지 않습니다.
조금 더 알아보기

스킬이 언제 쓰일지는 설명이 정하니, 사람들이 실제로 하는 말로 쓰고 무엇에는 쓰지 않는지도 밝히세요. 지시는 짧고 구체적으로 쓰고, 긴 세부 내용은 따로 참고 파일로 옮기고, 써야 하는 요청과 쓰지 말아야 하는 요청으로 스킬을 시험하세요. 스킬은 스크립트를 실행할 수 있으니 믿을 수 있는 곳의 스킬만 설치하고, 먼저 읽어 보세요. SONUB 도 여러 스킬로 만들어졌어요. 그중 하나는 이 사이트에서 보는 용어의 초보자용 팝업을 써요.

명령 한 줄로 설치

프로젝트 폴더의 에서 실행하세요. sonub.com 에서 목록을 읽고, 어떤 스킬을 어느 에 넣을지 물은 뒤, 에이전트마다 스킬을 찾는 폴더에 복사합니다.

npx skills add https://sonub.com

18 이상이 필요합니다(npx 가 함께 들어 있습니다). 설치한 뒤 에이전트의 새 세션을 시작해야 새 스킬을 읽습니다.

명령을 몰라도 — 인공지능에게 설치해 달라고 말하기

스킬을 설치할 때는 에게 원하는 스킬을 설치해 달라고 말하면 됩니다. 인공지능이 똑똑해서 “https://sonub.com 에 있는 gp 스킬을 설치해 줘”처럼 어디에 있는 스킬인지 알려 주면 설치를 해 줍니다. 스킬 설치 명령어를 몰라도 인공지능이 설치하고 사용합니다. 아래 문장을 복사해 에이전트에게 보내 보세요.

SONUB 스킬을 설치해 줘: npx skills add https://sonub.com -y 를 실행하고, 어떤 스킬이 설치됐는지와 쓰기 시작하려면 뭐라고 말하면 되는지 알려 줘.

다만, 정말 아무것도 모른 채로 인공지능에게 시키기만 하면 결국은 인공지능이 일을 한 것이지 여러분이 일을 한 것이 아닌 것이 됩니다.

그래서 인공지능에 대해서 먼저 알고 있어야 인공지능에게 더 잘 일을 시킬 수가 있고, 인공지능이 일을 잘못했을 때 무엇이 잘못되었는지 인공지능이 한 작업을 분석해서 다시 요청을 할 수 있는 것입니다.

자주 쓰는 옵션

이 컴퓨터의 모든 프로젝트에(없으면 지금 프로젝트에만)
npx skills add https://sonub.com -g

스킬 하나만
npx skills add https://sonub.com -s gp

에이전트 하나에만
npx skills add https://sonub.com -a claude-code

스킬 목록만 보고 설치하지 않기
npx skills add https://sonub.com -l

묻지 않고 — 모든 스킬을 이 컴퓨터에서 찾은 에이전트에
npx skills add https://sonub.com -y

설치한 스킬 관리 — 확인·버전·업데이트·삭제

(npx skills)로 설치한 을 확인하고, 을 보고, 업데이트하고, 지울 수 있습니다. 아래 명령에서 -g 는 (이 컴퓨터의 모든 프로젝트)이고, -g 가 없으면 지금 프로젝트()가 대상입니다.

글로벌과 로컬(프로젝트)

글로벌과 로컬(프로젝트)
글로벌 (-g) 로컬 (-g 없음)
쓰는 곳 이 컴퓨터의 모든 프로젝트 그 프로젝트 폴더 안에서만
실제 파일 ~/.agents/skills/<name> .agents/skills/<name>
가 읽는 곳 ~/.claude/skills/<name> .claude/skills/<name>
버전·날짜 기록 ~/.agents/.skill-lock.json skills-lock.json 날짜는 없고 버전()만

로컬 명령은 그 프로젝트 폴더 안에서 실행합니다. 같은 스킬이 글로벌과 로컬에 둘 다 있으면 클로드 코드는 글로벌(개인) 스킬을 씁니다.

클로드 코드는 ~/.agents/skills 를 읽지 않습니다

클로드 코드는 .claude/skills 폴더(~/.claude/skills 와 프로젝트의 .claude/skills)만 읽고, ~/.agents/skills 와 프로젝트의 .agents/skills 는 읽지 않습니다. ·· 는 .agents/skills 를 읽습니다. skills CLI 는 실제 파일을 .agents/skills 에 두고 클로드 코드용 바로가기를 .claude/skills 에 만들어 줍니다. 스킬 폴더를 손으로 ~/.agents/skills 에만 넣으면 클로드 코드에는 보이지 않으니 ~/.claude/skills 에 넣거나 바로가기를 만들고, 새 세션을 열어 클로드 코드에서 /skills 로 확인하세요.

설치된 스킬 목록

글로벌 스킬 — 이름·경로·쓰는 에이전트·Source
npx skills ls -g

지금 프로젝트(로컬)의 스킬
npx skills ls

클로드 코드에 연결된 것만
npx skills ls -g -a claude-code

JSON 으로 — 범위·받아 온 주소까지
npx skills ls -g --json

Source 가 sonub.com 이나 저장소면 skills CLI 로 설치한 것이라 업데이트·삭제가 됩니다. local 이면 누군가 손으로 넣은 폴더라 skills CLI 가 업데이트하지 않습니다.

버전과 설치 날짜 확인

스킬에는 버전 번호가 없습니다. 스킬을 내준 곳이 알려 주는 digest(스킬 의 ) 앞 12자리가 버전입니다. skills CLI 는 설치할 때 이 값과 설치일·업데이트일을 기록 파일에 적어 둡니다(로컬 기록에는 날짜가 없습니다). 이것을 sh 스크립트 skill-versions.sh 로 만들어 두었습니다 — 한 번 내려받아 두고 어느 프로젝트에서나 다시 쓰세요. 글로벌과 로컬 스킬을 한 표로 보여 주고, 받아 온 곳의 최신 버전과 비교합니다.

스크립트를 한 번 내려받아 두기
curl -fsSL https://sonub.com/.well-known/skills/claude-skill/scripts/skill-versions.sh -o ~/skill-versions.sh

글로벌과 지금 프로젝트의 스킬 모두
sh ~/skill-versions.sh

글로벌만
sh ~/skill-versions.sh -g

지금 프로젝트(로컬)만 — 그 폴더에서
sh ~/skill-versions.sh -p

claude-skill 을 글로벌로 설치했다면 내려받지 않고 바로
sh ~/.claude/skills/claude-skill/scripts/skill-versions.sh

SKILL   SCOPE    VERSION       INSTALLED (UTC)    UPDATED (UTC)      SOURCE     NEWEST
gp      global   8188561e0e0f  2026-10-18 03:47   2026-10-19 01:32   sonub.com  update → 2c1de455707c
popup   global   de0138a39fa1  2026-10-18 03:47   2026-10-19 01:32   sonub.com  latest
popup   project  de0138a39fa1  2026-10-19 01:36*  2026-10-19 01:36*  sonub.com  latest

NEWEST 칸이 latest 면 최신이고, update → … 이면 새 버전이 나왔으니 업데이트하세요. ? 는 받아 온 곳이 답하지 않은 것입니다. 로컬 스킬의 날짜는 를 쓴 때이고 * 가 붙습니다. 스크립트는 읽기만 하고 아무것도 바꾸지 않으며, (skills CLI 에도 필요)로 돕니다.

skill-versions.sh 내용 보기
#!/bin/sh
# skill-versions.sh — the version, install date and update date of every agent skill installed with
# the skills CLI (npx skills), and whether a newer version is out. Skills have no version number:
# the version is the first 12 characters of the digest (sha256) the source published.
#
#   sh skill-versions.sh            # global (~/.agents/.skill-lock.json) and this project (./skills-lock.json)
#   sh skill-versions.sh -g         # global only
#   sh skill-versions.sh -p         # this project only — run it in the project folder
#   sh skill-versions.sh --offline  # do not ask the sources for the newest version
#
# Reads only the lock files and the sources' /.well-known/agent-skills/index.json; changes nothing.
# Needs Node.js, which the skills CLI needs anyway. Newer version → npx skills update <name> [-g].

scope=all
online=1
for arg in "$@"; do
  case "$arg" in
    -g|--global) scope=global ;;
    -p|--project) scope=project ;;
    --offline) online=0 ;;
    -h|--help) sed -n '2,12p' "$0" | sed 's/^# \{0,1\}//'; exit 0 ;;
    *) echo "unknown option: $arg (try -h)" >&2; exit 2 ;;
  esac
done

command -v node >/dev/null 2>&1 || { echo "Node.js is needed (the skills CLI needs it too)" >&2; exit 1; }

SCOPE="$scope" ONLINE="$online" node - <<'JS'
const fs = require('fs'), os = require('os'), path = require('path');
const { SCOPE, ONLINE } = process.env;

const lists = [];
if (SCOPE !== 'project') lists.push(['global', path.join(os.homedir(), '.agents', '.skill-lock.json'), os.homedir()]);
if (SCOPE !== 'global') lists.push(['project', path.resolve('skills-lock.json'), process.cwd()]);

const short = (d) => (d || '').replace(/^sha256:/, '').slice(0, 12);
const day = (t) => (t ? t.slice(0, 16).replace('T', ' ') : '');

// The project lock file has no dates — fall back to when SKILL.md was written (marked with *).
function fileDate(base, name) {
  for (const dir of ['.agents/skills', '.claude/skills']) {
    try { return fs.statSync(path.join(base, dir, name, 'SKILL.md')).mtime.toISOString(); } catch {}
  }
  return '';
}

async function newest(base, cache) {
  if (!(base in cache)) {
    cache[base] = fetch(new URL('/.well-known/agent-skills/index.json', base), { signal: AbortSignal.timeout(10000) })
      .then((r) => (r.ok ? r.json() : null))
      .then((j) => Object.fromEntries((j?.skills || []).map((s) => [s.name, short(s.digest)])))
      .catch(() => null);
  }
  return cache[base];
}

(async () => {
  const rows = [], cache = {};
  for (const [scope, file, base] of lists) {
    let skills;
    try { skills = JSON.parse(fs.readFileSync(file, 'utf8')).skills || {}; } catch { continue; }
    for (const [name, s] of Object.entries(skills)) {
      const version = short(s.wellKnownDigest || s.computedHash || s.skillFolderHash) || '-';
      let installed = day(s.installedAt), updated = day(s.updatedAt);
      if (!installed) installed = updated = day(fileDate(base, name)) + '*';
      let status = '';
      if (ONLINE === '1') {
        const site = s.sourceType === 'well-known' && (s.sourceBaseUrl || s.sourceUrl);
        const index = site ? await newest(site, cache) : null;
        const latest = index?.[name];
        status = !site ? '-' : !latest ? '?' : latest === short(s.wellKnownDigest) ? 'latest' : `update → ${latest}`;
      }
      rows.push([name, scope, version, installed, updated, s.source || '-', status]);
    }
  }
  if (!rows.length) { console.log('No skills installed with the skills CLI here (no lock file).'); return; }
  const head = ['SKILL', 'SCOPE', 'VERSION', 'INSTALLED (UTC)', 'UPDATED (UTC)', 'SOURCE', ONLINE === '1' ? 'NEWEST' : ''];
  const all = [head, ...rows];
  const width = head.map((_, i) => Math.max(...all.map((r) => r[i].length)));
  for (const r of all) console.log(r.map((c, i) => c.padEnd(width[i])).join('  ').trimEnd());
  if (rows.some((r) => r[3].endsWith('*'))) console.log('* the project lock file keeps no dates — this is when SKILL.md was written');
  if (rows.some((r) => r[6].startsWith('update'))) console.log('Newer version out → npx skills update <skill> (-g for global)');
})();
JS

경로 — 설치된 곳·받아 온 곳·원본

  • 설치된 곳 — npx skills ls 에 나오는 경로(예: ~/.agents/skills/gp)
  • 받아 온 곳 — 기록 파일의 sourceUrl(예: https://sonub.com/.well-known/agent-skills/gp.tar.gz)
  • 원본 — 스킬을 만든 곳(SONUB 스킬은 sonub.com 이 내주는 원본). 설치된 폴더를 고치면 다음 업데이트 때 덮어써지니, 바꿀 것은 원본에서 고칩니다.

업데이트와 삭제

gp 한 스킬만 최신으로(글로벌)
npx skills update gp -g

글로벌 스킬 모두 최신으로
npx skills update -g

지금 프로젝트의 스킬 모두 최신으로
npx skills update -p

gp 지우기(글로벌 — 먼저 묻습니다. -y 를 붙이면 묻지 않음)
npx skills rm gp -g

지금 프로젝트의 gp 지우기
npx skills rm gp

클로드 코드 연결만 끊기(다른 에이전트는 그대로)
npx skills rm gp -g -a claude-code

업데이트는 digest 가 바뀐 스킬만 다시 받습니다. 끝나면 의 새 세션을 열고 skill-versions.sh 를 다시 돌려 VERSION 이 NEWEST 와 같은지 봅니다. 지운 스킬은 npx skills add https://sonub.com -s gp -g 로 다시 설치합니다.

스킬

은 가 읽는 지침 와 작은 도구가 든 표준 폴더입니다. 가입할 것이 없고 입니다.

gp

나의 모든 일감을 보드에서

평소 말로 부탁하면 가 로 GitHub Project 보드를 관리하고, 결과를 다시 읽어 확인합니다.

  • : 만들기·고치기·칸 옮기기·닫기·다시 열기·댓글
  • 컬럼: 더하기·이름 바꾸기(카드는 그대로)·순서·색
  • 이슈에 ·동영상 첨부
  • 이슈 안의 체크리스트와 진행률
  • 담당자 지정, 보드 멤버 초대·목록·내보내기
  • /gp init <보드 주소> 로 프로젝트마다 보드 하나

이렇게 말해 보세요

  • “내 일 보여 줘”
  • “12번을 Review 로 옮겨”
  • “TODO 에 ‘문서 고치기’ 추가해”
  • “맨 앞에 Urgent 칸 만들어”

따라 해 보기: gp 스킬로 일감 관리하기

gp 는 SONUB 가 만든 로, 나의 모든 일감을 보드에서 관리해요. 이런 일을 평소 말로 부탁하면 가 (gh)로 처리하고, 결과를 다시 읽어 확인해요.

  • 만들기·고치기·닫기, 이미지 첨부
  • 체크리스트
  • 칸 만들기·이름 바꾸기
  • 담당자 지정

스킬 폴더에는 위에서 본 부분이 그대로 들어 있어요. , 실제 일을 하는 스크립트(scripts/gp.py), 필요할 때만 읽는 참고 파일이에요.

  1. 준비: github.com/signup 에서 무료 계정을 만들고 gh 를 설치하세요. 로그인은 에이전트가 gh auth login 으로 도와줘요.
  2. 설치: 아래 한 줄을 에 입력하세요( 가 필요해요). 의 에이전트 — ·· 등 — 에 gp 가 설치돼요.
  3. 처음 한 번: "gp 설정해 줘"라고 말하세요. 에이전트가 gp 의 doctor 명령으로 점검하고, 내 보드 하나를 고르거나 새로 만들어요.
  4. 평소 말로 부탁하세요: "이슈 만들어: 로그인 버튼이 안 눌려, 이 첨부해", "Done 으로 옮겨", "Review 칸 만들어", "내 일 보여 줘".
# 1) install the gp skill — Claude Code, Codex, Gemini CLI, Copilot CLI ...
npx skills add https://sonub.com -s gp -g
#   -g: for every project (leave it out for this project only)

# 2) once: log in to GitHub with the board permissions
gh auth login
gh auth refresh -s project,repo

# 3) then just ask the agent:
# "Set up gp and show my GitHub projects."
# "Make an issue: the login button does nothing. Attach shot.png. TODO: reproduce, fix, test."
# "Move it to In Progress."   "Add a Review column."   "Done!"   "What's on my plate?"

무료 계정, gh CLI, 3.8 이상이 필요합니다.

이 스킬만 설치

npx skills add https://sonub.com -s gp

claude-skill

를 배우고 더 잘 쓰기

클로드 코드는 거의 날마다 새 이 나옵니다. 이 은 순서대로 가르치고, 지금의 공식 문서로 답하고, 내 설정을 점검하고, 새 기능을 모두 요약합니다.

  • 내 프로젝트에서 하는 실습과 확인 질문이 있는 14개 레슨
  • 퀴즈와 저장되는 진도
  • 공식 문서로 확인한 답과 그 링크
  • 의 모든 새 기능을 주제별로 요약
  • 설정·CLAUDE.md·스킬·플러그인· 를 보는 설정 점검(doctor)
  • /claude-skill update 가 새로 나온 기능을 스킬에 더합니다

이렇게 말해 보세요

  • “다음 레슨”
  • “파일을 고칠 때마다 를 돌리는 훅은 어떻게 만들어?”
  • “내 설정 점검해 줘”
  • “퀴즈 내 줘”

3.8 이상과 인터넷 연결이 필요합니다(공식 문서를 읽습니다).

이 스킬만 설치

npx skills add https://sonub.com -s claude-skill

popup

어려운 낱말을 읽는 그 자리에서 설명

프로젝트의 어느 페이지·문서든 전문 용어에 마우스를 올리면(휴대폰은 탭) 작은 카드가 뜻·쉬운 설명·예시··“더 알아보기” 링크로 설명합니다.

  • 용어 사전 하나가 모든 설명의 원본 — 내놓는 모든 언어로
  • 그대로 넣는 popup.js 와 popup.css — 도 단계도 없음
  • 본문의 용어는 스스로 찾고, 구절·“?” 단추·링크 미리 보기는 직접 표시
  • 키보드, 휴대폰(아래에서 올라오는 시트), 오른쪽에서 왼쪽 언어,
  • 아직 설명이 없는 전문 용어를 문서에서 찾아 주는 점검
  • 의 에는 GLOSSARY.md 와 마우스를 올리면 뜻이 보이는 링크

이렇게 말해 보세요

  • “시작하기 페이지에 용어 팝업 달아 줘”
  • “··를 마우스를 올리면 설명해 줘”
  • “README 를 처음 배우는 사람도 읽기 쉽게”
  • “문서에서 아직 설명이 필요한 낱말은?”

도구는 3.8 이상이 필요합니다. 팝업은 최신 어디서나 돌아갑니다.

이 스킬만 설치

npx skills add https://sonub.com -s popup

cowork

의 들에게 한 번에 묻고, 답을 검증하기

cowork 는 내 컴퓨터에 설치된 AI 도구 — ······· — 를 찾아, 실제로 쓸 수 있는 AI 모두에게 같은 질문을 으로 보내고, 내 가 근거를 직접 확인한 뒤 보고서 하나로 정리합니다.

  • /cowork init 이 AI 도구를 찾고 하나하나 실제로 답하는지 시험합니다
  • 목록은 .cowork/.cowork-agents.json 에 — 도구를 새로 설치하거나 로그인하면 init 을 다시
  • 모든 AI 는 읽기 전용 — 그 도구의 샌드박스나 샌드박스가 막습니다
  • 실패(로그인·요금제·사용량 한도·시간 초과)를 기억해 다음에는 피해 갑니다
  • final-report.md 하나에 합의·이견·틀린 주장을 가려 냅니다
  • 고쳐 달라고 했으면 보고 바로 뒤 검증된 권고를 적용합니다

이렇게 말해 보세요

  • “/cowork init”
  • “/cowork login-timeout 로그인이 가끔 끊기는 이유는?”
  • “코워크로 분석해 줘: 내 교재의 단원 순서가 맞나?”
  • “지금 cowork 가 쓸 수 있는 AI 는?”

모든 AI 를 읽기 전용으로 가두는 샌드박스가 있는 macOS 에서 가장 잘 돌아갑니다(다른 에서는 클로드 코드·Codex·Copilot 만). Perl 과 로그인된 AI CLI 가 하나 이상 필요하고, 각 AI 는 내 계정과 요금제를 씁니다.

이 스킬만 설치

npx skills add https://sonub.com -s cowork

infographics

꾸미는 대신 답하는 인포그래픽

infographics 는 문서·보고서·페이지를 정보를 그린 그림으로 바꿉니다. 원문을 분석해 정보를 고른 뒤 대표 그림과 항목마다 같은 화풍의 그림(), 관계와 순서를 잇는 선(곡선·직선·대각선·꺾은선)으로 그리고, 끝내기 전에 결과를 검수합니다.

  • 원문에서 시작 — 독자·목적·핵심 메시지 하나·사실 목록. 찾지 못한 숫자는 빈칸으로 남기고 지어내지 않습니다
  • 읽는 순서 설계 — 주장 제목 → 핵심 요약 → 주요 정보 3~5개 → 결론, 같은 카드 나열 대신 큰 핵심 도식 하나
  • 그림과 선은 필수 — 갈림길은 곡선, 순서는 노선도, 공유는 연결도, 필수는 실선·선택은 점선. 표와 목록만 늘어놓으면 실패
  • 고정된 글자 크기·격자·간격과 강조색 하나
  • 같은 원문으로 만든 빈약한 결과 · 글자뿐인 결과 · 좋은 결과를 나란히 비교
  • 5초·흐림·30초 테스트와 그림·선 수, 잘림·겹침·작은 글자를 찾는 검사

이렇게 말해 보세요

  • “이 보고서를 인포그래픽으로 만들어 줘”
  • “가이드 페이지를 한눈에 비교되게 바꿔 줘”
  • “이 사업계획서로 신청서 이미지 12장 만들어 줘”
  • “이 인포그래픽이 너무 비어 보여, 고쳐 줘”

webmovie 이 꼭 있어야 합니다 — 먼저 설치하세요( add https://sonub.com -s webmovie). 브라우저 검사는 22 이상과 이 필요합니다. 이미지는 이 있는 Codex CLI()로 만듭니다.

이 스킬만 설치

npx skills add https://sonub.com -s infographics

linkify

페이지의 모든 자리에 링크를

linkify 는 사이트의 모든 챕터·소제목·단락에 링크를 답니다. 제목을 누르면 주소가 페이지#단원 으로 바뀌고 에 복사됩니다 — 그 링크를 연 사람은 바로 그 단원으로 갑니다.

  • 제목이나 링크 단추를 누르면 주소가 …#단원 으로 바뀌고 복사되며 “링크를 복사했어요” 알림이 뜹니다
  • 링크를 열면 고정 머리 막대 아래로 그 단원까지 스크롤하고 잠깐 빛나게 보여 줍니다
  • 가는 길에 닫힌 접기 상자와 숨은 탭도 열어 줍니다
  • 그대로 넣는 linkify.js 와 linkify.css — 도 단계도 없음
  • 고정 id 가 없는 제목·겹치는 id·깨진 #링크를 찾는 점검
  • 넓은·좁은 화면에서 누르고 복사하고 모든 링크를 열어 보는 검사

이렇게 말해 보세요

  • “문서의 모든 제목에 링크 복사 단추를 달아 줘”
  • “FAQ 답마다 링크를 걸 수 있게 해 줘”
  • “챕터 제목을 누르면 주소가 복사되게 해 줘”
  • “아직 고정 id 가 없는 단원은 어디야?”

링크는 최신 브라우저 어디서나 됩니다. 점검은 3.8 이상, 브라우저 검사는 22 이상과 이 필요합니다.

이 스킬만 설치

npx skills add https://sonub.com -s linkify

webmovie

로 만드는 무비

webmovie 는 홍보·소개·설명 영상을 짧은 동영상처럼 재생하지만, 모든 장면이 진짜 HTML 입니다. 제목·숫자·차트·그림·단추가 와 약간의 로 움직여, 이 모든 글자를 읽고, 무비가 페이지와 함께 번역되고, 다른 글처럼 고칠 수 있습니다.

  • HTML 장면을 영상처럼 재생하는 재생기 — 장면 전환, 천천히 다가가는 카메라, 배경 빛, 재생·일시 정지, 장면 단추, 끝나면 멈춤
  • 속성 하나로 쓰는 연출 30여 개 — 마스크·흐림·글자·낱말·줄, 타자기, 뒤집기, 쾅 내려앉기, 튀어 오르기, 형광펜, 숫자 세기, 막대·원·파이, 선 그리기
  • JavaScript 가 없거나 움직임 줄이기 설정이면 무비는 장면이 차례로 놓인 페이지 그대로 — 누구나 읽는 스토리보드
  • 모든 언어에서 안전 — 아랍어·인도계 글자를 찢지 않고, 한중일 을 지키고, RTL 은 뒤집고, 번역이 길어도 같은 시간
  • 그대로 넣는 webmovie.css·webmovie.js(·· 없음), 같은 연출을 페이지 섹션·단추·hover 에도
  • 숨거나 바뀐 글, 끝나지 않는 움직임을 찾고 장면마다 멈춘 그림을 남기는 검사

이렇게 말해 보세요

  • “첫 화면에 30초짜리 소개 무비를 만들어 줘 — 동영상 말고 HTML 로”
  • “이 보고서를 장면마다 재생되는 이야기로 만들어 줘”
  • “보이면 숫자는 세며 올라가고 막대는 자라게 해 줘”
  • “시작 단추에 hover 효과를 넣어 줘”

무비는 최신 브라우저 어디서나 재생됩니다. 검사는 22 이상과 이 필요합니다.

이 스킬만 설치

npx skills add https://sonub.com -s webmovie

자주 묻는 질문

에이전트 스킬이 뭔가요?

에게 어떤 일을 언제·어떻게 할지 알려 주는 파일과, 그 일에 필요한 스크립트·메모가 든 폴더입니다. (agentskills.io)이라 같은 폴더를 여러 에이전트에서 씁니다.

모든 프로젝트에, 아니면 이 프로젝트에만?

-g 가 없으면 지금 있는 프로젝트 안(예: ·.agents/skills/)에 설치되고, 하면 팀도 같이 씁니다. -g 를 붙이면 홈 폴더에 한 번 설치해 모든 프로젝트에서 씁니다.

어떤 에이전트에서 되나요?

··· · 와 skills 도구가 아는 다른 에이전트에서 됩니다. 어느 에이전트에 넣을지 묻고, -a 로 하나를 지정할 수도 있습니다.

무료인가요? 내 데이터는 어디로 가나요?

무료이고 입니다. 은 에서 내 도구로 돌아갑니다 — gp 는 내 로그인으로 와만 이야기하고, claude-skill 은 공개된 클로드 코드 문서를 읽고, popup 은 내 파일에서 일하고, cowork 는 내 컴퓨터에 이미 설치·로그인된 AI 도구만 부릅니다. sonub.com 은 스킬 파일을 내줄 뿐입니다.

설치했는데 보이지 않아요.

에이전트의 새 세션을 시작하세요 — 시작할 때 스킬 폴더를 읽습니다. 클로드 코드에서는 /gp 처럼 빗금과 스킬 이름을 입력해도 됩니다.

수업으로 배우기 — AI 과정 Agent Skills 챕터