Community라이팅 & 에디팅github.com

kingadow/blog-pipeline

자체 사이트를 위한 블로그 게시물을 작성합니다. 실제 검색 데이터에서 주제를 선정하고, 브리핑을 작성하며, 모든 사실을 확인하고, 사용자의 어조로 초안을 작성하며, 1200x630 추천 이미지를 만들고, 빌드 시스템이 인식하는 프론트매터와 함께 사이트의 콘텐츠 폴더에 게시물을 배치합니다.

blog-pipeline란 무엇인가요?

이 스킬은 개인 블로그 사이트를 운영하는 개발자 및 기술 작가를 위해 설계된 완전한 블로그 게시물 파이프라인입니다. 프로젝트 루트에 있는 `BLOG.md` 파일에서 사이트 정보, 독자 프로필, 글쓰기 어조, 금지어, 카테고리, 게시 빈도 및 프론트매터 계약을 먼저 읽습니다. 그런 다음 1) 아이디어 발굴(실제 검색 데이터 활용), 2) 브리핑 작성, 3) 연구 수행(사실 확인 및 문서 검증), 4) 사용자의 어조로 초안 작성, 5) 1200x630 이미지 생성, 6) 게시(Publish)의 6단계로 구성됩니다. 각 게시물은 `posts/<YYYY-MM-DD>-<slug>/` 폴더에 저장되며, 단계별로 파일이 생성되므로 중간부터 다시 실행하거나 중단했다가 나중에 이어서 작업할 수 있습니다. 특히 기존 게시물 중 이미 노출이 되고 있지만 클릭이 없는 경우 '새로고침' 모드를 지원하여 적은 노력으로 더 큰 가치를 창출할 수 있습니다. 모든 사실과 출처는 검증 가능해야 하며, 사용자가 검토하기 전까지는 게시물이 `draft: true` 상태로 유지됩니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/kingadow/blog-md/tree/HEAD/skills/blog-pipeline

Installed? Explore more 라이팅 & 에디팅 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

블로그 파이프라인

얻을 수 있는 것: 실제 검색 요구에 답하는 게시물입니다. 당신의 어조로 작성되었으며, 확인된 사실, 1200x630 크기의 이미지, 유효한 프론트매터를 포함하여 자체 폴더에서 당신의 검토를 기다리고 있습니다.

가장 먼저 할 일: 프로젝트 루트에 작성된 BLOG.md 파일을 넣으세요 (템플릿은 이 저장소에 있습니다). 모든 단계에서 이 파일을 읽습니다.

매번 먼저 읽을 것

  1. 프로젝트 루트의 BLOG.md: 사이트, 독자, 목표, 어조, 피해야 할 단어, 카테고리, SEO 및 이미지 규칙, 프론트매터 기본값, 수정 목록. BLOG.md와 이 스킬이 충돌할 경우 BLOG.md가 우선합니다.
  2. 프론트매터를 작성하기 전에 references/frontmatter-contract.md를 읽으십시오.
  3. 현재 실행 중인 단계의 참조 파일만 읽고, 필요하지 않은 다른 것은 읽지 마십시오.

BLOG.md가 아직 없습니까? 중단하고 하나를 만들겠다고 제안하십시오. 사용자의 기존 게시물이나 페이지 3~5개를 읽고, 템플릿의 각 섹션에 있는 질문을 한 후, 파일을 작성하고 사용자에게 확인을 요청하십시오. BLOG.md 없이 작성된 게시물은 특정 누군가의 글이 아닌 것처럼 들립니다.

작동 방식

블로그 게시물은 누군가가 Google에 입력하는 내용에 대한 답변입니다. 지식은 강연, 뉴스레터 또는 고객 통화에서 나올 수 있습니다. 게시물은 하나의 검색어를 중심으로 재구성됩니다: 검색어와 일치하는 제목, 상단 근처에 있는 답변, 사람들이 검색하는 방식으로 표현된 제목.

새로 쓰기 전에 새로고침하세요. 기존 게시물이나 페이지가 이미 해당 검색어를 타겟팅하고 있는지 확인하십시오. Google에서 이미 노출되고 있지만 클릭이 없는 게시물은 처음부터 새로 작성하는 게시물보다 가치가 있으며, 작업량은 극히 일부에 불과합니다. 하나의 검색어를 두 개의 페이지가 타겟팅하면 보통 둘 다 손해를 봅니다.

작업 폴더

사용자 프로젝트 내의 posts/<YYYY-MM-DD>-<slug>/ 폴더당 하나의 게시물입니다. 날짜는 예정된 게시일입니다. 슬러그는 최종 주소이자 파일 이름입니다. 각 단계는 폴더에 하나의 파일을 쓰므로, 폴더가 메모리 역할을 합니다: 이전 단계를 다시 실행하지 않고도 모든 단계를 다시 실행하거나 나중에 이어서 작업할 수 있습니다.

