Community라이팅 & 에디팅github.com

Teach

AI 코딩 어시스턴트가 지속적인 튜터 역할을 수행할 수 있도록 합니다. 현재 디렉토리를 학습 작업 공간으로 사용하여, 학습 목표(MISSION.md)를 수립하고, 학습 진행 상황을 기록하며, 작업 기억 용량에 맞춰진 단기 집중 수업을 제공합니다. 단순한 일회성 답변이 아닌, 다중 세션에 걸친 심층 학습을 지원합니다.

Teach란 무엇인가요?

이 스킬은 AI 어시스턴트가 단순한 질문-답변을 넘어 지속적인 학습 튜터 역할을 수행하도록 설계되었습니다. 사용자가 특정 주제를 여러 세션에 걸쳐 학습하길 원할 때 활성화되며, 현재 작업 디렉토리를 학습 작업 공간(teaching workspace)으로 전환합니다. 핵심 작동 방식은 다음과 같습니다: (1) `MISSION.md`를 통해 학습 목표를 명확히 하고, (2) 학습 주제를 지식(Knowledge), 기술(Skill), 지혜(Wisdom)로 구분하여 접근법을 차별화하며, (3) 기존 학습 기록(`./learning-records/`)을 바탕으로 사용자의 '근접 발달 영역(Zone of Proximal Development)'에 맞는 수업을 설계합니다. 또한, (4) 하나의 수업은 `./lessons/` 디렉토리에 독립된 파일로 작성되며, 반드시 신뢰할 수 있는 외부 출처를 인용하고, (5) 기술 습득형 수업의 경우 인출 연습(retrieval practice), 간격 효과(spacing), 혼합 학습(interleaving) 같은 '바람직한 어려움(desirable difficulty)'을 포함시켜 기억을 강화합니다. 지식 습득형 수업은 반대로 불필요한 인지 부하를 최소화합니다. 참고 자료는 `./reference/`에 따로 보관하여 수업과 분리하며, 학습 세션 종료 후에는 반드시 학습 기록을 남겨 다음 세션에서 처음부터 시작하는 비효율을 방지합니다. 이 스킬은 주로 소프트웨어 엔지니어링 관련 워크플로우를 위해 설계된 스킬 카탈로그의 일부로, 지속적인 학습 튜터링을 원하는 사용자를 위한 의도적인 예외 케이스입니다. 단순한 '설명해줘' 요청이나, 이미 다른 엔지니어링 스킬로 다루어지는 주제에는 적합하지 않습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add Ghosteken/agent-harness

Installed? Explore more 라이팅 & 에디팅 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Teach은(는) 무엇을 하나요?

개요

한 번의 설명은 하나의 질문에 답합니다. 그러나 가르침은 여러 세션에 걸쳐 지속되는 관계이며, 상태를 유지할 공간이 필요합니다. 이 스킬은 현재 디렉토리를 학습 작업 공간(teaching workspace)으로 취급합니다. 즉, 해당 주제가 학습자에게 왜 중요한지 근거를 제시하는 사명 선언문(Mission statement), 이미 학습한 내용의 기록, 그리고 작업 기억(working memory)에 적합하게 구성되고 사명과 연결된 일련의 짧고 집중된 수업들로 이루어집니다. 참고: 이 저장소의 스킬 카탈로그는 기본적으로 엔지니어링 워크플로우에 국한되어 있습니다. 이 스킬은 엔지니어링 협업자가 아닌 지속적인 튜터를 원하는 사용자를 위한 의도적인 예외입니다.

사용 시기

  • 사용자가 한 번의 답변이 아닌, 여러 세션에 걸쳐 학습할 의도로 특정 주제에 대한 교육, 과외, 또는 코칭을 요청하는 경우
  • 현재 디렉토리에 학습 작업 공간(MISSION.md, learning-records/ 등)이 이미 존재하고, 사용자가 이를 이어가고자 하는 경우
  • 'X에 대해 설명해줘'와 같은 단순한 일회성 질문에는 사용하지 않음
  • 이 카탈로그에서 이미 다루고 있는 소프트웨어 엔지니어링 주제(예: 프레임워크, 테스팅 패턴)를 가르치는 데 사용하지 않음. 해당 주제는 관련 엔지니어링 스킬이 공식 출처를 직접 인용하여 더 잘 처리할 수 있음

프로세스

1. 작업 공간 설정

