/dgclaw:aprender: 잘된 것을 스킬로 만들기
스킬은 제가 작업을 수행하기 전에 읽는 단계별 가이드입니다. 한 시간의 대화 끝에 완성한 프로세스가 다음 번에는 5분 만에 동일하게 따라할 수 있는 레시피가 되는 것입니다.
아래 모든 사항에 적용되는 세 가지 규칙:
- 스킬은 주인의 동의가 있어야만 생성됩니다. 제안하고, 이유를 설명하고, 기다립니다. 응답이 없으면 동의가 아닙니다.
- 한 번만 제안합니다. 주인이 거절하거나 응답하지 않으면 기록하고 다시 요청하지 않습니다.
- 비밀은 절대 스킬에 넣지 않습니다. 비밀번호, 토큰, 키, 카드 번호: 스킬에는 "키는 대시보드 금고에 있습니다"라고 가져올 위치만 쓰고, 값은 절대 쓰지 않습니다.
제안할 시기
네 가지 조건이 모두 참일 때 제안하세요:
- 3단계 이상이고, 단순한 답변 하나가 아닙니다. 예: 중앙은행에서 금리를 조회하고, 계산을 다시 하고, 파일을 업데이트하고, PDF를 보내는 경우.
- 다른 데이터로도 동일하게 반복 가능합니다. 프로세스는 동일하고, 주제나 월, 고객만 바뀝니다.
- 주인이 다시 요청할 가능성이 높습니다. 징후: "매달", "다시", "저번처럼", 주인의 업무에서 반복되는 작업, 또는 비슷한 작업을 두 번째로 수행하는 경우.
- 결과가 성공적이었습니다. 주인이 결과를 승인하거나 작업물을 사용했습니다.
그리고 해당 스킬이 이미 존재하지 않는지 확인하세요: ls .claude/skills/ 및 memory/skills-aprendidas.md.
제안하지 말아야 할 때
- 일회성 작업으로, 반복되지 않을 경우 ("관리자에게 이메일 쓰는 것 도와줘").
- 한두 단계로 끝나는 경우. 이미 처음부터 잘하는 작업에 레시피는 필요 없습니다.
- 프로세스가 그때만 유효한 결정에 의존한 경우.
- 대화가 해결되지 않은 문제로 끝났거나, 주인이 바쁘거나 화가 난 경우. 이 경우 제안은 밤새 반성(reflection)으로 넘깁니다 (반성은 "주인과 이야기하고 싶은 것"에 기록합니다).
- 주인이 이미 같은 스킬을 거절한 경우 (
memory/skills-aprendidas.md에 기록됨).
밤새 카운터: memory/skills-candidatas.md
모든 반복이 즉시 발견되는 것은 아닙니다. 두 번째 반복을 알아차리는 것은 밤새 반성(reflection)입니다: 하루를 다시 살펴보고, 내가 여러 단계의 가이드를 따라 수동으로 수행한 작업을 찾아 작업별로 한 줄씩 기록합니다:
- <작업을 한 줄로> | 횟수: N | 날짜: DD/MM, DD/MM | 스킬이 하는 일
이미 있는 작업은 새 줄 없이 횟수와 날짜만 추가합니다. 후보 작업이 2회에 도달하면 (또는 가이드가 5단계를 초과하고 주인이 반복할 것이라고 말한 경우 1회), 반성은 "주인과 이야기하고 싶은 것"에 넣습니다: "오늘 X를 또 수동으로 했습니다; 스킬로 만들까요?". 밤에 최대 하나만, 그리고 다음 대화에서 아래 섹션의 방식으로 질문을 전달합니다. 카운트하기 전에 스킬이 이미 존재하는지 확인합니다: 존재하는데 사용하지 않았다면, 제 기억 실수이므로 일기에 기록하고 카운터에는 넣지 않습니다.
질문하는 방법
결과를 전달한 후, 결과와는 별도로 짧은 메시지로:
이 전체 프로세스를 수행했습니다: <한 줄로 된 프로세스, 단계 수 포함>. 이걸 스킬로 만들어서 다음에 똑같이 할까요? 추천하는 이유는 <구체적인 이유: "매달 하는 거라고 말씀하셨습니다", "형식을 맞추는 데 한 시간 걸렸습니다">.
옵션 목록이나 압박 없이 질문 하나만 합니다. 주인이 스킬이 무엇인지 묻는다면: "제가 스스로 쓰는 레시피로, 오늘 배운 단계별 가이드와 주의사항입니다."
동의를 얻으면: 스킬 작성하기
-
이름: 짧고, 소문자이며, 하이픈으로 연결 (
relatorio-mensal-vendas,conferir-taxas-bc). 폴더가 존재하지 않는지 확인합니다. -
위치: 워크스페이스 내
.claude/skills/<이름>/SKILL.md. 플러그인 폴더는 업데이트 시 교체되므로 절대 거기에 넣지 않습니다. -
파일 형식:
--- name: <이름> description: <하는 일을 3인칭으로> <주인>이 <그가 사용한 문구와 예상 변형: "월별 보고서 만들어줘", "금리 업데이트해줘">라고 요청하거나 <트리거 상황>에서 사용하세요. <혼동될 수 있는 경우 하지 않는 일.> --- # <제목> 두 줄로 설명. <주인>에게 <YYYY-MM-DD>에 배움. ## 시작 전에 필요한 것 - <요청에 없으면 물어볼 입력값들> ## 단계별 가이드 1. <구체적인 단계, 실제 사용한 파일, 출처 또는 명령어> 2. ... ## 전달하기 전에 확인할 사항 - <오늘 주인이 요구하거나 수정한 것> ## 전달 방법 - <형식: PDF, 페이지, 짧은 메시지; 파일 위치> ## 이미 발생한 함정 - <YYYY-MM-DD> <오류와 올바른 방법>description은 스킬이 적시에 기억되도록 합니다: 제 단어가 아니라 주인이 사용하는 단어를 쓰세요. 워크스페이스 기준 상대 경로. 최대 약 150줄; 더 필요하면.claude/skills/<이름>/references/에 지원 파일을 만듭니다. -
등록:
memory/skills-aprendidas.md에 (없으면 생성) 스킬당 한 줄:- **<이름>** (생성일: YYYY-MM-DD): <하는 일>. DD/MM의 <주제> 대화에서 비롯됨.거절도 기록합니다:
- (거절됨: YYYY-MM-DD) <프로세스>: 주인이 원하지 않음. -
알리기: 한 줄로: "스킬 <이름>이 준비되었습니다. 다음에는 <트리거>라고만 말씀하세요." 새 스킬이 스킬 목록에 나타나지 않으면 다음 세션부터 적용됩니다; 그때까지는 작업 전에
SKILL.md를 직접 읽습니다.
주인이 내 스킬의 결과를 수정할 때
제가 직접 작성한 스킬을 따라 작업을 수행했는데 주인이 무언가를 수정하면 ("아니요, 그래프가 표보다 먼저입니다", "올바른 출처는 재무부입니다"):
- 먼저 작업을 수정합니다. 주인은 결과를 원합니다.
SKILL.md를 업데이트합니다: 잘못된 단계를 수정하고 "이미 발생한 함정"에 날짜와 함께 줄을 추가합니다.memory/skills-aprendidas.md의 해당 스킬 줄에 기록합니다:개선됨: YYYY-MM-DD: <내용>.- 한 줄로 알립니다: "스킬 <이름>에 기록했습니다: 다음 번에는 <올바른 방법>으로 하겠습니다."
그때만 유효한 수정 ("오늘은 그래프 빼고 보내세요")은 스킬을 변경하지 않습니다. 확실하지 않으면 묻습니다: "오늘만인가요, 아니면 항상 이렇게 할까요?"
절대 하지 않는 일
- 주인의 동의 없이 스킬을 생성하거나 삭제합니다.
- 플러그인의 스킬 (
/dgclaw:*)을 건드립니다: 제 것이 아니며 업데이트 시 복원됩니다. - 스킬에 제 법칙(
LAWS.md)이나 주인이 금지한 규칙을 우회하는 규칙을 씁니다.