#단계읽기쓰기지침
1아이디어 발굴BLOG.md, 검색 데이터, 기존 게시물 및 페이지posts/_ideas/topic-ideas.mdreferences/01-ideation.md
2브리핑하나의 주제brief.mdreferences/02-brief.md
3연구brief.mdresearch.mdreferences/03-research.md
4초안research.md, brief.md, BLOG.mddraft.mdreferences/04-draft.md
5시각 자료draft.mdvisuals.md, <slug>.svg, <slug>.pngreferences/05-visuals.md
6게시draft.md, visuals.mdsrc/content/blog/의 게시물, public/images/blog/의 이미지, publish.mdreferences/06-publish.md

전체 체인: 하나의 주제에 대해 2~6단계를 순서대로 진행합니다. 1단계는 배치 단계입니다: 아이디어 목록이 부족해지면 실행하며, 주간 게시 주기라면 대략 한 달에 한 번 정도 실행합니다.

"내 첫 게시물 계획" (또는 "내 다음 게시물 계획"): 1단계 후 2단계를 진행합니다. 아이디어 발굴을 실행하고, 후보 목록을 보여준 후 사용자가 하나의 주제를 선택하게 합니다 (1위일 필요는 없으며, 선택과 이유를 topic-ideas.md에 기록합니다). 그런 다음 브리핑을 작성합니다. 브리핑 후 중단하고 다음 단계가 무엇인지 알려줍니다. 사용자가 "주제 아이디어 찾기"를 요청하면 1단계만 실행하고, "<주제>에 대한 브리핑 작성"을 요청하면 2단계만 실행합니다.

단일 단계: 사용자가 단계와 게시물을 지정합니다. 해당 단계의 파일과 입력을 읽고 나머지는 건너뜁니다.

새로고침: 1단계와 2단계를 건너뜁니다. posts/<오늘-날짜>-<slug>-refresh/ 폴더를 만들고, 새로고침 모드로 3단계와 4단계를 실행한 후 6단계를 실행합니다.

위의 경로는 시작 사이트의 경로입니다. BLOG.md에 다른 폴더가 나열되어 있으면 해당 폴더를 사용하십시오.

규칙

이 규칙은 모든 단계 파일을 재정의합니다. BLOG.md는 추가 규칙을 더할 수 있습니다.

  1. 출처, 통계, 인용문 또는 링크를 절대 만들어 내지 마십시오. 게시물의 모든 URL은 연구 중에 열렸습니다. 확인할 수 없는 주장은 삭제하거나 사용자가 확인할 수 있도록 [확인되지 않음]으로 표시합니다. 사용자 자신의 경험은 사용자의 것임을 표시할 때 출처로 간주됩니다. 사용자 작업의 수치는 프로젝트에 파일이 있거나 research.md(3단계)에 기록된 날짜가 있는 채팅 인용문이 필요합니다. 그렇지 않으면 [확인되지 않음]으로 표시되고 게시된 파일에는 포함되지 않습니다.
  2. 도구와 플랫폼에 대한 사실은 최신 문서와 비교하여 확인하십시오. 기능과 제한 사항은 변경되며, 작년의 방법론은 오늘날 종종 잘못되었습니다.
  3. 검색 수치는 데이터이거나 그렇게 표시되어야 합니다. 볼륨과 난이도는 누군가가 실행한 도구에서 날짜와 함께 제공되거나, 파일에 "추정되지 않음"이라고 표시됩니다. 데이터로 제시된 추측 숫자는 숫자가 없는 것보다 나쁩니다.
  4. 사용자는 모든 초안을 게시 전에 검토합니다. 새 게시물은 draft: true를 얻습니다. 스킬은 절대 푸시, 배포 또는 자체적으로 draft를 변경하지 않습니다. 유일한 예외는 라이브 게시물의 새로고침으로, draft: false를 유지합니다 (6단계 참조).
  5. 승인: 시기, 방법, 수정 사항이 적용되는 위치. 이것이 스킬이 이를 정의하는 유일한 장소입니다. 6단계가 이를 따릅니다.
    • 시기: 6단계가 게시 파일을 작성하고 사용자가 게시물을 읽은 후 언제든지. 같은 세션도 괜찮습니다.
    • 방법: 한 가지 변경. 사용자가 src/content/blog/<slug>.md에서 draft: false를 설정하거나 Claude에게 지시합니다. 동시에 date가 게시일인지 확인합니다.
    • 수정 사항이 적용되는 위치: 6단계 전에는 posts/<folder>/draft.md에 있습니다. 6단계 후에는 게시된 파일에만 있습니다. draft.md는 전달된 초안 상태로 유지되며, publish.md는 그 이후에 이루어진 각 변경 사항을 나열합니다.
    • 지연시키는 요소: 날짜 전에 해야 할 일 (누락된 페이지, [확인되지 않음] 주장, 링크 감사에서 출력된 줄)이 있으면 완료될 때까지 게시물을 draft: true로 유지합니다.
  6. 날짜는 게시 관문입니다. 시작 사이트는 미래 날짜의 게시물을 해당 날짜까지 숨기고 '예정 게시물' 아래에 나열합니다.
  7. 고객 작업은 고객이 이름 공개에 동의하지 않는 한 익명으로 유지됩니다. 이름을 제거하는 것이 시작입니다: 여전히 식별할 수 있는 카테고리, 장소 및 시기의 조합을 확인하십시오 ("3월에 시작한 버몬트의 양초 가게"는 이름입니다). 수익을 비율이나 백분율로 변환하십시오.
  8. 답변을 먼저 제시하십시오. 독자가 자신의 작업에서 인식할 수 있는 맥락 한 박자, 그 다음 세 번째 문단 끝까지 답변. 질문으로 게시물을 시작하지 마십시오.
  9. 검색어에 맞게 작성하고, 하나의 클릭 유도 문구를 사용하십시오. 사람들이 검색하는 방식으로 표현된 제목, 숫자에 대한 숫자 표기, 짧은 문단. 주요 행동은 BLOG.md 섹션 3에 있는 것이며, 이는 src/site.config.mjs의 cta와 일치합니다. 시작 사이트는 모든 게시물 끝에 해당 버튼과 구독 상자를 표시하므로, 본문에 마무리 클릭 유도 문구 링크가 필요하지 않습니다. 본문은 주요 행동에 한 번만, 텍스트 내에서, 게시물에 적합한 경우에만, 존재하는 페이지나 cta 주소로만 링크할 수 있습니다.
  10. 게시물 게시일에 라이브 상태인 페이지에만 링크하십시오. 즉, 사이트 자체 도메인, 게시물 및 페이지에 대한 모든 링크가 이에 해당합니다. 자체 사이트 링크는 상대 링크 (/about/)로 작성하십시오. 6단계에서 확인합니다.
  11. 어조는 사용자의 것입니다. 모든 규칙을 통과했음에도 낯선 사람이 작성한 유능한 콘텐츠처럼 읽히는 초안은 실패한 것입니다.

