그릴링
발표자 머릿속의 발표를 질문으로 꺼내 발표 폴더의 brief.md(결정)와 outline.md(장별 표)로 만든다. 빌드는 새 하위 에이전트가 이 두 파일과 sources/만 읽고 한다. 대화에만 있고 파일에 없는 결정은 빌드에 닿지 않는다.
발표자가 처음 준 말: $ARGUMENTS
세션은 키트 루트에서 열려 있다. ./talk 명령은 키트 루트에서 부른다. 아래에서 brief.md, talk.json 같은 이름은 발표 폴더(talks/<폴더>/) 안의 파일이다.
0. 발표 폴더를 정한다
./talk profile로 발표자 정보를 본다. 없으면 첫 질문으로 영문 이름과 소속을 묻는다. 슬라이드를 한국어로 만들 발표자면 한글 이름과 소속도 묻는다. 답은./talk profile --name "..." --affiliation "..."(필요하면--name-ko,--affiliation-ko)로 저장한다../talk brand를 본다. "설정 전"이면 새 발표를 만들기 전에 질문 하나로 색과 로고를 정한다. 방법은 키트 루트AGENTS.md의 "학교·랩 색과 로고"다. 발표자가 질문 없이 만들어 달라고 했으면 묻지 않고 기본 프리셋으로 간다.- 발표자가 이어 할 발표를 말했으면
./talk list에서 그 폴더를 찾는다. - 새 발표면 종류, 날짜, 행사가 필요하다. 발표자의 말에 없는 것만 질문 하나로 묻는다. 그다음
./talk new <종류> <YYYY-MM-DD> [행사] [--title "..."] [--lang ko]로 만든다. 종류는lab,conf,seminar,class,jc다. 랩미팅은 행사를 비운다(표지가 "Lab meeting, 날짜"가 되고, 그날 주제는--topic이나talk.jsontopic에 쓴다). 출력에 나온 폴더가 이 발표의 폴더다. - node 도구가 없다는 오류가 나면
./talk setup을 돌리고 다시 한다.
1. 질문 전에 읽는다
- 발표 폴더의
talk.json,README.md,brief.md,outline.md를 읽는다.brief.md에 그릴링 기록이 있으면 그 뒤부터 잇는다. - 발표자가 준 말과
sources/의 파일을 모두 읽는다. PDF는 쪽을 나눠 읽는다. 발표자가 말한 바깥 파일이나 웹 문서는sources/에 복사하고(웹은 본문을 텍스트로 저장)brief.md입력 자료 표에 경로와 확인 상태("초록만", "본문 확인", "그림만")를 적는다. 바깥 파일을cp로 복사하면 권한 질문이 한 번 뜬다. 발표자가 허용한다. 파일은 Write와 Edit 도구로 쓰고, 확인용 스크립트는 발표 폴더의audit/tmp/에 둔다(/tmp처럼 키트 밖에 쓰면 거부된다). - 자료가 이미 답하는 것은 묻지 않는다. 자료에서 찾은 답은
brief.md에 "(자료에서)"를 붙여 적고 확인만 받는다. brief.md과제 절을talk.json으로 채운다. 발표 종류의 기본 틀은.claude/skills/talk-grill/references/talk-types.md(키트 루트 기준)에 있다.- 키트 폴더 밖(홈 디렉터리 등)은 발표자가 경로를 말했을 때만 읽는다. 밖을 읽으면 권한 질문이 뜨고 첫 질문이 늦어진다. 위 네 단계를 마치면 바로 첫 질문을 한다.
2. 묻는 법
- 한 번에 질문 하나만 한다. 선택지는 2–4개다. 추천을 첫째에 두고 한 줄 이유를 붙인다. 발표자는 직접 답을 쓸 수도 있다. Claude Code에서는 AskUserQuestion으로 묻는다. 그 도구가 없는 에이전트는 같은 꼴(질문 한 줄, 번호 붙인 선택지, 첫째가 추천)로 채팅에 묻는다.
- 질문은 짧게 쓴다. 앞 답을 길게 되풀이하지 않는다.
- 답을 받으면 바로
brief.md를 고친다. 그릴링 기록에Qn 질문 → 답한 줄을 쓰고, 그 답이 바꾸는 줄(과제, 한 문장, 뼈대)을 고쳐 쓴다. 옛 결정과 새 결정을 같이 남기지 않는다. - 발표자가 "모르겠다", "나중에"라고 하면 열린 항목에 적고 그 질문을 다시 하지 않는다.
- 발표자가 의견을 물으면 원문을 확인한 뒤 하나를 고르고 이유를 한 줄로 말한다.
brief.md에는 "추천"으로 적는다. 결정은 발표자가 한다. - 발표자의 전제가 원문과 다르면 어디까지 맞는지 먼저 말하고, 고칠 점을 말한다.
- 발표자가 결정을 바꾸면 새 말을 따른다. 이유를 캐묻지 않는다.
- 발표자가 질문 없이 바로 만들어 달라고 하면, 자료와 발표 종류의 기본 틀로 brief와 outline을 채우고 승인(5절)만 받는다. 정하지 못한 것은 열린 항목에 적는다.
3. 순서
빌드에 큰 영향을 주는 것부터 묻는다.
- 자리: 행사, 발표 시간, 질의응답 시간, 청중. 여기서 장 수 예산이 나온다(talk-types.md). 슬라이드 언어가
talk.json과 다르면lang을 고친다. - 한 문장: 청중이 들고 갈 문장 하나.
- 뼈대: 절 2–4개와 순서. talk-types.md의 기본 뼈대를 출발점으로 제안한다.
- 절마다 주장, 근거(그림, 데이터, 논문 쪽), 보이는 방식(논문 그림, 다시 그린 개념도, 클릭마다 한 단계씩 움직이는 과정도). 절 하나에 질문을 여러 번 써도 된다.
- 시작과 끝: 첫 장이 던질 질문, 마지막 장(결론, 토론 질문, 랩미팅이면 다음 계획과 지도교수에게 드릴 부탁).
- 열린 항목 정리.
6–10번 묻고 끝낸다. 발표자가 그만하자고 하면 바로 끝낸다.
4. 원문 확인
- 슬라이드에 올릴 숫자와 인용은 원문(본문, 표, 그림 캡션)에서 확인하고
brief.md"원문 확인"에 값, 파일, 쪽을 적는다. 초록이나 메모의 요약만 보고 숫자를 쓰지 않는다. - 숫자에는 조건을 붙인다(어떤 데이터, 설정, 부분집합에서 나온 값인지).
- 원문이 원인을 말하지 않으면 두 숫자의 차이에 원인을 붙이지 않는다.
- 논문 그림을 그대로 쓸 계획이면 라이선스를 본다. 변형 금지(CC BY-ND 등)면 다시 그리기로 정한다.
- 받지 못한 원문(유료 논문 등)은
brief.md열린 항목에 "발표자가 받을 자료"로 적고, 그 원문에 기대는 장은 outline에 "확인 전"으로 표시한다.
5. 목차 (outline.md)
- 표의 열:
#,sceneId, 틀, 제목(한 줄, 10단어 이하), 주장 한 문장, 화면과 클릭 순서, 근거(파일·쪽). sceneId는 영어 소문자와 숫자로 쓴다(예:motivation,setup,result2). 표지는title, 목차는outline, 절 오프너는sec01부터, 끝은thanks다.- 장 수는 예산 안에 둔다. 장 하나에 생각 하나다. 글은 적게, 그림이 설명하게 한다. 세부는 노트로 보낸다.
- "화면과 클릭 순서" 칸에는 그림이 무엇을 보여 주는지, 클릭마다 무엇이 나오는지를 쓴다. 빌드 에이전트는 이 칸에 적힌 것만 만든다.
- 정해진 표지 정보는
talk.json에 쓴다:title(랩미팅이 아니면 발표 제목),topic(랩미팅 주제, 표지의 강조색 부제),event,authors(공저자:{"name": ..., "name_ko": ...}),length_min,lang. - outline 맨 위에 발표 줄(행사, 날짜, 시간, 장 수)을 쓴다. 승인 줄은 비워 둔다.
6. 승인과 딸깍
- outline.md 표를 보여 주고 묻는다. 선택지: "이대로 만들기"(추천), "고칠 곳이 있다".
- 고칠 곳이 있으면 고치고 다시 묻는다.
- 승인되면 outline.md 승인 줄에 오늘 날짜를 쓰고,
README.md현재 상태에 그릴링 항목(정한 것, 열린 항목)을 쓴다. - 빌드를 넘긴다. Claude Code에서는 Skill 도구로
talk-build를 부르고 인자 첫 낱말에 발표 폴더 경로를 준다(예:talks/2026-11-16-lab-meeting). talk-build는 새 하위 에이전트에서 돈다. Skill 도구가 없는 에이전트는.claude/skills/talk-build/SKILL.md를 읽고 그대로 직접 한다. - 빌드는 장 수에 따라 십여 분에서 수십 분 걸린다. 끝나면 그 보고를 발표자에게 짧게 전한다. 그리고 컨택트 시트(
talks/<폴더>/audit/contact-sheet.png)를 보고 고칠 점을 한 번에 말해 달라고 한다.