AI로 블로그 글 X 쓰레드 자동 변환 파이프라인 만들기
지난 회차에서는 터미널 AI 비서인 Claude Code를 활용해 슬릭딜 핫딜 정보를 실시간으로 긁어오고 텔레그램으로 쏘아주는 자동 감시 봇을 구현했습니다. 이번에는 블로그에 정성껏 작성한 장문의 포스팅을 단 1초 만에 X(옛 트위터)에 공유하기 좋은 쓰레드(Thread) 콘텐츠로 변환하는 자동화 파이프라인을 함께 구축해 보겠습니다.
개인 브랜딩이나 트래픽 유입을 위해 SNS 채널 운영은 사실상 필수에 가깝습니다. 다만 매번 수천 자에 달하는 블로그 본문을 X의 글자 수 제한에 맞춰 쪼개고 다듬는 일은 생각보다 손이 많이 갑니다. 터미널 창을 열고 Claude Code에게 말 한마디만 건네면, 외부 API 요금 걱정 없이 로컬 환경에서 5~7개 분량의 쓰레드 초안을 Markdown 파일로 바로 만들어내는 도구를 빌드해 보겠습니다.
오늘 만들 것
오늘 완성할 도구는 특정 블로그 글의 URL을 입력하면 본문 데이터를 안전하게 크롤링한 뒤, X의 140자 제한(한글 기준)에 맞는 5~7개의 트윗 타래로 자동 가공해 주는 Node.js 기반 파이프라인입니다. 단순 요약으로 끝내지 않고, 첫 트윗에는 독자의 호기심을 끌어내는 훅(Hook)을 배치하고, 마지막 트윗에는 원본 블로그 주소와 해시태그를 자연스럽게 붙여주는 구조로 정리합니다. 5분 안에 크롤링 스크립트를 확인하고, 1시간 안에 전체 정제 과정을 자동화해 보겠습니다.

준비물
이번 프로젝트를 진행하기 위해 필요한 것은 하나입니다.
- Claude Code: 컴퓨터 터미널에서 구동 가능한 Anthropic의 공식 CLI 코딩 에이전트입니다. Node.js 환경에서 작동하므로 개발 전에 Node.js(v18 이상)가 설치되어 있어야 합니다.

실전! X 쓰레드 변환 파이프라인 구축하기
프로젝트를 진행할 빈 폴더를 생성하고 터미널에서 claude를 입력해 AI 개발 세션을 활성화합니다. 먼저 블로그 URL을 주면 본문 영역만 골라 텍스트로 가져오는 기능부터 만들어 달라고 요청합니다.
이 요청을 받은 Claude Code는 스스로 npm init -y와 npm install axios cheerio 명령을 터미널에 제안하고, 승인되면 바로 실행합니다. 그다음 주요 태그 구조를 분석해 본문 텍스트를 추출하는 index.js 파일을 만듭니다. 작성이 끝나면 스크립트를 즉석에서 실행해 지정한 테스트 링크의 글 본문이 터미널 창에 깔끔하게 출력되는지 확인할 수 있습니다.
이제 추출한 본문을 트위터 포맷에 맞게 압축하고 가공하는 핵심 로직을 얹을 차례입니다. 로컬 세션 대화창에서 이어서 추가 수정을 요청합니다.
AI는 텍스트를 의미 단위로 나누고 요약하는 함수를 index.js에 자연스럽게 구현해 냅니다. 만약 외부 LLM API 키를 직접 쓰기 번거롭다면, Claude Code 세션 자체에 "이 블로그 텍스트를 줄테니 방금 말한 규칙에 맞게 X 쓰레드로 변환해서 thread.md로 저장해줘"라고 입력해 터미널 대화만으로도 바로 해결할 수 있습니다.
X(트위터)는 글자 수가 1자라도 초과하면 포스팅이 불가능합니다. 완전한 자동화를 위해 스크립트 실행 마지막 단계에 엄격한 글자 수 유효성 검사 장치를 추가합니다.
지시를 내리면 AI 조력자는 thread.md를 읽어 들여 문단별 글자 수를 세고, 문제가 있을 때 경고를 뱉는 유효성 코드를 덧붙여 줍니다. 이를 통해 사람이 일일이 글자 수를 확인하지 않아도 포맷을 안정적으로 유지할 수 있습니다.
블로그 서비스마다 본문을 담고 있는 HTML의 class명이나 ID가 다릅니다. 어떤 링크를 주더라도 오작동하지 않도록 파싱 로직을 더 단단하게 다듬어 줍니다.
대화형 비서는 주요 셀렉터들을 배열로 선언하고 루프를 돌며 유효한 텍스트 영역을 찾는 예외 처리 코드를 반영합니다. 이제 범용성이 살아 있는 튼튼한 포스팅 변환 파이프라인이 완성됩니다.
트러블슈팅: 여기서 막히면 어떻게 하나요?
Q1. 블로그 글을 긁어올 때 403 Forbidden 에러가 뜨거나 빈 화면만 나옵니다.
일부 블로그 플랫폼은 봇의 무단 크롤링을 막기 위해 User-Agent가 없는 단순 HTTP 요청을 차단합니다. Claude Code에게 "axios 요청 시 헤더에 일반적인 브라우저의 User-Agent값을 추가해서 서버를 속이도록 코드를 수정해 줘."라고 말하면 간단히 해결됩니다.
Q2. 글자 수 검증 단계에서 자꾸 140자 초과 경고가 나옵니다.
요약 단계에서 설명이 길어져 제한을 넘길 수 있습니다. 이럴 때는 터미널의 Claude Code 세션에 "thread.md 파일에서 140자가 초과된 문단을 확인하고, 핵심 의미는 유지하되 130자 내외로 다시 축약해서 업데이트해 줘."라고 지시해 직접 수정 작업을 맡기면 손쉽게 정리됩니다.
한 걸음 더 나아가기
기본적인 변환 환경을 정착시켰다면, 다음과 같은 방향으로 시스템을 확장해 보세요.
- 트위터 API 연동: 변환된 thread.md 파일의 내용을 가져와 트위터 개발자 API를 통해 내 X 계정에 타래글로 자동 게시하는 기능 연동하기.
- 카드뉴스용 이미지 생성 프롬프트 추천: 각 트윗 내용 아래에 어울리는 인공지능 이미지 생성용 영문 프롬프트를 자동으로 뽑아 주어 카드뉴스 제작 효율 높이기.
- 로컬 파일 감시 자동화(Watch): 특정 폴더에 블로그 글 링크를 적은 텍스트 파일을 넣기만 하면, 백그라운드 프로그램이 이를 감지해 쓰레드 초안을 자동 생성하는 데몬 구축하기.
이런 글도 있어요
관련 검색어
- 🔍 Vibe Coding 사용법
- 🔍 Vibe Coding 비교
- 🔍 Claude Code 사용법
- 🔍 Claude Code 비교
- 🔍 X 쓰레드 사용법
- 🔍 X 쓰레드 비교