morning-brief
오늘 일정과 미회신 메일을 모아 아침 브리핑 HTML 한 장으로 (날씨 기본·출처 절·샘플 모드)
오늘 일정과 아직 답하지 않은 메일을 모아 아침 30초짜리 한 장으로 그려 줍니다.
위쪽은 하루의 모양, 아래쪽은 「지금 당신이 필요한 일」과 「정리된 일」 두 목록입니다.
아래처럼 /morning-brief 뒤에 지침을 붙여 입력하면 됩니다. 결과는 HTML 파일 한 장으로
저장되며, 브라우저에서 열면 됩니다.
계정을 아직 연결하지 않았어도 샘플 브리핑으로 형식을 먼저 볼 수 있습니다(아래 전용 절).
Claude Cowork 전용 스킬입니다.
빠른 시작
/morning-brief 아침 브리핑 만들어줘
/morning-brief 오늘 브리핑 보여줘
/morning-brief 아침 브리핑 만들어줘
일정과 메일은 이미 쓰고 있는 itda-work:calendar·itda-work:email 계정에서 읽어 옵니다.
둘 중 하나만 연결돼 있어도 그 부분만으로 페이지를 만듭니다.
사전 준비 — 계정 연결
이 스킬은 자체 계정을 따로 두지 않습니다. itda-work:calendar·itda-work:email 이 쓰는
같은 자격증명을 그대로 재사용합니다. 이미 두 스킬을 쓰고 있다면 추가 설정이 없습니다.
1. 자격증명 파일 위치
자격증명은 연결한 폴더(마운트 폴더) 최상위의 .env 파일에 둡니다. 하위 디렉토리에 두면
찾지 못합니다. 점(.)으로 시작하는 파일을 만들기 어렵다면 env.txt·환경변수.txt 같은 이름도
읽힙니다.
NAVER_EMAIL=you@naver.com
NAVER_APP_PASSWORD=발급된_앱비밀번호
ICLOUD_EMAIL=you@icloud.com
ICLOUD_APP_PASSWORD=xxxx-xxxx-xxxx-xxxx
앱 비밀번호 발급 절차와 커스텀 CalDAV·다른 메일 서비스 설정은 itda-work:calendar 와
itda-work:email 의 가이드를 그대로 따르면 됩니다.
2. 캘린더 쪽 준비물 한 가지
일정을 읽으려면 itda-work:calendar 의 의존성 설치가 먼저 끝나 있어야 합니다. 설치가 안 된
상태에서 브리핑을 만들면 계정 확인은 통과하는데 일정만 비어 나오므로, 페이지가 그 사실과
처방을 한 줄로 말해 줍니다. 그 안내가 보이면 itda-work:calendar 의 설치 안내를 먼저 따른 뒤
다시 요청하세요. 메일 쪽은 별도 설치가 필요 없습니다.
3. 연결이 없어도 동작합니다
자격증명이 없는 역할은 조용히 비워 두고 진행합니다. 스킬이 대신 설정해 주지 않고, "연결하세요" 같은 안내 카드로 페이지를 채우지도 않습니다. 두 역할 모두 없으면 두 문장짜리 페이지가 나오고, 그 아래 "샘플 브리핑을 요청하면 형식을 미리 볼 수 있어요" 한 줄이 붙습니다.
자주 쓰는 요청
| 하고 싶은 것 | 이 지침을 입력하세요 |
|---|---|
| 기본 브리핑 | /morning-brief 아침 브리핑 만들어줘 |
| 오늘치 다시 보기 | /morning-brief 오늘 브리핑 보여줘 |
| 환율까지 함께 | /morning-brief 아침 브리핑 만들어줘. Sections: 날씨,환율 |
| 환율만 | /morning-brief 아침 브리핑 만들어줘. Sections: 환율 |
| 날씨 절 빼기 | /morning-brief 아침 브리핑 만들어줘. Sections: none |
| 실행 버튼까지 달기 | /morning-brief 아침 브리핑 만들어줘. 액션 버튼 포함 |
| 남에게 보낼 파일 | /morning-brief 아침 브리핑 만들어줘. 출처 절은 빼줘 |
| 계정 없이 형식만 보기 | /morning-brief 샘플 브리핑 보여줘 |
Sections — 날씨는 기본, 환율은 요청
아무 말도 하지 않으면 날씨 한 절이 붙습니다. 아침에 가장 먼저 궁금한 것이라 매번 요청하게 두지 않았습니다.
| 이렇게 쓰면 | 붙는 절 |
|---|---|
| (아무 말 없음) | 날씨 |
Sections: 환율 | 환율만 — 기본 날씨는 따라붙지 않습니다 |
Sections: 날씨,환율 | 둘 다 |
Sections: none | 하나도 안 붙음 |
날씨 와 환율 만 받습니다. 그 밖의 이름을 적으면 거부합니다. 날씨·환율 조회가
실패하면 그 절을 통째로 빼고 넘어갑니다 — 지어내지 않습니다.
액션 버튼은 정확한 한 문구로만
버튼은 액션 버튼 포함 이라는 문구가 요청에 그대로 있을 때만 붙습니다. "버튼도 달아줘"
같이 바꿔 말하면 붙지 않습니다. 이 판정은 자료를 읽기 전에 끝나므로, 나중에 "역시 버튼도"
라고 덧붙이면 처음부터 다시 요청해야 합니다.
버튼은 「지금 당신이 필요한 일」에만 붙고, 「정리된 일」에는 붙지 않습니다. 직접 결정해야 하는 일, 몸이 가야 하는 일, 돈·건강·자격증명이 걸린 일에도 붙지 않습니다. 메일 버튼이 약속하는 것은 회신 초안까지이며 발송은 하지 않습니다.
결과 페이지 읽는 법
파일은 연결한 폴더의 outputs/ 아래에 brief-2026-09-03.html 같은 이름으로 저장됩니다.
브라우저에서 열면 위에서 아래로 이렇게 읽힙니다.
| 자리 | 무엇이 있나 |
|---|---|
| 헤드라인 | 오늘 하루를 한 문장으로 요약한 줄 |
| 지형 한 획 + 세 마디 | 하루의 모양을 그린 획과, 시간대별 흐름을 말하는 최대 세 문장 |
| 지금 당신이 필요한 일 | 아직 답하지 않은 메일, 내일 자리를 위해 오늘 해 둘 준비 |
| 정리된 일 | 내가 답한 뒤 회신이 온 스레드, 취소된 자리 |
| 날씨 절 | 기본으로 붙음(Sections: none 이면 빠짐) |
| 환율 절 | Sections: 환율 로 요청했을 때만 |
| 출처 (접혀 있음) | 무엇을 어느 계정에서 읽었는지, 원본 목록 |
- 두 목록이 모두 비면 목록 대신 "기다리는 일이 없다"는 한 줄이 나갑니다.
- 캘린더만 연결돼 있으면 지형과 세 마디까지, 메일만 연결돼 있으면 목록만 나옵니다. 둘 다 없으면 두 문장짜리 페이지가 됩니다.
- 오류나 결손이 있으면 그 사실을 말하는 한 줄이 페이지에 들어갑니다. 빈 목록으로 위장하지 않습니다.
「출처」 절 — 무엇을 봤고 무엇을 안 보여줬는지
페이지 끝에 접힌 「출처」를 펼치면 이렇게 확인할 수 있습니다.
- 수집 요약 — 역할별 상태(준비됨 · 미설정 · 확인 실패)와 어느 계정에서 가져왔는지 (서비스 이름 · 계정 주소), 오늘·내일 일정 건수, 메일 후보 건수, 경고 전부.
- 원본 — 메일은 보낸 사람·제목·날짜·판정·본문 발췌, 일정은 캘린더·제목·시간·주최자·상태.
시각은
9월 3일 오전 9:30 – 오전 10시처럼 사람이 읽는 표기로 나옵니다. - 목록의 항목마다
출처 N링크가 붙고, 그 원본에는 「이 항목의 근거」 표시가 달립니다. - 목록에 올리지 않은 후보도 지우지 않고 「표시 안 함」 으로 남깁니다. 무엇을 안 보여줬는지 보여야 판단할 수 있기 때문입니다.
⚠️ 이 절에는 메일 주소·제목·본문 조각이 그대로 들어 있습니다. 파일을 남에게 보내야 하면
/morning-brief 아침 브리핑 만들어줘. 출처 절은 빼줘 라고 요청해 빼고 만드세요.
계정 없이 형식만 보기 — 샘플 브리핑
지어낸 시나리오로 실제와 똑같은 형식의 페이지를 그립니다. 수집만 건너뛸 뿐 정렬·문장· 렌더·검증은 실제 브리핑과 같은 길을 지나므로, 미리보기가 진짜 결과와 같은 모양이 됩니다.
언제 쓰나
- 강의·시연·회의에서 "이 스킬이 뭘 주는지" 를 한 장으로 보여줄 때
- 계정을 연결하기 전에 도입 여부를 판단할 때
- 남에게 보여줘야 해서 실제 메일·일정을 화면에 띄울 수 없을 때
이렇게 말하세요
/morning-brief 샘플 브리핑 보여줘
/morning-brief 샘플로 한 장 만들어줘
샘플 브리핑 또는 샘플로 라는 말이 요청에 있을 때만 이 길로 갑니다.
주제를 지정하려면 한 문장 덧붙이세요
청중에 맞춘 시나리오를 원하면 어떤 사람의 어떤 아침인지만 말하면 됩니다. Claude 가 그 주제로 시나리오를 새로 씁니다.
/morning-brief 샘플 브리핑 보여줘. 세무사 사무실 신고 시즌으로
/morning-brief 샘플 브리핑 보여줘. 온라인 쇼핑몰 운영 팀장의 화요일로
/morning-brief 샘플 브리핑 보여줘. 개발팀 배포일로
어떤 장면이 들어가나
시나리오에는 하루가 그려질 만큼의 장면이 들어갑니다. 기본 시나리오를 예로 들면 이렇습니다.
| 장면 | 기본 시나리오에 들어 있는 것 |
|---|---|
| 오늘 일정 | 4건 — 그중 시간이 겹치는 회의 한 쌍, 취소된 자리 하나 |
| 내일 일정 | 2건 — 그중 내가 여는 자리 하나(「지금 필요한 일」의 준비 항목이 됩니다) |
| 메일 | 7통 — 미회신 3통, 내가 답한 뒤 새 회신이 온 것 2통, 뉴스레터·전체 공지 각 1통 |
| 날씨·환율 | 각각 한 줄씩 |
- 미회신은 2~3통일 때 가장 보기 좋습니다. 너무 많으면 목록이 장면이 아니라 더미가 됩니다.
- 뉴스레터·전체 공지 같은 메일은 목록에 오르지 않습니다. 실제 경로에서도 후보가 아니라서, 받은편지함의 사실감을 위해 시나리오에만 들어갑니다.
- 보고 싶은 장면을 직접 지정해도 됩니다. 예:
겹치는 회의를 하나 넣어줘,취소된 일정도 보여줘,내일 내가 주최하는 회의를 넣어줘,미회신은 두 통만.
지어낼 때 지키는 것
- 실존 인물·회사·주소를 쓰지 않습니다. 메일 주소는 예약 도메인(
example.com계열)만 씁니다. 실제 고객사 이름을 넣으면 그 파일이 유출본이 되기 때문입니다. - 일정 시각은 실행하는 날에 얹힙니다. 언제 열어도 "오늘"인 페이지가 됩니다.
아무 말 없이 요청하면 — 기본 시나리오
세무사 사무실 아침입니다. 실장 한 사람의 신고 시즌 하루로, 일정 6건(오늘 4 · 내일 2)과 메일 7통이 들어 있습니다. 오전에 회의가 겹치고, 미회신 세 건은 전부 고객사의 신고 관련 요청이며, 오후 교육 일정 하나가 취소돼 있습니다.
샘플이라는 표시는 지울 수 없습니다
- 페이지 맨 위에 상시 띠가 붙습니다 — "샘플 브리핑 — 실제 계정 데이터가 아니에요". 접히지도, 스크롤로 사라지지도 않습니다.
- 제목이 "샘플 … 아침 브리핑" 으로 나가고, 「출처」 절의 계정란은 "샘플 · 에이전트 생성 시나리오" 로 표시됩니다.
- 검증 단계가 이 둘을 상호 배타로 확인합니다. 샘플인데 띠가 없거나, 실제 브리핑인데 샘플 표시가 섞이면 페이지가 통과하지 못합니다.
- 계정이 없다고 스킬이 스스로 샘플로 바꾸지 않습니다. 계정이 없는 상태에서 그냥 브리핑을 요청하면 두 문장짜리 페이지에 "샘플 브리핑을 요청하면 형식을 미리 볼 수 있어요" 한 줄만 붙습니다. 전환은 언제나 당신이 말해야 일어납니다.
시나리오를 직접 주고 싶다면
같은 시나리오를 반복해 쓰거나(강의 교안 등) 문구를 손으로 다듬고 싶다면, 연결한 폴더에 JSON 파일 하나를 두고 이렇게 말하면 됩니다.
/morning-brief 샘플 브리핑 보여줘. sample-seed.json 이 시나리오로
파일에는 등장인물(이름·역할·메일 주소), 오늘·내일 일정(제목·시각·주최자·상태·캘린더), 메일(보낸 사람·제목·날짜·판정·본문), 선택으로 날씨·환율 문구와 한두 문장 메모가 들어갑니다. 형식이 맞는지는 Claude 가 확인하며, 틀리면 어느 항목이 왜 틀렸는지 알려 줍니다. 기본 시나리오로 조용히 대체하지 않으므로, 알려 준 곳을 고쳐 다시 요청하면 됩니다.
샘플에서 버튼과 절
- 버튼을 보려면 실제 브리핑과 똑같이 정확 문구를 함께 씁니다 —
/morning-brief 샘플 브리핑 보여줘. 액션 버튼 포함. 샘플 버튼의 안내문은 "샘플 시나리오의" 로 시작해, 버튼을 누른 새 세션이 있지도 않은 메일을 찾아 나서지 않게 합니다. - 날씨·환율의 문구는 시나리오 안에 있습니다. 어느 절을 보여줄지는 실제 브리핑과
똑같이
Sections:로 고릅니다(기본 날씨). 문구를 바꾸고 싶으면 "날씨는 비 오는 날로" 처럼 시나리오 쪽을 말하세요. 시나리오에 그 절의 문구가 없으면 다른 데서 끌어오지 않고 그 절을 비운 채 넘어갑니다.
예약해서 매일 아침 받기
예약 작업을 스킬이 대신 만들어 주지는 않습니다. 아래 문장을 그대로 예약 작업 프롬프트로 등록하면 됩니다.
morning-brief 스킬로 오늘 아침 브리핑을 만들어 주세요.
언어: 한국어
Sections: 날씨 # 기본값이라 생략해도 됩니다. 빼려면 none
액션 버튼: 없음
무인 회차입니다 — 질문하지 말고 렌더까지 마친 뒤 파일 경로만 알려 주세요.
- 언어는 예약할 때의 언어를 적어 둡니다. 무인 회차가 추측하지 않게 하기 위해서입니다.
- 버튼을 원하면 마지막 줄 위에
액션 버튼 포함을 한 줄로 넣습니다. - 무인이라는 사실은 프롬프트에 적는 것이 유일한 방법입니다. 그렇게 적어 두면 되묻지 않고, 자격증명이 없는 역할은 비운 채로 페이지를 만듭니다.
- 예약 회차에서도 자격증명은 마운트 폴더 최상위의
.env에 있어야 합니다.
안 될 때
| 증상 | 원인 / 해결 |
|---|---|
| "캘린더·메일 계정 확인이 실패해 이 영역은 비어 있어요" 한 줄 | 그 역할의 자격증명이 잘못됐거나 서버 인증이 거부됐습니다. itda-work:calendar·itda-work:email 로 연결을 먼저 확인하세요 |
| "보낸편지함을 찾지 못해 메일 회신 여부를 가리지 못했어요" | 회신 판정이 전건 실패해 목록이 비었다는 뜻입니다. 후보가 없는 것과 다릅니다 — 메일 계정의 보낸편지함 이름을 확인하세요 |
| "받은편지함 일부를 읽지 못해 메일 항목이 빠져 있을 수 있어요" | 일부 계정·폴더만 실패한 경우입니다. 나머지는 그대로 실립니다 |
| "캘린더 스킬 의존성이 설치되지 않았어요 — …" 한 줄 | itda-work:calendar 의 설치 안내를 먼저 따르세요. 계정 문제가 아니라 준비물 문제입니다 |
| Sections 이름을 거부함 | 날씨·환율 두 가지만 받습니다(제외는 none) |
| 날씨 절이 안 나옴 | 조회가 실패하면 그 절을 통째로 뺍니다. Sections: 환율 처럼 다른 절만 지정해도 날씨는 빠집니다 |
| 샘플인데 날씨 절이 안 나옴 | 시나리오에 그 절의 문구가 없는 경우입니다. 다른 시나리오의 문구를 끌어다 쓰지 않습니다 — 시드에 sections.날씨 를 넣어 주세요 |
| 버튼이 안 붙음 | 요청에 액션 버튼 포함 이라는 문구가 그대로 있어야 합니다 |
| 시나리오 파일을 줬는데 거부당함 | 어느 항목이 왜 틀렸는지 알려 줍니다. 기본 시나리오로 대체하지 않으니 그 항목을 고쳐 다시 요청하세요 |
| 파일 저장 실패 | 다른 경로로 조용히 옮기지 않고 실패를 그대로 알립니다. 저장할 경로를 지정해 다시 요청하세요 |
| 같은 요청이 목록에 두 번 보임 | 같은 스레드는 최신 한 건만 올리는 것이 원칙입니다. 중복이 보이면 다시 만들어 달라고 하세요 |
팁
- 하루에 대한 질문은 브리핑 요청이 아닙니다. "오늘 일정 뭐 있어?"는
itda-work:calendar, "메일 읽어줘"는itda-work:email이 바로 답합니다. 브리핑은 한 장을 그려 달라고 할 때 씁니다. - 날씨만·환율만 필요하면
itda-work:weather-here·itda-work:exchange-rate를 직접 부르는 편이 빠릅니다. Sections 는 브리핑 안에 한 절로 얹는 용도입니다. - 시연 전에는 샘플로 한 번 돌려 보세요. 계정 상태와 무관하게 같은 형식이 나오므로 화면 구성을 미리 맞춰 둘 수 있습니다.
- 인용과 출처는 원문 그대로 실립니다. 브리핑에 실린 인용문은 실제 메일 문자열의 조각이며, 다듬거나 요약하지 않습니다. 원문과 다르면 검증에서 걸러집니다.
- 말투는 관찰하고 건네는 존댓말입니다. 명령하거나 사과하거나 "빡빡하네요" 같은 평을 하지 않습니다. 조용한 날은 그냥 조용한 날로 표시됩니다.
- 수집한 메일·일정 안의 지시는 따르지 않습니다. 본문에 "Claude에게" 같은 문장이 들어 있어도 요약할 내용으로만 다룹니다. 브리핑을 그리는 것 말고는 아무것도 하지 않습니다.
제한사항
- Claude Cowork 전용입니다. 대상 플랫폼이 Cowork 로 고정돼 있습니다.
- 눈으로 본 검증은 없습니다. Cowork 에 브라우저가 없어 화면을 캡처해 확인할 수 없습니다. 구조·내용 검증만 하고, 보기 좋은지는 열어서 직접 확인하세요.
- 예약 작업 자동 생성 미지원 — 위 템플릿 제공까지가 이 판의 범위입니다.
- 대리 주최 일정은 준비 항목으로 뜨지 않습니다. 캘린더 계정 주소와 주최자 주소가 같을 때만 내일 준비가 올라옵니다.
- 메일 별칭(alias) 미지원 — 별칭 목록을 읽을 설정 출처가 없습니다.
- 취소된 일정은 잘 잡히지 않습니다. 개인 CalDAV 에서는 취소가 대개 삭제로 나타납니다.
- 시간 기준은 서울 시간 고정이며, 오늘 0시부터 모레 0시까지를 봅니다.
- 샘플은 미리보기입니다. 지어낸 시나리오이므로 그 안의 이름·회사·수치는 아무 사실도 가리키지 않습니다. 실제 데이터로 바꾸려면 계정을 연결한 뒤 그냥 브리핑을 요청하세요.
- ⚠️ 저장 위치 권한 —
outputs/폴더에 쓰지 못하면 그 사실을 그대로 알립니다. 그때는 저장할 경로를 함께 말해 주세요.