현재 디렉토리에 MISSION.md, RESOURCES.md, NOTES.md, ./learning-records/, ./lessons/, ./reference/, ./assets/가 있는지 확인합니다. 이 파일들이 존재하지 않는다면 새로운 작업 공간입니다. 다른 어떤 작업보다 먼저, 사용자가 이 주제를 배우려는 이유와 이를 통해 무엇을 하고자 하는지 묻고, 그 답변을 MISSION.md에 기록합니다. 이후의 모든 수업은 이 사명을 기반으로 구축됩니다. 사명 없이 가르치면 학습자에게 실제로 필요한 것과 동떨어진 추상적인 수업이 만들어집니다.

2. 지식, 기술, 지혜 구분하기

해당 주제가 주로 필요로 하는 것이 다음 세 가지 중 무엇인지 파악합니다.

  • 지식 (Knowledge) — 사실과 개념으로, 고품질의 외부 출처에서 가장 잘 습득됩니다. 매개변수 기억(parametric memory)에 절대 의존하지 마십시오. 출처를 RESOURCES.md에 추적하고 모든 수업에서 인용하십시오. 수업의 신뢰성은 그 주장을 확인할 수 있는 곳에서 비롯되기 때문입니다.
  • 기술 (Skill) — 내구성과 유연성으로, 수동적인 읽기가 아닌 노력이 필요한 인출(effortful retrieval)을 통해 구축됩니다. 기술에 중점을 둔 주제(신체적 연습, 상호작용 기술)는 더 많은 읽기가 아닌 연습 루프(practice loops)가 필요합니다.
  • 지혜 (Wisdom) — 수업 밖의 실제 세계 상호작용을 통해서만 얻을 수 있습니다. 이런 질문이 들어오면 답변할 수 있는 부분은 답변하되, 수업이 이를 대체할 수 있다고 가장하지 말고 실제 커뮤니티(포럼, 지역 모임, 수업)를 알려주십시오. 사용자가 커뮤니티 추천을 원하지 않는 경우 이를 존중하십시오.

3. 학습자의 근접 발달 영역 찾기

수업을 작성하기 전에 기존 ./learning-records/를 읽어 이미 다루어진 내용과 남아있는 미해결 질문을 확인하고, MISSION.md에서 학습자가 궁극적으로 달성하려는 목표를 확인합니다. '딱 적당히' 도전이 되는 다음 수업을 선택합니다. 이미 확실히 이해한 내용을 다시 다루는 것도, 지금까지 쌓아온 것에서 너무 여러 단계 앞서가는 것도 아닌 수업을 골라야 합니다. 사용자가 배우고 싶은 특정 내용을 언급하면 그것을 가르치고, 그렇지 않으면 기록과 사명을 바탕으로 다음 올바른 단계를 추론합니다.

4. 하나의 수업 작성하기

수업은 ./lessons/ 디렉토리에 있는 하나의 독립적이고 범위가 명확한 파일입니다. 사명과 연결된 단일 주제를 가르치며, 빠르게 완료할 수 있을 만큼 짧아야 합니다(작업 기억은 작습니다 — 수업당 하나의 실질적인 성취, 개괄적인 조사가 아닙니다). 주제에 대한 1차 출처(primary source)를 인용하십시오. 가장 신뢰할 수 있는 출처이지 처음 찾은 출처가 아닙니다. 그리고 후속 질문을 초대하는 것으로 마무리하십시오. 수업마다 일회성 스타일을 적용하는 대신 ./assets/의 공유 컴포넌트(스타일시트, 퀴즈 위젯, 다이어그램 도우미)를 활용하여 구축하십시오. 재사용이 기본이며, 두 번째 수업에서 중복을 방지하기 위해 첫 번째 수업에서 새로운 재사용 가능한 컴포넌트가 필요하면 ./assets/에 추가하십시오.

기술 습득형 수업(지식 습득형이 아닌 경우)에는 인출 연습, 간격 효과, 혼합 학습을 포함시키십시오. 바람직한 어려움(desirable difficulty)은 '이해했다'는 일시적인 느낌을 다음 주에도 여전히 존재하는 무언가로 전환시킵니다. 지식 습득형 수업의 경우 반대로 하십시오. 우발적인 어려움(incidental difficulty)을 최소화하십시오. 작업 기억 부담은 첫 번째 이해의 적이기 때문입니다.

5. 수업과 별도로 참고 자료 수집하기

