@modootoday/datalab-extension-mcp 1.7.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/README.en.md +55 -9
  2. package/README.md +47 -9
  3. package/dist/browsers-KHRZKQVP.js +119 -0
  4. package/dist/{dist-WMNHKGZR.js → chunk-5S7RFXIU.js} +1032 -442
  5. package/dist/chunk-6JBLBCLU.js +17524 -0
  6. package/dist/chunk-NKUU3DAF.js +15888 -0
  7. package/dist/cli.js +64 -4
  8. package/dist/dist-JICXADYR.js +105 -0
  9. package/dist/index.d.ts +22 -4
  10. package/dist/index.js +2 -1
  11. package/dist/skills-ACWHUGX7.js +101 -0
  12. package/package.json +3 -5
  13. package/skills/datalab-ad-disclosure-check/SKILL.md +74 -0
  14. package/skills/datalab-ad-disclosure-check/references/ad-disclosure-rules.md +98 -0
  15. package/skills/datalab-ad-disclosure-check/references/naver-terms-excerpt.md +28 -0
  16. package/skills/datalab-blog-widget/SKILL.md +65 -0
  17. package/skills/datalab-blog-widget/references/naver-constraints.md +51 -0
  18. package/skills/datalab-blog-widget/references/templates.md +123 -0
  19. package/skills/datalab-card-news/SKILL.md +93 -0
  20. package/skills/datalab-card-news/references/slide-structure.md +48 -0
  21. package/skills/datalab-cta-rewrite/SKILL.md +55 -0
  22. package/skills/datalab-cta-rewrite/references/output-format.md +24 -0
  23. package/skills/datalab-cta-rewrite/references/principles.md +36 -0
  24. package/skills/datalab-material-suggestion/SKILL.md +70 -0
  25. package/skills/datalab-material-suggestion/references/discovery.md +47 -0
  26. package/skills/datalab-material-suggestion/references/output-format.md +41 -0
  27. package/skills/datalab-photo-prompt/SKILL.md +52 -0
  28. package/skills/datalab-photo-prompt/references/prompt-dimensions.md +43 -0
  29. package/skills/datalab-photo-prompt/references/style-vocabulary.md +35 -0
  30. package/skills/datalab-reader-simulation/SKILL.md +83 -0
  31. package/skills/datalab-reader-simulation/references/checklist-format.md +36 -0
  32. package/skills/datalab-research-brief/SKILL.md +77 -0
  33. package/skills/datalab-research-brief/references/brief-format.md +39 -0
  34. package/skills/datalab-social-repurpose/SKILL.md +70 -0
  35. package/skills/datalab-social-repurpose/references/output-format.md +43 -0
  36. package/skills/datalab-social-repurpose/references/platform-specs.md +44 -0
  37. package/skills/datalab-tone-manner/SKILL.md +59 -0
  38. package/skills/datalab-tone-manner/references/analysis-dimensions.md +51 -0
  39. package/skills/datalab-tone-manner/references/spec-format.md +58 -0
  40. package/skills/datalab-tutorial-post/SKILL.md +61 -0
  41. package/skills/datalab-tutorial-post/references/analogy-and-case-templates.md +37 -0
  42. package/skills/datalab-tutorial-post/references/structure-and-length.md +22 -0
  43. package/skills/datalab-tutorial-post/references/tone-and-hooks.md +26 -0
  44. package/skills/datalab-video-script/SKILL.md +84 -0
  45. package/skills/datalab-video-script/references/scene-structure.md +41 -0
  46. package/skills/datalab-video-script/references/writing-for-the-ear.md +22 -0
  47. package/dist/chunk-NYUIYZG6.js +0 -32468