수정 사항은 규칙이 됩니다

사용자가 같은 내용을 두 번 수정하면 (단어, 시작 방식, 제목 스타일), BLOG.md의 수정 사항 섹션에 날짜가 있는 줄을 추가하겠다고 제안하십시오. 4단계는 모든 초안 작성 전에 해당 섹션을 읽으므로, 한 번 수정된 사항은 계속 유지됩니다.

초안 인계 전

BLOG.md의 "피해야 할 단어"에 있는 모든 단어를 초안에서 검색하십시오. 예를 들어:

grep -n -i -E "단어 하나|단어 둘|—" posts/<폴더>/draft.md

단어 검색은 문장 형태를 놓칠 수 있습니다. 4단계에서 형태 검색("단어 검색이 놓치는 형태")을 실행한 다음, BLOG.md에 나열되어 있지만 어떤 검색도 포착하지 못하는 형태(예: 시작 질문 또는 마무리 요약)에 대해 초안을 한 번 읽으십시오. 또한 모든 사실 문장을 research.md와 대조하여 확인하십시오 (4단계).

그런 다음 사용자에게 몇 줄로 알려주십시오: 초안 위치, 타겟 검색어, 예정 날짜, [확인되지 않음]으로 표시된 모든 내용, 기밀 유지 관련 질문, 그리고 결정해야 할 사항.

선택 사항: 뉴스레터 버전

사용자가 뉴스레터(Substack, Beehiiv, Kit 등)도 발행하는 경우, 동일한 지식을 거기에도 사용할 수 있습니다. 뉴스레터 버전에 자체 제목과 자체 검색어를 부여하여 두 페이지가 Google에서 경쟁하지 않도록 하고, 뉴스레터 아카이브를 1단계와 2단계의 중복 확인에 추가하십시오.

도구

Claude Code 또는 프로젝트 파일에 접근할 수 있는 Claude. 검색 데이터는 무료 도구에서 제공됩니다: Google 자동 완성, Google Search Console, 무료 Ubersuggest 플랜 및 1페이지에 대한 일반 Google 검색. 도구가 연결되어 있지 않으면 사용자에게 보이는 내용을 붙여넣도록 요청하거나 (Ubersuggest는 웹 사이트에서 잘 작동합니다), 숫자를 추정되지 않음으로 표시하십시오. 데이터도 도구도 없는 새 사이트도 진행할 수 있습니다: references/01-ideation.md에 방법이 있습니다.

이 세션에서 웹 접근 권한 없음: 1단계는 가지고 있는 증거를 바탕으로 아이디어 순위를 매기고 나머지는 "확인되지 않음"으로 표시합니다. 사용자는 브리핑이 승인되기 전인 2단계에서 자신이 선택한 하나의 타겟 검색어에 대한 자동 완성 제안과 1페이지를 붙여넣습니다. 전체 후보 목록에 대해 붙여넣는 사람은 아무도 없습니다. BLOG.md와 게시물 폴더에 API 키를 보관하지 마십시오.

관련 스킬