07:10 스레드 일일 발행
09:00 대시보드 갱신 · 발행 판정 · 토큰 자동 갱신
09:30 멘션 아카이브
10:10 글감봇
14:00 회의 체크포인트 알림
23:45 브랜드 지표 집계
5분마다 신규 신청 감지 · CPU 워치독
10분마다 발행 큐 · 음성메모 임포터
상시 디스코드 봇 4개 · 대시보드 서버
처음부터 49개였던 건 아닙니다. 같은 일을 세 번쯤 반복하고 "이거 왜 내가 하지" 싶을 때 하나씩 만들었습니다.
그 과정에서 깨진 것들을 스킬로 정리한 게 아래 26개입니다.
바로 실행되는 스크립트
절차서만으로 부족한 것들은 실제 코드를 같이 넣었습니다. 전부 제 기기에서 실행되고 있는 것들입니다.
스킬
스크립트
하는 일
claude-codex-fallback
llm-with-fallback.sh
Claude 우선 실행, 한도 초과 시에만 Codex로 재실행
remote-offload
offload.sh
무거운 작업을 원격 기기로 넘김. 원격이 죽어 있으면 로컬 폴백 없이 중단
discord-reminder
make-reminder.sh
일회성 리마인더를 launchd에 등록, 발송 후 자동 삭제
book-pdf
html-to-pdf.py
Paged.js 조판 HTML을 PDF로 굽기
threads-reply
publish-thread.mjs
Threads 타래 발행. 기본 dry-run, --go로만 실제 발행
naver-mail
send_naver_mail.py
네이버 SMTP 발송, 첨부파일 지원
나머지는 실행 코드가 제 계정·서버에 묶여 있어서 절차와 함정만 정리했습니다.
공개한 스킬 26개
49개를 만들면서 쓴 절차 중, 남의 환경에서도 그대로 작동하는 것만 골랐습니다.
2일차 업데이트 — 반응이 좋아서 창고를 다시 뒤졌습니다. 스킬 폴더가 두 군데로 나뉘어 있었고, 처음엔 그중 한쪽만 공개했습니다. 나머지에서 공개 가능한 것을 추가했습니다. (Anthropic 공식 스킬과 겹치는 skill-creator·slack-gif-creator는 제 것이 아니라 제외했습니다.)
만들기 — 영상·전자책·이미지
🎬 web-demo-video — 화면 녹화 없이 제품 데모 영상
무엇을 하나
SNS에 올릴 제품 소개 영상을 만듭니다. 1:1(인스타·카톡), 9:16(릴스·쇼츠·스레드), 16:9(유튜브·랜딩) 세 비율 대응.
어떻게 작동하나 — OBS도 화면 녹화도 쓰지 않습니다
대상 사이트를 로컬 서버로 띄웁니다
"무대" 페이지를 만들고 그 안에 <iframe>으로 사이트를 넣습니다. 맥 브라우저 창 목업(신호등 3개 + URL 바) 안에 들어갑니다
가짜 커서 SVG를 움직이면서 진짜 클릭 이벤트를 iframe 내부에 쏩니다. 클릭할 때 하이라이트 원이 퍼집니다
window.__tick(프레임번호) 함수 하나가 그 시점의 화면 상태를 만듭니다. 결정론적이라 몇 번을 다시 뽑아도 같은 영상이 나옵니다
프레임을 한 장씩 캡처해 ffmpeg로 합칩니다
엔딩 카드(제품명 / 한 줄 설명 / 셀링포인트 3개 / URL)를 붙입니다
함정
무대 페이지와 대상 사이트는 반드시 같은 오리진이어야 합니다. 포트가 다르면 iframe.contentDocument 접근이 막혀서 조작 자체가 불가능합니다. 그래서 무대 파일을 프로젝트 폴더 안에 임시로 두고 끝나면 반드시 빼냅니다. 안 그러면 다음 배포에 딸려 올라갑니다.
같이 들어있는 것 무대 템플릿 HTML 2종
필요한 것 ffmpeg
에이전트에게 "이 사이트로 9:16 데모 영상 만들어줘"
📖 book-pdf — 마크다운을 진짜 책처럼
무엇을 하나
마크다운 원고를 실제 책처럼 보이는 PDF와 EPUB으로 만듭니다. 전자책을 팔려고 만들었습니다.
들어가는 것
표지 / 타이틀 페이지 / 판권(콜로폰) 페이지 / 실제 쪽번호가 박힌 목차 / 장마다 바뀌는 러닝헤더
한 달치 한 줄 답글 492건을 실측했더니 느낌표 31% / 물음표 7.5%가 나왔고, 이전에 만들어둔 기준표(느낌표 11% / 물음표 22%)와 정반대였습니다. 그 낡은 표를 믿고 쓴 초안은 반려됐습니다. 그래서 배치를 시작할 때마다 문체표를 다시 잰다는 규칙이 들어 있습니다.
댓글과 답글을 짝으로 봐야 하는 이유, 통계만 맞추면 왜 훈수형 문장이 나오는지도 실패 기록으로 적어뒀습니다.
사람 상대하기 — 회의·메시지·메일
📝 meeting-minutes — 회의 끝나면 회의록이 올라가 있기
무엇을 하나
전사록을 넣으면 회의록으로 정리해 노션 DB에 등록하고 디스코드에 공지까지 합니다.
사고 대응 절차가 같이 있습니다
전사가 유실됐을 때 지어내지 않습니다. 회의록 상단에 "전사 유실 · 무엇을 근거로 썼는지"를 명시하고 참석자에게 보완을 요청합니다. 실제로 회의 본론이 통째로 날아간 적이 있어서 넣었습니다.
유실이면 발행보다 사본 요청이 먼저입니다. 주변 텍스트에 남는 건 회의 직후 후속 논의지 회의 그 자체가 아닙니다.
외부 mp3 녹취를 받았을 때
전사 프롬프트에 고유명사를 미리 넣으면 정확도가 크게 오릅니다(사람 이름, 공간명, 도메인 용어)
세그먼트 시작 시각에 녹음 시작 시각을 더해 절대 시각으로 바꿔 적으면 대조가 쉽습니다
개인 녹취는 화자 분리가 없습니다. 역할로 판별합니다
녹음 시작이 회의 시작보다 늦으면 앞부분이 빠졌다고 명시하고 물어봅니다
필요한 것 노션 토큰
에이전트에게 "이 전사록으로 회의록 만들어서 올려줘"
📱 kakaotalk-cli — 맥에서 카카오톡 보내고 읽기
막혔던 세 가지
한글을 keystroke로 넣으면 ㅁㅁㅁ으로 깨집니다
SSH로 들어가면 pbcopy가 GUI 페이스트보드에 안 붙습니다
화면에 렌더링되지 않은 채팅방은 목록에서 못 찾습니다. 아래로 밀린 방이 안 잡힙니다
세 가지를 다 겪고 나서 찾은 경로가 적혀 있습니다.
안전 규칙
보내기 전 --dry-run으로 수신자 확인
처음 보내는 상대이거나 내용이 길면 나에게 먼저 연습 발송해서 서식 확인
단톡방은 특히 연습 발송 필수
AI가 대신 보낸 메시지에는 그렇다고 표시합니다
메타데이터 재수집(harvest) 실행 금지 — 방 이름이 전부 (unknown)으로 덮어써진 사고가 있었습니다
당근 웹 검색은 동 하나로만 됩니다. 그래서 넓게 찾으려면 지역코드를 순회해야 합니다. 대형가전이나 노트북처럼 한 동네에 매물이 없는 물건을 찾을 때 씁니다.
글 다듬기 — 문체·윤문
🧹 humanize-korean — AI가 쓴 한글을 사람 글로 되돌리기
~가 아니라 대조 구문, 여정, 굴러가다 같은 AI 특유의 표현을 잡아냅니다.
제가 만든 게 아닙니다. 뼈대는 한국 번역학계의 번역투 연구(이영옥 2001 이후 8대 유형)와
KatFish 정량 보고서의 지표를 가져와 세웠고, 제 경험은 그 위에 금지어 몇 개를 얹은 정도입니다.
학술 출처 전문은 references/scholarship.md에 논문·연도·저널·페이지까지 그대로 적어뒀습니다.
🧬 voice-dna-creator — 문체를 수치로 뽑아내기
길이·줄바꿈·어미·인칭 분포를 재서, 다음 글을 그 범위 안에서 쓰게 합니다. 감으로 쓰다가 "네 문체가 아니다"라는 말을 듣고 만들었습니다.
✒️ style-skill-creator — 문체를 가르치는 스킬 만들기
특정 문체를 학습시키는 스킬 자체를 만들어냅니다.
모임 운영하기 — 회의·워크숍·행사
🗂 meeting-summary — 회의록에서 결정과 할 일만 남기기
요약이 아니라 추출입니다. 안건별 논의 과정은 버리고 "누가 언제까지 뭘"만 남깁니다.
🎓 workshop-prep — 워크숍 한 건 통째로 준비하기
커리큘럼 설계, 준비물, 당일 진행표까지 한 번에 나옵니다.
🎟 event-sales-script — 행사 판매 멘트 만들기
같은 행사라도 채널마다 톤이 달라야 해서, 채널별로 따로 뽑습니다.
🚀 community-launch — 커뮤니티 기수 열기
모집부터 온보딩까지의 절차입니다. 6기까지 운영하면서 굳어진 순서입니다.
에이전트 운영하기
🎛 orchestration — 여러 에이전트에 일 나눠 맡기기
일을 쪼개서 맡기고 결과를 다시 합치는 절차입니다.
🧰 harness — 전문 에이전트와 그 스킬까지 만들어내기
에이전트를 정의하면 그 에이전트가 쓸 스킬까지 같이 만들어주는 메타 스킬입니다.
🖱 computer-use — 화면 보고 직접 조작하기
API가 없는 프로그램을 다뤄야 할 때 씁니다.
🗑 notion-delete — 노션 페이지 안전하게 지우기
바로 지우지 않고 대상 목록을 먼저 보여준 뒤 확인받습니다. 잘못 지우면 되돌릴 수 없어서 이렇게 만들었습니다.