@@ -0,0 +1,43 @@
1
+ # 프롬프트를 채우는 축
2
+
3
+ 새 사진을 만드는 데 실제로 쓰이는 축만 다룬다. 장비 설정 추정·구도 규칙 판정·품질 채점처럼
4
+ 근거 없이 판단하는 항목은 없다.
5
+
6
+ ## 1. 피사체
7
+
8
+ - 무엇 또는 누구인지, 몇 명인지, 무엇을 하고 있는지.
9
+ - 인물이면 대략적 연령대, 표정, 자세, 옷차림. 실존 인물을 지목하지 않는다 — "20대 여성"
10
+ 처럼 일반적으로 쓴다.
11
+
12
+ ## 2. 환경
13
+
14
+ - 실내·실외, 장소 유형, 시간대, 날씨.
15
+ - 예: "카페 창가", "가을 숲", "노을 지는 도심 옥상".
16
+
17
+ ## 3. 스타일과 무드
18
+
19
+ - 사진 장르(인물·풍경·제품·음식·스트리트 등) — 어휘는 `style-vocabulary.md`.
20
+ - 분위기(밝고 경쾌한 / 차분한 / 드라마틱 등).
21
+ - 색감 방향(따뜻한 톤 / 차가운 톤 / 파스텔 / 비비드).
22
+
23
+ ## 4. 조명
24
+
25
+ - 방향(정면광·측광·역광)과 질감(부드러운·강한). 색온도 숫자는 쓰지 않는다 — "따뜻한 오후
26
+ 햇살", "창가로 들어오는 부드러운 자연광" 처럼 말로 쓴다.
27
+
28
+ ## 5. 구도 (선택)
29
+
30
+ - 사용자가 원할 때만. 가로·세로, 클로즈업·전신, 여백 정도.
31
+
32
+ ## 문장으로 조립하기
33
+
34
+ 다섯 축을 나열이 아니라 자연스러운 한 문단으로 잇는다.
35
+
36
+ - 나쁜 예: "여성, 카페, 창가, 따뜻한 조명, 캐주얼"
37
+ - 좋은 예: "카페 창가 자리에서 커피를 마시는 20대 여성, 오후의 부드러운 자연광이 얼굴에
38
+ 은은하게 비치는 캐주얼한 분위기의 사진"
39
+
40
+ ## 부족한 정보
41
+
42
+ 축 하나가 비었으면 지어내지 말고 묻는다. 다만 매번 다섯 축을 전부 확인받을 필요는 없다 —
43
+ 이미 충분히 구체적으로 설명했으면 그대로 진행한다.
@@ -0,0 +1,35 @@
1
+ # 스타일 어휘
2
+
3
+ 사진 장르, 스타일, 조명 표현을 말로 옮길 때 참고하는 어휘다. 카메라·렌즈 모델명은 다루지
4
+ 않는다 — 어떤 장비로 찍히는지 알 수 없고, 안다고 말할 수도 없다.
5
+
6
+ ## 사진 장르
7
+
8
+ - 인물 — 표정과 눈에 초점, 배경이 흐려지는 얕은 심도
9
+ - 풍경 — 넓은 시야, 하늘과 지평선의 비중이 큼
10
+ - 제품 — 깔끔한 배경, 질감이 잘 보이는 정면·측면 조명
11
+ - 음식 — 위에서 내려다보거나 45도, 따뜻한 색감
12
+ - 스트리트 — 자연스러운 순간, 인위적이지 않은 구도
13
+ - 패션 — 스타일리시한 포즈, 의상 디테일 강조
14
+
15
+ ## 무드
16
+
17
+ - 밝고 경쾌한 / 차분하고 정적인 / 드라마틱하고 대비가 강한
18
+ - 몽환적이고 부드러운 / 빈티지하고 따뜻한 / 미니멀하고 여백이 많은
19
+
20
+ ## 조명 표현 (숫자 없이 말로만)
21
+
22
+ - 골든아워 — 노을빛, 길게 늘어지는 그림자, 따뜻한 톤
23
+ - 창가 자연광 — 방향성 있는 부드러운 빛
24
+ - 역광·림라이트 — 피사체 윤곽을 따라 빛나는 테두리
25
+ - 흐린 날 확산광 — 그림자가 거의 없는 균일한 빛
26
+ - 스튜디오 조명 — 통제된, 균일하고 깨끗한 빛
27
+
28
+ ## 색감 방향
29
+
30
+ - 따뜻한 톤(주황·노랑 계열) / 차가운 톤(파랑·청록 계열)
31
+ - 비비드(채도 높음) / 뮤트(채도 낮음) / 파스텔 / 흑백
32
+
33
+ ## 시대 감성 (선택적으로만)
34
+
35
+ - 필름 느낌(입자감, 약간 바랜 색) / 메탈릭하고 채도 높은 / 현대적이고 깨끗한
@@ -0,0 +1,83 @@
1
+ ---
2
+ name: datalab-reader-simulation
3
+ description: 측정된 내 블로그 독자 데이터로 프로필을 세우고, 초안이 그 독자가 실제로 묻는 질문에 답이 되는지 점검한다. 독자 시뮬레이션, "독자 입장에서 봐줘", 예상 질문 점검에 사용한다. 결과는 사고 도구이지 실제 반응의 증거가 아니다.
4
+ license: Proprietary
5
+ metadata:
6
+ tools: my_audience, my_content_audience, my_followers, my_revisit, my_dwell, my_inflow, my_inflow_domain, my_device, my_country, my_content_info, my_content_read, my_content_detail, kin_question_demand, search_keywords, autocomplete_keywords, editor_read, editor_read_structure
7
+ ---
8
+
9
+ # 독자 시뮬레이션
10
+
11
+ 측정된 독자 데이터로 프로필을 세우고, 그 프로필로 초안이 실제로 나올 질문에 답이 되는지
12
+ 점검한다. 산출물은 점검 목록이다 — 반응 예측이나 점수가 아니다.
13
+
14
+ ## 두 단계, 한 스킬
15
+
16
+ 1. **프로필** — 이 블로그 독자에 대해 도구가 실제로 알려주는 것만 정리한다.
17
+ 2. **대조** — 같은 주제에서 사람들이 실제로 묻는 질문을 근거로, 초안이 무엇에 답이 안 되어
18
+ 있는지 표시한다.
19
+
20
+ 프로필만 세워 달라는 요청도 받는다(1단계까지만 하고 멈춘다). 대조는 프로필 없이는 근거가
21
+ 없으므로 항상 1단계부터 지나간다.
22
+
23
+ ## 1단계. 독자 프로필
24
+
25
+ 쓰는 도구: `my_audience` · `my_content_audience`(특정 글을 지정했을 때) · `my_followers` ·
26
+ `my_revisit` · `my_dwell` · `my_inflow` · `my_inflow_domain` · `my_device` · `my_country`.
27
+ 이 도구들은 **이 블로그를 실제로 읽은 사람들**의 집계다.
28
+
29
+ 도구가 준 값만 적는다. 성별·연령 구간이 안 나오면 그 항목을 통째로 뺀다 — "대략 20~30대로
30
+ 추정" 같은 채움말을 쓰지 않는다. 프로필에 없는 항목은 2단계에서도 근거로 쓸 수 없다.
31
+
32
+ ### 쓰지 않는 도구 — 이 블로그 독자가 아니다
33
+
34
+ `shopping_keyword_gender` · `shopping_keyword_age` · `shopping_keyword_device` ·
35
+ `shopping_category_gender` · `shopping_category_age` · `shopping_category_device` 는 **그
36
+ 키워드·카테고리를 검색한 사람들**의 집계다. `comment_genderage` · `comment_country` ·
37
+ `comment_device` · `comment_hourly` 는 **뉴스 기사 댓글 작성자**의 집계다.
38
+
39
+ 둘 다 이 블로그를 읽는 사람과 같다는 근거가 없다 — 프로필에 섞지 않는다.
40
+
41
+ ## 2단계. 초안에 독자를 태워보기
42
+
43
+ 원문 확보는 우선순위가 있다.
44
+
45
+ 1. 사용자가 붙여넣은 초안.
46
+ 2. 편집기에 열려 있으면 `editor_read` · `editor_read_structure`.
47
+ 3. 이미 발행한 글이면 `my_content_info` 로 특정하고 `my_content_read` ·
48
+ `my_content_detail` 로 읽는다.
49
+
50
+ 셋 다 없으면 점검할 원문이 없다 — 붙여넣어 달라고 하고 멈춘다.
51
+
52
+ 주제와 핵심 키워드로 `kin_question_demand` · `search_keywords` · `autocomplete_keywords` 를
53
+ 확인해 **실제로 이 주제에서 사람들이 묻는 질문과 표현**을 모은다. "독자가 궁금해할 것"의
54
+ 유일한 근거는 이것이다 — 지어내지 않는다.
55
+
56
+ 대조는 두 갈래다.
57
+
58
+ - **내용** — 확인한 질문 목록과 초안을 대조해 답이 있는 질문 / 없는 질문 / 부분적인 질문을
59
+ 표시한다.
60
+ - **형식** — 프로필의 측정값(기기 비중·재방문율·유입 경로)에 딸린 일반 원칙만 적용한다.
61
+ 예: 모바일 비중이 높으면 긴 미분단 문단을 짚는다. 이건 "이 독자층의 취향"이 아니라 기기
62
+ 사실에 딸린 일반 가독성 원칙이다 — 프로필에 기기 값이 없으면 이 갈래를 건너뛴다.
63
+
64
+ 형식은 `references/checklist-format.md`.
65
+
66
+ ## 시뮬레이션은 증거가 아니다
67
+
68
+ 이 점검은 실제 독자를 인터뷰한 게 아니다. 산출물에서 반드시 지킨다.
69
+
70
+ - 1인칭으로 독자인 척 말하지 않는다. "저는 이게 궁금해요" 금지 — "~라는 질문이 남을 수
71
+ 있다"처럼 3인칭 가정형으로 쓴다.
72
+ - 이름·나이·직업을 지어내 붙인 가상 인물을 만들지 않는다. 프로필은 집계이지 사람이 아니다.
73
+ - 클릭률·전환율·만족도·"이 글이 잘 될 것이다" 같은 예측을 하지 않는다.
74
+ - 결과를 "독자 반응"이나 "검증 결과"라고 부르지 않는다. **초안이 실제 질문에 답했는지
75
+ 점검한 목록**이라고만 부른다.
76
+
77
+ ## 이 스킬이 하지 않는 것
78
+
79
+ - 경력·수상·소속을 지어내 전문가를 연기하지 않는다 — 독자를 다루지 화자를 연기하지 않는다.
80
+ - 성별·세대에 고정관념을 얹은 해석을 하지 않는다. 분포를 안다고 취향이나 동기를 아는 것이
81
+ 아니다.
82
+ - 원고를 고쳐 쓰지 않는다. 무엇이 빠졌는지만 표시한다 — 채우는 건 사용자 몫이다.
83
+ - 이 블로그의 문체는 분석하지 않고(그건 다른 스킬의 일), 다음에 뭘 쓸지도 추천하지 않는다.
@@ -0,0 +1,36 @@
1
+ # 점검 목록 형식
2
+
3
+ ```
4
+ 독자 프로필 (확인된 것만)
5
+ - 유입: {값}
6
+ - 유입 도메인 상위: {값}
7
+ - 기기: {값}
8
+ - 국가: {값}
9
+ - 재방문율: {값}
10
+ - 평균 체류: {값}
11
+ - 팔로워: {값}
12
+ - 성별/연령: {값 — 도구가 안 주면 이 줄 자체를 뺀다}
13
+
14
+ 실제로 묻는 질문 (지식iN·검색, 확인된 것만)
15
+ 1. {질문 또는 검색 표현} — {수치, 있으면}
16
+ 2. ...
17
+
18
+ 초안 대조
19
+ | 확인된 질문 | 초안에 답이 있나 | 근거 |
20
+ | --- | --- | --- |
21
+ | {질문} | 있음 / 없음 / 부분적 | {초안의 해당 부분, 없으면 "해당 문단 없음"} |
22
+
23
+ 형식 메모 (프로필 측정값에 딸린 일반 원칙만)
24
+ - {예: 모바일 비중이 높은데 5줄 넘는 문단이 3곳}
25
+ ```
26
+
27
+ 이 목록은 실제 독자 반응이 아니다. 초안이 **확인된 질문**에 답했는지 대조한 것뿐이다.
28
+
29
+ ## 채우지 않는 칸
30
+
31
+ - 도구가 값을 안 준 프로필 항목은 줄 자체를 쓰지 않는다 — "정보 없음" 같은 채움말도 쓰지
32
+ 않는다. 줄이 없어야 그 데이터가 없다는 게 분명하다.
33
+ - 확인된 질문이 하나도 없으면 "확인된 질문 없음"이라고만 쓰고 형식 메모만으로 마친다.
34
+ 질문을 지어내 채우지 않는다.
35
+ - 프로필과 질문이 둘 다 없으면 대조 자체를 하지 않는다 — 근거 없는 대조는 발행 준비가 된
36
+ 듯한 착각을 준다. 무엇이 없어서 못 하는지만 말하고 멈춘다.
@@ -0,0 +1,77 @@
1
+ ---
2
+ name: datalab-research-brief
3
+ description: 웹에서 실제로 읽은 자료만 인용해 조사 리포트를 만든다. 검색 결과 제목만 보고 쓰지 않고 연 페이지의 내용만 근거로 삼는다. "이 주제 조사해줘", "출처 있는 리포트로 만들어줘" 요청에 사용한다.
4
+ license: Proprietary
5
+ metadata:
6
+ tools: search_web, search_news, search_blog, web_read, run_research, kin_question_demand
7
+ ---
8
+
9
+ # 자료 조사 리포트
10
+
11
+ 주제를 받아 **실제로 열어서 읽은 페이지만** 근거로 삼아 조사 리포트를 쓴다. 검색은 후보를
12
+ 찾는 도구고, 인용의 근거는 읽은 것만이다.
13
+
14
+ ## 시작 전에 확인
15
+
16
+ 1. 주제가 명확한가. 모호하면 무엇을 알고 싶은지 한 번 더 묻는다 — 지어내지 않는다.
17
+ 2. 사용자가 이미 자료(URL, 붙여넣은 글)를 줬으면 그것부터 `web_read` 로 확인하고 시작한다.
18
+ 3. 아래 도구가 안 보이면 검색도 읽기도 할 수 없다는 뜻이다. 아는 척하지 않고 "웹에서
19
+ 확인할 수 없다"고 말한 뒤, 사용자가 자료를 붙여넣어 주면 그것으로 진행한다.
20
+
21
+ ## 쓰는 도구
22
+
23
+ - `search_web` · `search_news` · `search_blog` — 후보를 찾는다. **여기 나온 제목과 요약은
24
+ 아직 읽은 것이 아니다.**
25
+ - `web_read` — 후보 중 인용할 만한 것을 실제로 연다. 인용의 유일한 근거.
26
+ - `run_research` — 주제 하나를 통으로 맡겨 후보와 정리를 한 번에 받는다. 결과가 나와도
27
+ 인용 전에 `web_read` 로 각 출처를 확인하는 원칙은 그대로다 — 원문 확인 없이 받은 요약은
28
+ "읽은 것"이 아니다.
29
+ - `kin_question_demand` — 이 주제를 지식iN에서 실제로 몇 명이 묻는지, 셀 수 있는 숫자 하나.
30
+ 관심도를 점수로 매기지 않고 이 숫자만 쓴다.
31
+
32
+ ## 인용 규칙 — 읽지 않은 것은 쓰지 않는다
33
+
34
+ 이 스킬의 핵심은 이것 하나다.
35
+
36
+ - **검색 결과 목록에 뜬 제목·요약만 보고 문장을 쓰지 않는다.** 그건 "이런 게 있다"는
37
+ 목록이지 확인된 내용이 아니다.
38
+ - **`web_read` 로 연 페이지에 실제로 있는 문장만 근거로 인용한다.** 인용할 때마다 그
39
+ 페이지의 제목과 URL을 붙인다.
40
+ - 못 읽은 후보에 대해서는 **아무 말도 하지 않는다.** "~일 것으로 보인다" 처럼 얼버무려
41
+ 쓰지 않는다 — 안 읽었으면 리포트에 없는 것이다.
42
+ - 같은 사실을 서로 다른 페이지 **몇 곳**에서 확인했는지는 숫자로 쓸 수 있다("두 곳에서
43
+ 확인"). 그 이상의 신뢰도·정확도·유사도 점수는 만들 수 없으니 쓰지 않는다.
44
+
45
+ ## 절차
46
+
47
+ **1. 후보를 찾는다.** 주제에 맞는 검색 도구를 고르거나 `run_research` 로 한 번에 받는다.
48
+ 뉴스성 주제면 `search_news`, 블로그 체감 정보면 `search_blog`.
49
+
50
+ **2. 읽는다.** 후보 중 리포트에 넣을 만한 것을 `web_read` 로 연다. 몇 개를 읽을지는 주제
51
+ 크기에 맞춘다 — 한두 곳만 읽고 넓은 주제를 단정 짓지 않는다. **한 요청 안에서 과도하게
52
+ 많은 페이지를 열지 않고, 같은 URL을 다시 열지 않는다.**
53
+
54
+ **3. (선택) 수요를 확인한다.** 이 주제가 실제로 찾아지는 것인지 궁금하면
55
+ `kin_question_demand` 로 질문 수를 확인한다.
56
+
57
+ **4. 리포트를 쓴다.** 틀은 `references/brief-format.md`.
58
+
59
+ ## 검색이 안 될 때
60
+
61
+ 후보가 안 나오거나 `web_read` 가 계속 실패하면 주제어를 한 번 단순화해서 다시 찾아본다.
62
+ 그래도 안 되면 "이 주제는 지금 확인할 수 있는 자료가 없다"고 말한다. 없는 자료를 지어내
63
+ 채우지 않는다. 조건을 계속 완화하며 자동으로 재시도하지 않는다.
64
+
65
+ ## 없는 것 (찾지 마라)
66
+
67
+ - 임의 사이트를 지정해 걸러내는 검색 연산자나 국가별·언어별 가중 검색은 없다. 검색은
68
+ 웹·뉴스·블로그 몇 갈래로 나뉘어 있을 뿐이다.
69
+ - 출처 신뢰도를 점수로 매겨 주는 도구는 없다. 정부·학술·언론 도메인 등급표 같은 것도 이
70
+ 스킬 안에 두지 않는다 — 판단은 읽고 하는 것이다.
71
+ - 관련성·시의성·검증률을 퍼센트로 계산해 주는 도구는 없다.
72
+
73
+ ## 확인
74
+
75
+ - 리포트의 모든 문장에 `web_read` 로 연 출처가 달려 있다
76
+ - 신뢰도·관련성·검증률 같은 점수나 퍼센트가 없다
77
+ - 못 읽은 후보는 리포트에서 아예 빠졌다
@@ -0,0 +1,39 @@
1
+ # 리포트 틀
2
+
3
+ 리포트는 **읽은 것만 옮겨 적은 것**이다. 조사 과정을 보여주는 보고서가 아니라 사용자가
4
+ 바로 쓸 수 있는 요약이다.
5
+
6
+ ## 틀
7
+
8
+ ```
9
+ # {주제} 조사
10
+
11
+ ## 한 줄 요약
12
+ {핵심을 한두 문장으로}
13
+
14
+ ## 확인한 것
15
+ 1. {사실 하나} — [{페이지 제목}]({URL})
16
+ 2. {사실 하나} — [{페이지 제목}]({URL}) · [{다른 페이지 제목}]({URL}) (두 곳에서 확인)
17
+
18
+ ## 못 확인한 것
19
+ - {궁금하지만 읽은 페이지에 없었던 것, 또는 못 읽은 것}
20
+
21
+ ## 수요 (있으면)
22
+ - 지식iN 질문 수: N건
23
+ ```
24
+
25
+ ## 넣지 않는 것
26
+
27
+ 아래는 리포트에 넣지 않는다. 요청받아도 왜 안 되는지 설명한다.
28
+
29
+ | 넣지 않는 것 | 왜 |
30
+ | ------------------------------------------------------ | ---------------------------------------------- |
31
+ | 출처별 신뢰도 점수, 색깔 등급 | 점수를 매길 도구가 없다. 지어낸 숫자가 된다 |
32
+ | 관련성 %, 검증률 %, 평균 신뢰도 | 계산할 방법이 없다. 인용이 같은 일을 더 잘한다 |
33
+ | "품질 보증" · "전문가 검토 완료" 절 | 아무도 검토하지 않았다 |
34
+ | 결과수·기간·언어·지역을 구조화된 양식으로 받는 입력 폼 | 그런 옵션이 없는데 물어보게 된다 |
35
+ | 비교표의 신뢰도 표시 | 표시할 신뢰도 자체가 없다 |
36
+
37
+ ## 길이
38
+
39
+ 리포트가 조사에 쓴 노력보다 길어지면 뭔가 잘못됐다. 확인한 사실 5~10개면 충분하다.
@@ -0,0 +1,70 @@
1
+ ---
2
+ name: datalab-social-repurpose
3
+ description: 긴 글 한 편을 X·Threads·Instagram·LinkedIn 각 분량과 어투에 맞춘 소셜 홍보 초안으로 다시 쓴다. 발행글이나 편집 중인 초안을 SNS 홍보문으로 바꿀 때 사용한다. 참여도 예측이나 게시는 하지 않는다.
4
+ license: Proprietary
5
+ metadata:
6
+ tools: editor_read, editor_read_structure, my_content_read, my_content_detail
7
+ ---
8
+
9
+ # 소셜 공유 초안
10
+
11
+ 블로그 글 한 편을 X·Threads·Instagram·LinkedIn 각각의 분량과 문화에 맞는 카피로 다시
12
+ 쓴다. 복사해서 바로 붙여넣을 수 있는 텍스트가 산출물이다.
13
+
14
+ ## 무엇을 읽고 시작하나
15
+
16
+ 우선순위가 있다.
17
+
18
+ 1. 사용자가 글을 직접 붙여넣었거나 파일 경로를 줬으면 **그것이 원문이다.** 아래를
19
+ 건너뛴다.
20
+ 2. 아니면 데이터랩툴즈 확장에서 읽는다 (아래).
21
+ 3. 둘 다 없으면 원문이 없다. 글을 붙여넣거나 어떤 글인지 말해 달라고 하고 멈춘다.
22
+ **지어내지 않는다.**
23
+
24
+ ## 데이터랩툴즈 확장 연계
25
+
26
+ - `editor_read` · `editor_read_structure` — 지금 네이버 에디터에 열려 있는, 아직 발행
27
+ 전인 초안을 읽는다.
28
+ - `my_content_read` · `my_content_detail` — 이미 발행한 글의 본문을 읽는다. 어떤 글인지
29
+ 특정할 정보(제목·URL 등)가 있어야 찾는다.
30
+
31
+ 이 스킬은 **읽기만 한다.** 위 넷 외에는 아무것도 부르지 않는다 — 글을 고치거나 제목을
32
+ 바꾸는 일은 이 스킬의 몫이 아니다.
33
+
34
+ 확장이 없거나 도구가 안 보이면 1번(붙여넣기)으로 동작한다 — 그것이 실패가 아니라 기본
35
+ 경로다.
36
+
37
+ ### 없는 것 (찾지 마라)
38
+
39
+ - SNS에 **직접 게시하거나 예약하는** 도구는 없다. 산출물은 초안이고 올리는 것은 사용자
40
+ 몫이다.
41
+ - **참여도·도달률을 계산하거나 예측하는** 도구는 없다.
42
+ - **이미지·영상을 만드는** 도구는 이 스킬의 범위가 아니다. 캡션 텍스트만 다룬다.
43
+
44
+ ## 절차
45
+
46
+ **1. 원문에서 핵심을 추린다.** 문단 전체를 압축하지 말고, 이 글이 말하는 핵심 메시지
47
+ 2~4개를 먼저 뽑는다. 나머지는 버려도 되는 디테일이다.
48
+
49
+ **2. 대상 플랫폼을 정한다.** 사용자가 지정했으면 그것만 쓴다. 지정이 없으면
50
+ X·Threads·Instagram·LinkedIn 네 곳 전부를 만든다. 다른 플랫폼은 요청받았을 때만,
51
+ 그리고 요청받아도 텍스트 캡션만 낸다.
52
+
53
+ **3. 플랫폼별로 다시 쓴다.** 분량·어투·해시태그·이모지 관행은
54
+ `references/platform-specs.md`.
55
+
56
+ **4. 정해진 형식으로 낸다.** 틀은 `references/output-format.md`.
57
+
58
+ ## 수치를 지어내지 않는다
59
+
60
+ - **셀 수 있다**: 결과물의 글자수, 해시태그 개수, 이모지 개수. → 세어서 쓴다.
61
+ - **셀 수 없다**: 예상 참여도, 예상 도달률, "이 버전이 더 잘 될 것" 같은 승패 판정,
62
+ 최적 게시 시간대. → **쓰지 않는다.**
63
+
64
+ 두 가지 버전을 요청받으면 **스타일 차이만** 설명하고 점수는 매기지 않는다.
65
+
66
+ ## 길이
67
+
68
+ 플랫폼을 여러 개 한 번에 만들면 답변이 길어진다. 너무 길어질 것 같으면 플랫폼 수를
69
+ 줄이거나("먼저 X·Threads만 드릴게요") 우선순위를 물어본다. 없는 참여도 표를 채워서
70
+ 길이를 벌지 않는다.
@@ -0,0 +1,43 @@
1
+ # 출력 틀
2
+
3
+ 사용자가 그대로 복사해서 붙여넣을 수 있어야 한다. 분석 리포트가 아니라 완성된 카피다.
4
+
5
+ ## 단일 플랫폼
6
+
7
+ ```
8
+ ## [플랫폼명]
9
+
10
+ [캡션 본문]
11
+
12
+ 글자수: N자 / 한도 M자
13
+ 해시태그: #태그1 #태그2 #태그3
14
+ ```
15
+
16
+ ## 여러 플랫폼
17
+
18
+ 플랫폼마다 위 블록을 만들고 `---` 로 구분한다. 맨 끝에 플랫폼별 차이를 한 줄씩 요약해도
19
+ 된다 — 예: "X는 링크 클릭 유도, LinkedIn은 근거 제시 중심으로 톤을 바꿨다." 이건 **작성
20
+ 방침 설명**이지 성과 예측이 아니다.
21
+
22
+ ## 두 가지 버전을 요청받았을 때
23
+
24
+ 버전 A / B 로 나란히 낸다. 차이는 "질문형 후크 vs 사실형 후크"처럼 **선택한 기법**으로
25
+ 설명한다. 어느 쪽이 더 잘 될지는 말하지 않는다 — 판단은 사용자 몫이다.
26
+
27
+ ## 넣지 않는 것
28
+
29
+ 아래는 결과물에 넣지 않는다. 요청받아도 왜 안 되는지 설명한다.
30
+
31
+ | 뺀 것 | 왜 |
32
+ | ----------------------------------------- | -------------------------------------------------------- |
33
+ | "예상 참여도 82/100", 참여 요인 가중치 표 | 측정한 적 없는 수. 매 요청마다 다른 숫자를 지어내게 된다 |
34
+ | "최적 게시 시간대" | 이 계정·이 독자를 관측한 데이터가 없다 |
35
+ | A/B 버전 승자 판정, 개선율 % | 실제로 게시하고 비교한 적이 없다 |
36
+ | 구조화된 JSON 출력 스키마 | 패널은 사람이 읽는 답변만 받는다 |
37
+ | "품질 검증 완료" 배지, 원본 보존율 95% 류 | 아무 기준으로도 검증하지 않았다 |
38
+ | 발행 타임라인 | 이 스킬은 게시하지 않는다 |
39
+
40
+ ## 길이
41
+
42
+ 캡션은 각 플랫폼 글자수 한도를 넘기지 않는다. 넘으면 핵심 메시지를 더 추리거나 여러
43
+ 포스트로 나누라고 제안한다 — 억지로 욱여넣지 않는다.
@@ -0,0 +1,44 @@
1
+ # 플랫폼별 규격
2
+
3
+ 네 플랫폼만 다룬다. 각 항목은 플랫폼의 실제 기술 제한(글자수 한도) 또는 널리 통용되는
4
+ 관행(해시태그·이모지 개수)이다. 관행 수치는 **권장 범위**이지 이 스킬이 측정한 값이
5
+ 아니다 — 규칙처럼 강제하지 말고 참고만 한다.
6
+
7
+ ## X
8
+
9
+ - **글자수**: 한도 280자. 목표 240~280자 — 링크를 넣을 여유를 남긴다.
10
+ - **구조**: 첫 문장에 핵심 메시지. 링크는 맨 끝. 스레드로 나눌 거면 `1/n` 표시.
11
+ - **해시태그**: 1~3개, 문장 안에 자연스럽게 섞거나 끝에.
12
+ - **이모지**: 0~2개, 절제.
13
+ - **어투**: 간결하고 직접적. 존댓말·반말은 원문 어투를 따른다.
14
+
15
+ ## Threads
16
+
17
+ - **글자수**: 한도 500자. 목표 400~500자 — X보다 여유 있게 맥락을 담는다.
18
+ - **구조**: 대화하듯 시작 → 본문 → 커뮤니티에 묻는 질문으로 마무리해도 된다.
19
+ - **해시태그**: 3~5개, 포스트 끝.
20
+ - **이모지**: 2~4개.
21
+ - **어투**: 친근하고 대화체. 열린 질문이 자연스럽다.
22
+
23
+ ## Instagram (캡션)
24
+
25
+ - **글자수**: 한도 2,200자이지만 **첫 125자 안에 후크와 핵심 메시지를 완결**한다 —
26
+ 그 뒤는 "더보기"를 눌러야 보인다.
27
+ - **구조**: 1줄 후크(125자 이내) → 맥락 → 세부 내용 → 해시태그.
28
+ - **해시태그**: 10~15개, 캡션 끝 또는 첫 댓글에.
29
+ - **이모지**: 3~5개, 섹션 구분자로 써도 된다.
30
+ - **어투**: 사진·영상을 전제로 한 보조 텍스트. 이 스킬은 그 이미지를 만들지 않는다.
31
+
32
+ ## LinkedIn
33
+
34
+ - **글자수**: 한도 3,000자. 목표 1,300~1,500자, **첫 140자 안에 후크**.
35
+ - **구조**: 경험이나 사실로 여는 후크 → 맥락 → 근거 → 핵심 요약. 단락 사이 빈 줄.
36
+ - **해시태그**: 3~5개, 끝에. 업계·직무 키워드 중심.
37
+ - **이모지**: 0~1개.
38
+ - **어투**: 격식체, 사례 기반. **원문에 없는 통계·수치를 새로 넣지 않는다** — 원문에
39
+ 있는 숫자만 옮긴다.
40
+
41
+ ## 공통 — 링크
42
+
43
+ 원문에 링크가 있으면 살린다. 없는데 지어내지 않는다. 링크가 없다고 확인되면 "[링크]"
44
+ 같은 자리표시자를 남기고, 실제 URL처럼 보이는 문자열을 만들지 않는다.
@@ -0,0 +1,59 @@
1
+ ---
2
+ name: datalab-tone-manner
3
+ description: 글의 톤앤매너를 분석해 다른 글을 같은 문체로 쓸 수 있는 명세서를 만든다. 문체·말투·톤앤매너·필체 분석, 내 블로그 글투 파악, 경쟁 블로그 문체 비교, "이 사람처럼 써줘" 요청에 사용한다. 데이터랩툴즈 확장이 붙어 있으면 발행글을 직접 읽어 분석한다.
4
+ license: Proprietary
5
+ metadata:
6
+ tools: my_content_info, my_content_read, my_content_detail, my_top_content, blog_search, blog_profile, blog_posts, blog_popular
7
+ ---
8
+
9
+ # 톤앤매너 분석
10
+
11
+ 글 몇 편에서 문체를 뽑아내, 다음 글을 같은 목소리로 쓸 수 있을 만큼 구체적인 명세서를 만든다.
12
+
13
+ ## 무엇을 읽고 시작하나
14
+
15
+ 우선순위가 있다.
16
+
17
+ 1. 사용자가 글을 직접 붙여넣었거나 파일 경로를 줬으면 **그것이 기준이다.** 아래를 건너뛴다.
18
+ 2. 아니면 데이터랩툴즈 확장에서 읽는다 (아래).
19
+ 3. 둘 다 없으면 분석할 것이 없다. 글을 붙여넣어 달라고 하고 멈춘다. **지어내지 않는다.**
20
+
21
+ ## 데이터랩툴즈 확장 연계
22
+
23
+ 쓰는 도구:
24
+
25
+ - `my_content_info` · `my_content_read` · `my_content_detail` — 사용자가 이미 발행한 글의
26
+ 본문
27
+ - `my_top_content` — 어떤 글이 잘 됐는지 (분석 대상 고르기)
28
+ - `blog_search` · `blog_profile` · `blog_posts` · `blog_popular` — 남의 블로그 글
29
+ (문체 비교용)
30
+
31
+ 이 스킬은 **읽기만 한다.** 확장이 없거나 도구가 안 보이면 1번(붙여넣기)으로 동작한다 —
32
+ 그것이 실패가 아니라 기본 경로다.
33
+
34
+ ### 없는 것 (찾지 마라)
35
+
36
+ - 문체를 **적용해서 발행**하는 도구는 없다. 이 스킬의 산출물은 명세서다.
37
+ - 문체 유사도를 **계산해 주는** 도구는 없다. 판단은 읽고 하는 것이다.
38
+
39
+ ## 절차
40
+
41
+ **1. 표본을 모은다.** 3편 이상. 적으면 그렇게 말하고 진행한다 — 한 편으로 뽑은 문체는
42
+ 그 글의 주제에 딸린 것일 뿐이다. 확장에서 읽는다면 성과 좋은 글만 고르지 말고
43
+ **평범한 글을 섞는다.** 잘 된 글만 보면 주제를 문체로 착각한다.
44
+
45
+ **2. 분석한다.** 축은 `references/analysis-dimensions.md`.
46
+
47
+ **3. 명세서를 쓴다.** 틀은 `references/spec-format.md`.
48
+
49
+ ## 수치를 지어내지 않는다
50
+
51
+ 이 분석에서 **셀 수 있는 것과 없는 것이 갈린다.**
52
+
53
+ - 셀 수 있다: 문장 수, 평균 문장 길이, 문단 수, 특정 어미·접속사의 등장 횟수, 어휘 목록.
54
+ → 세어서 쓴다.
55
+ - 셀 수 없다: 격식도 점수, 친근감 비율, 재현 정확도, 유사도 퍼센트.
56
+ → **점수와 퍼센트를 쓰지 않는다.** 대신 근거가 되는 문장을 인용한다.
57
+
58
+ "격식도 7/10" 은 아무것도 말하지 않는다. "문장 끝이 전부 '-습니다' 이고 '저는' 이 한 번도
59
+ 안 나온다" 는 다음 글을 쓸 때 실제로 따를 수 있다. **후자만 쓴다.**
@@ -0,0 +1,51 @@
1
+ # 분석 축
2
+
3
+ 표본을 읽으며 아래를 채운다. **비어 있는 축은 비워 둔다** — 표본에 근거가 없으면 그 축은
4
+ 그 글쓴이의 특징이 아니다.
5
+
6
+ 각 항목은 **인용 한 줄**을 달 수 있을 때만 적는다. 달 수 없으면 관찰이 아니라 인상이다.
7
+
8
+ ## 1. 문장
9
+
10
+ - **길이** — 세어서 적는다. 평균과, 가장 짧은/긴 문장 실물.
11
+ - **끝맺음** — 어미의 실제 분포. `-습니다` / `-해요` / `-다` / 명사 종결 / 물음표.
12
+ 섞여 있으면 **어디서 바뀌는지**가 특징이다 (도입부만 존댓말, 결론에서 반말 등).
13
+ - **길이의 리듬** — 긴 문장 뒤에 짧은 문장을 붙이는가, 고르게 가는가.
14
+ - **연결** — 자주 쓰는 접속사·전환어 목록. 접속사를 안 쓰고 병렬로 늘어놓는 것도 특징.
15
+
16
+ ## 2. 어휘
17
+
18
+ - **되풀이되는 말** — 여러 편에 걸쳐 나오는 단어·표현. 한 편에만 있으면 주제어일 뿐이다.
19
+ - **피하는 말** — 이 주제라면 나올 법한데 한 번도 안 나오는 것. 관찰하기 어렵지만
20
+ 재현할 때 가장 티가 난다.
21
+ - **한자어·외래어·고유어** — 어느 쪽으로 기우는가. 예: "확인" vs "체크" vs "살펴보기".
22
+ - **말버릇** — 군말, 감탄사, 이모지, 괄호 주석, 말줄임표.
23
+
24
+ ## 3. 화자와 독자
25
+
26
+ - **자기를 뭐라 부르나** — 저 / 나 / 우리 / 생략.
27
+ - **독자를 뭐라 부르나** — 여러분 / 님 / ~하시는 분 / 부르지 않음.
28
+ - **거리** — 묻는가, 설명하는가, 함께 가자고 하는가.
29
+ - **단정과 유보** — "~입니다" 와 "~인 것 같아요" 의 비율. 어느 대목에서 유보하는가.
30
+
31
+ ## 4. 문단과 구성
32
+
33
+ - **문단 길이** — 몇 문장인가. 한 문장 문단을 쓰는가.
34
+ - **글의 뼈대** — 결론 먼저인가 마지막인가. 도입이 있는가, 바로 본론인가.
35
+ - **소제목** — 쓰는가. 쓴다면 문장형인가 명사형인가.
36
+ - **목록** — 번호·기호를 쓰는가, 산문으로 늘어놓는가.
37
+ - **강조** — 굵게 / 인용 / 줄바꿈. 무엇으로 강조하는가.
38
+
39
+ ## 5. 재현이 어려운 것
40
+
41
+ 명세서에 **따로 표시**한다. 따라 쓰기 쉬운 것과 어려운 것을 섞어 두면, 쉬운 것만 지켜지고
42
+ 정작 그 사람다움은 빠진 글이 나온다.
43
+
44
+ - 그 사람만의 비유·농담·자기 비하
45
+ - 특정 상황에서만 튀어나오는 표현
46
+ - 글의 흐름을 끊고 들어가는 여담
47
+
48
+ ## 표본이 모자랄 때
49
+
50
+ 3편 미만이면 위 축 중 **1·3 만** 채운다. 어휘와 구성은 주제에 딸려 오는 부분이 커서,
51
+ 표본이 적으면 문체가 아니라 그 글의 소재를 기술하게 된다. 명세서에 그렇게 적는다.
@@ -0,0 +1,58 @@
1
+ # 명세서 틀
2
+
3
+ 명세서는 **다음 글을 쓸 사람(또는 모델)이 읽을 지시서**다. 분석 보고서가 아니다.
4
+ 읽고 나서 무엇을 해야 할지 모르겠으면 그 줄은 빼야 한다.
5
+
6
+ ## 틀
7
+
8
+ ```markdown
9
+ # <이름> 문체 명세
10
+
11
+ ## 한 줄
12
+
13
+ [이 사람 글을 못 읽어 본 사람이 읽고도 흉내 낼 수 있는 한 문장]
14
+
15
+ ## 표본
16
+
17
+ - N편 / 제목 목록
18
+ - 출처: 붙여넣기 | 발행글 읽기
19
+ - [표본이 3편 미만이거나 한 주제에 몰려 있으면 여기 적는다]
20
+
21
+ ## 규칙 — 이대로 쓴다
22
+
23
+ 1. [따를 수 있는 형태로. "문장은 대체로 40자 안쪽, 두 줄을 넘기지 않는다"]
24
+ 2. [...]
25
+ 각 규칙 밑에 **표본에서 가져온 문장 하나**를 붙인다.
26
+
27
+ ## 하지 않는 것
28
+
29
+ - [표본에 한 번도 없는 것 중, 안 적으면 딸려 들어올 만한 것]
30
+ - [예: "이모지를 쓰지 않는다", "'~같아요' 로 끝내지 않는다"]
31
+
32
+ ## 따라 하기 어려운 것
33
+
34
+ - [흉내 내려다 어색해지는 것. 억지로 넣지 말라고 함께 적는다]
35
+
36
+ ## 확인
37
+
38
+ - [ ] 규칙마다 표본 인용이 붙어 있다
39
+ - [ ] 점수·퍼센트가 없다
40
+ - [ ] "하지 않는 것" 이 비어 있지 않다
41
+ ```
42
+
43
+ ## 넣지 않는 것
44
+
45
+ 아래는 명세서에 넣지 않는다. 요청받아도 왜 안 되는지 설명한다.
46
+
47
+ | 뺀 것 | 왜 |
48
+ | ----------------------------------------------------------- | ---------------------------------------------- |
49
+ | "AI 재현 가능성 95%+", "원본과 95% 이상 유사" | 측정한 적 없는 수. 적으면 모델이 사실로 말한다 |
50
+ | 격식도 1-10, 친근감 X% : 전문성 Y% | 세는 방법이 없다. 인용이 같은 일을 더 잘한다 |
51
+ | TTR / MTLD 같은 지수 | 눈으로 못 구한다. 요구하면 지어낸 숫자가 온다 |
52
+ | "품질 보증 인증" 절 (완성도·전문가 검토·프로덕션 적용 가능) | 아무도 검토하지 않았다 |
53
+ | 문서 메타데이터 (파일 크기·형식·작성 시기) | 문체와 무관하고, 추정하면 틀린다 |
54
+
55
+ ## 길이
56
+
57
+ 명세서가 표본보다 길면 뭔가 잘못됐다. 규칙 5~10개면 충분하고, 지킬 수 없는 규칙 20개보다
58
+ 지킬 수 있는 규칙 5개가 낫다.