| name | syndicate |
| description | ROSSE 배포 파이프라인 (memex-kb#4). 가든 canonical 노트 1개를 매체별 복붙용 포맷 묶음 1파일로 만든다 — 원문형(페북·링크드인) / 전문형(네이버블로그·티스토리) / 요약형(스레드·트위터·블루스카이·인스타). 완전 자동화가 아니라 사람 복붙 또는 브라우저 클로드 소비가 1차. Use when 힣이 자기 글을 여러 공개면에 뿌리려 할 때, 가든 노트에서 면별 배포본을 뽑을 때, 매체별 글자수·링크규칙·복붙 함정을 알아야 할 때, autholog 노트를 syndicate 할 때. Triggers: 'syndicate', 'ROSSE', 'POSSE', '배포 묶음', '면별 변환', '복붙용', '네이버 포스팅', '티스토리 올리', '페이스북 올리', '스레드 요약', '가든 배포', 'autholog 배포', 'syndicate-specs'. 전략 SSOT는 autholog 노트 20250324T110312, 운영 SSOT는 이 스킬. |
| user_invocable | true |
syndicate — ROSSE 배포 파이프라인
Repo: ~/repos/gh/memex-kb. run.sh가 명령을 덮고, 이 파일이 판단·규칙·함정을 덮는다.
전략 SSOT는 코드가 아니라 노트다 — autholog 노트
~/sync/org/notes/20250324T110312--힣-원석-날것을-휘갈긴다...autholog....org (id 20250324T110312).
"왜 이렇게 하는가"(원석 날것·일일일생·면별 규칙)는 거기서 읽는다. 이 스킬은 "어떻게 실행하는가"만 담는다.
포맷 규격의 런타임 SSOT는 scripts/syndicate.py의 PLATFORMS dict — 표가 의심되면
./run.sh syndicate-specs로 코드에서 다시 뽑는다. (구 docs/syndication.md는 폐기됨.)
멘탈 모델 — ROSSE
POSSE(Post on Own Site, Syndicate Everywhere)를 뒤집은 Raw Outside, Syndicate via own Site, Everywhere.
날것 원문 (링크드인/위클리 저널, 손가락 작성)
↓ 에이전트가 가든으로 옮기고 해설·관련노트 붙임 (봇로그 아님 — 원문이 핵심)
가든 canonical (notes.junghanacs.com, autholog) — 해설+원문 내장 ← SSOT
↓ syndicate (이 스킬)
8개 공개면 — 형태는 달라도 전부 가든 링크로 수렴 → 서로를 방어
원칙: 편집 없는 원문 + 에이전트 해설의 이중 레이어 · 모든 출력에 가든 canonical 링크 필수 ·
타겟 맞춤형 호객글·짜집기 글 절대 금지.
완전 자동화는 1차 목표가 아니다 (중요)
힣은 개인 프로필에 올린다 → 공식 쓰기 API가 막혀 있거나(페북 개인프로필 = Graph API 발행 불가, 2018 폐기 ·
티스토리 Open API = 2024 폐쇄) 없다(네이버 블로그). 그래서 1차 산출물은 "매체별 복붙용 포맷 묶음 파일 1개".
사람이 직접 복붙하거나, 브라우저 클로드가 그 파일을 읽고 각 면에 꽂는다. API 직접 발행은 후속 후보로만 남긴다.
→ 이 때문에 면별 퍼블리셔가 복붙/브라우저로 수렴 = 스킬도 면별 N개가 아니라 이 하나면 된다.
포맷 클래스 3종
| 클래스 | 내용 | 면 |
|---|
| 원문형(raw) | 원문 + 가든링크 | 페이스북, 링크드인 (블로그 아님 — 딱 이대로) |
| 전문형(full) | 가든본 전체(해설+원문) + 가든링크 | 네이버블로그, 티스토리 |
| 요약형(summary) | 매체별 글자수 요약 + 가든링크 | 스레드, 트위터, 블루스카이, 인스타 |
매체별 명세 (2026-06 스냅샷; 런타임 SSOT = PLATFORMS)
| 매체 | 클래스 | 글자수 | 요약언어 | 링크 | 복붙 함정 |
|---|
| 페이스북 | 원문형 | 63,206 | — | post | 개인 프로필 API 불가, 복붙 전용. 첫 링크만 미리보기 언펄. 줄바꿈 보존. |
| 링크드인 | 원문형 | 3,000 | — | comment | 원문 캡처면(출발점). 모바일 210자 접힘. **본문 외부링크=도달 -1860%(2026.3 후↑) → 가든 링크는 첫 댓글로.** 본문은 순수 날것(링크 0). |
| 네이버블로그 | 전문형 | 무제한 | — | top+bottom | 스마트에디터. 제목 별도. 마크다운 직접 안 먹음→붙이고 서식 보정. |
| 티스토리 | 전문형 | 무제한 | — | top+bottom | Open API 폐쇄→복붙/브라우저. 마크다운 모드 지원. |
| 스레드 | 요약형 | 500 | ko | post | 토큰에 발행권한 보유(후속 자동화 1순위). |
| 트위터/X | 요약형 | 280 | ko | post | 무료 280자. 링크는 t.co 23자 고정 차지. |
| 블루스카이 | 요약형 | 300 | en | post | 300 graphemes. AT Protocol(자동화 쉬움). URL 전체가 글자수. |
| 인스타그램 | 요약형 | 2,200 | ko | bio | 본문 링크 클릭 불가→'링크는 프로필' 명시. 이미지 필수. |
입력 규약
단순 마크다운 + front matter. 예시 samples/syndicate-sample.md.
---
title: 제목
garden_url: https://notes.junghanacs.com/notes/<ID>
---
## 해설
가든 canonical 해설 본문 (에이전트가 정리).
## 원문
링크드인 등에 손가락으로 남긴 날것 원문. 편집 없음.
## 요약
### ko
한국어 요약 (요약형 면용).
### en
English summary (블루스카이 등 lang=en 면).
명령
./run.sh syndicate <INPUT.md>
./run.sh syndicate <INPUT.md> --only threads,bluesky
./run.sh syndicate-specs
출력 묶음은 매체명 ## 헤딩 + 복붙 펜스 + 함정 메모로 구성. 요약형이 글자수 상한을 넘으면
stdout과 블록 위에 ⚠️ 경고가 찍힌다 → 그 면은 줄여야 한다.
워크플로 (한 글을 뿌리는 한 사이클)
- 원문 입력 — 힣이 링크드인/저널에 남긴 날것을 받는다 (URL 또는 붙여넣기).
- 가든본 매칭 —
denotecli / semantic-memory로 붙일 기존 노트를 찾는다.
새 노트 금지(당분간), 기존 노트 확장. 전부 autholog 태그. 빈방 임시노트·오래된 글·같은 주제 글을 재확장.
- 입력 md 작성 — 위 규약대로 해설/원문/요약(ko·en) 3블록. 해설=canonical 해설, 원문=편집 없는 날것.
- 묶음 생성 —
./run.sh syndicate <입력.md>.
- 요약형 다듬기 — ⚠️ 경고난 면은 글자수에 맞춰 손본다 (기계 절단 금지 — 매체별로 자연스럽게).
- 배포 — 사람이 복붙하거나, 브라우저 클로드에게 묶음 파일을 주고 "매체명 헤딩대로 각 면에 넣어라".
가든 canonical 링크가 모든 면에 들어갔는지 확인.
함정 / 판단
- 짜집기 글 금지: 전문형(네이버·티스토리)은 반드시 가든본 전체(원문 내장)여야 한다. 인터넷 짜깁기 본문은 절대 안 내보낸다.
- 원문 불변: 원문형/전문형의
## 원문 블록은 편집하지 않는다. 다듬는 건 해설과 요약뿐.
- 가든 링크 = 수렴점: 빠지면 ROSSE가 깨진다. 모든 블록에 필수, 인스타는 클릭 불가라 '링크는 프로필' 명시.
- 링크드인은 가든 링크를 첫 댓글로 (link=comment): 본문에 외부링크 넣으면 도달 -18~60%(2026.3 알고리즘 후 가팔라짐). 본문은 순수 날것(링크 0), 가든 링크는 묶음의 "↳ 첫 댓글" 블록을 따로 등록. article 참조도 가든이 들고 있으니 본문에서 뺀다. cf. 블루스카이/트위터는 가든 URL 전체가 글자수 차지(자동단축 없음/ t.co 23자). 페북은 일단 본문 링크 유지(개인 프로필 페널티 덜 명확) — 필요시 같은 처리.
- 마크다운 안 먹는 면: 네이버 스마트에디터는
##/** 리터럴로 박힌다. 전문형은 그래서 평문 구분선(─── 원문 ───)을 쓴다.
- 요약 언어: 블루스카이는
en, 나머지 짧은 면은 ko 기본. 입력에 해당 언어 요약이 없으면 ko로 폴백.
- 포맷 규격 추가/변경:
PLATFORMS dict 한 곳만 고친다. 이 표는 스냅샷이니 같이 갱신하거나, 코드를 신뢰하고 syndicate-specs로 확인.
후속 자동화 후보 (1차 이후)
- API-clean 직접 발행: Threads(
threads_content_publish 토큰 이미 보유 → publish 2단계만) · Bluesky(AT Protocol, 앱 패스워드). 읽기/쓰기 둘 다 스킬에 흡수.
- 브라우저 자동화: 네이버·티스토리·개인 페북 =
browser-tools(CDP)/크롬확장이 이 묶음 파일을 입력으로 소비.
- 요약형 글자수 자동 적합화 루프(에이전트가 매체별 다듬기).
- 완성 후 힣봇 군단 주입.
SSOT 분담 (헷갈리지 말 것)
- 전략(왜) = autholog 노트
20250324T110312 — 원석 날것·일일일생·면별 규칙의 원문.
- 운영(어떻게) = 이 스킬 SKILL.md.
- 포맷 규격(런타임) =
scripts/syndicate.py PLATFORMS.
- 구
docs/syndication.md = 폐기. 다시 만들지 말 것.