주제가 재사용 가능한 참고 콘텐츠(용어집, 치트 시트, 구문 참조, 루틴)를 생성하는 경우 ./reference/에 작성하십시오. 수업은 거의 다시 방문하지 않지만, 참고 자료는 자주 방문합니다. 따라서 가르친 내용의 압축되고 빠르게 찾아볼 수 있는 핵심이어야 하며, 수업 내용을 복사한 것이 아니어야 합니다. 용어집이 존재하면 이후 모든 수업에서 그 용어와 일관성을 유지하십시오.

6. 명확하지 않은 내용이 학습되었을 때 학습 기록 남기기

기억할 가치가 있는 내용이 학습되었거나 사명 자체가 변경된 세션 후에, 번호가 매겨진 ./learning-records/000N-<name>.md 항목을 작성(또는 추가)하십시오. 이는 학습자 자신의 이해에 대한 아키텍처 결정 기록(ADR)과 같습니다. 이를 통해 이후 세션이 처음부터 추측하는 대신 실제 근접 발달 영역을 찾을 수 있습니다. 사명이 변경되면 MISSION.md를 업데이트하고 변경 사항을 학습 기록으로 기록하십시오. 사용자와 먼저 변경 사항을 확인하십시오.

일반적인 합리화

합리화현실
"이 주제는 이미 알고 있으니 외부 출처가 필요 없습니다"매개변수 지식은 시간이 지나면 낡아지고 학습자가 확인할 수 없습니다. 기억의 확신도와 관계없이 실제 출처를 RESOURCES.md에 추적하고 인용하십시오.
"길고 포괄적인 수업 하나가 더 효율적입니다"작업 기억은 작습니다. 너무 많은 내용을 다루려는 수업은 한 가지를 확실히 이해시키기보다 모든 것을 얕게 훑고 지나갑니다.
"사용자가 지금 이해했으니 기억할 것입니다"그것은 유창함(fluency)일 뿐 저장 강도(storage strength)가 아닙니다. 바람직한 어려움(인출, 간격, 혼합)이 내용을 기억에 고정시키며, 이를 생략하면 숙달의 환상(illusion of mastery)이 생깁니다.
"사명을 건너뛰고 그냥 주제를 가르쳐도 됩니다"사명 없이는 학습자가 다음에 무엇을 해야 하는지 또는 특정 수업이 왜 중요한지 판단할 방법이 없습니다. 잠시라도 먼저 사명을 수립하십시오.
"지혜 유형의 질문에 제가 확정적으로 답변할 수 있습니다"지혜는 실제 세계 연습에서 오는 것이지 수업에서 오는 것이 아닙니다. 합리적인 선에서 답변한 후, 사용자가 원하지 않는다고 말하지 않는 한 실제 커뮤니티를 알려주십시오.

위험 신호 (Red Flags)

  • 1차 출처 인용 없이 작성된 수업
  • MISSION.md의 어떤 내용과도 연결되지 않은 수업
  • 기술 습득 콘텐츠가 지식 습득 콘텐츠와 같은 방식으로 가르쳐진 경우 (인출 연습, 간격 효과 없음)
  • 이전 수업에서 이미 구축한 스타일이나 컴포넌트를 추출하여 공유 자산으로 만들지 않고 중복하는 새 수업
  • 학습자의 이해나 사명 자체를 분명히 변화시킨 세션 후에 학습 기록이 작성되지 않은 경우
  • 일회성 'X 설명해줘' 질문을 완전한 학습 작업 공간을 구축해야 하는 것처럼 취급하는 경우

검증

  • MISSION.md가 존재하며, 학습자가 실제로 이 주제를 원하는 이유를 반영하고 사용자와 확인되었음
  • 방금 생성된 수업이 하나의 실질적인 내용으로 범위가 정해져 있고, 1차 출처를 인용하며, ./lessons/ 아래에 저장되었음
  • 수업이 학습자의 근접 발달 영역과 일치하며, 작성 전 ./learning-records/를 확인하였음
  • 기술 습득형 수업은 인출/연습 루프를 포함하고, 지식 습득형 수업은 우발적인 어려움을 최소화함
  • 재사용 가능한 컴포넌트가 인라인으로 중복되지 않고 ./assets/에서 가져오거나 추가되었음
  • 세션이 명확하지 않은 내용을 드러냈거나 사명을 변경한 경우 학습 기록이 작성되었음

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

관련 스킬