Communitygithub.com

Varnan-Tech/opendirectory

지난주 RSS 피드를 수집하여 Gemini로 주요 기사를 종합하고, Ghost CMS에 뉴스레터 다이제스트를 발행합니다. 필요 시 Substack 등 다른 플랫폼용으로 서식이 지정된 마크다운을 출력합니다.

opendirectory란 무엇인가요?

이 스킬은 개발자가 RSS 피드에서 콘텐츠를 집계하고, Google Gemini를 사용하여 주요 뉴스를 종합한 주간 다이제스트를 생성한 후, Ghost CMS에 초안 또는 발행물로 게시할 수 있게 해줍니다. 주간 라운드업, 주제 집중 분석, 큐레이션 선정 등 여러 다이제스트 형식을 지원하며, Ghost가 설정되지 않은 경우 HTML, 마크다운, 일반 텍스트로 출력할 수 있어 Substack, Notion, Hashnode 등 다양한 플랫폼에서 활용 가능합니다. 기술적으로는 Node.js로 작성된 스크립트를 통해 RSS 피드를 가져오고(rss-parser 사용), Gemini API로 콘텐츠를 합성하며, Ghost Admin API를 통해 게시합니다. 이 스킬은 사실에 기반한 저널리즘을 중시하여, 모든 주장과 통계가 수집된 기사에서 비롯되도록 엄격한 검증 과정을 거칩니다. Claude Code, Cursor, Codex 등 파일 시스템과 명령줄을 지원하는 모든 AI 에이전트 환경에서 사용할 수 있습니다.

지원 대상✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/Varnan-Tech/opendirectory/tree/main/skills/newsletter-digest

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

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

문서

뉴스레터 다이제스트

RSS 피드에서 콘텐츠를 수집하고, Gemini로 주간 주요 기사를 종합하여 Ghost CMS에 다이제스트를 게시합니다. 주간 다이제스트, 주제별 라운드업, 큐레이션 선정 형식을 지원합니다.

작성 스타일

생성된 모든 다이제스트 콘텐츠에 적용:

  • 능동태만 사용
  • 짧은 문장, 한 문장에 하나의 아이디어
  • 줄표( — ) 사용 금지 — 대신 마침표나 쉼표 사용
  • 세미콜론 사용 금지
  • 최종 뉴스레터 본문에 마크다운이나 별표 사용 금지
  • 해시태그 사용 금지

금지어 — 다이제스트에 다음 단어를 사용하지 마십시오: 놀라운, 굉장한, 레버리징, 시너지, 게임 체인저, 게임을 바꾸는, 깊이 파고들다, 활용하다, 잠금 해제, 획기적인, 최첨단, 놀라운, 패러다임, 혁명, 파괴적, 변혁적, 기쁘다, 공유하게 되어 기쁩니다, 강력한, 혁신적인, 포괄적인, 실행 가능한, 중요한, 필수적인, 중추적인, 명확히 하다, 이용하다, 깊이 탐구하다, 태피스트리, 조명하다, 혁명화

중요 규칙

다이제스트에 있는 모든 주장, 통계, 요약은 가져온 기사에서 비롯되어야 합니다. 데이터 포인트, 인용문, 사실을 절대 조작하지 마십시오. 원본 기사에 의미 있는 내용이 없으면 건너뜁니다.


1단계: 설정 확인

1a. 피드가 구성되었는지 확인

스킬 디렉토리에 feeds.json이 있는지 확인합니다:

ls /Users/ksd/Desktop/Varnan_skills/newsletter-digest/feeds.json 2>/dev/null

없으면 사용자에게 묻습니다: "어떤 RSS 피드를 모니터링해야 할까요? URL 목록을 공유해 주시면 feeds.json을 생성하겠습니다."

형식은 다음과 같습니다:

[
  { "url": "https://example.com/feed", "name": "출처 이름" },
  { "url": "https://another.com/rss", "name": "다른 출처" }
]

1b. 필요한 환경 변수 확인

다음이 설정되어 있는지 확인합니다:

  • GEMINI_API_KEY (필수): 합성용
  • GHOST_URL 및 GHOST_ADMIN_KEY (Ghost 게시에 필요, 출력 전용이면 선택 사항)

GEMINI_API_KEY가 없으면 중단하고 사용자에게 설정하도록 요청합니다.

GHOST 구성은 선택 사항입니다. 설정되지 않은 경우 스킬은 서식이 지정된 마크다운을 출력하고 게시하지 않습니다.

1c. 스크립트 종속성 확인

ls /Users/ksd/Desktop/Varnan_skills/newsletter-digest/node_modules 2>/dev/null | head -1

없으면:

cd /Users/ksd/Desktop/Varnan_skills/newsletter-digest && npm install

2단계: 피드 가져오기 및 파싱

가져오기 스크립트를 실행합니다:

node /Users/ksd/Desktop/Varnan_skills/newsletter-digest/scripts/fetch-feeds.js

스크립트는:

  • feeds.json에서 피드 목록을 읽습니다
  • rss-parser를 사용하여 각 피드를 가져옵니다
  • 지난 7일 동안 게시된 항목을 필터링합니다
  • URL로 중복을 제거합니다
  • 게시 날짜 기준으로 정렬하며 최신 항목이 먼저 옵니다
  • 결과를 /tmp/newsletter-digest-articles.json에 저장합니다

특정 피드에서 오류가 발생하면 경고를 기록하고 계속 진행합니다. 하나의 잘못된 피드가 실행을 중단시키지 않습니다.

스크립트 완료 후 출력을 확인합니다:

node -e "
const fs = require('fs');
const data = JSON.parse(fs.readFileSync('/tmp/newsletter-digest-articles.json', 'utf8'));
console.log('총 기사 수:', data.articles.length);
console.log('피드별:', data.feedsSummary.map(f => f.name + ': ' + f.count).join(', '));
console.log('날짜 범위:', data.dateRange.from, '~', data.dateRange.to);
"

3개 미만의 기사가 발견되면 사용자에게 경고하고 날짜 범위를 14일로 연장할지 묻습니다. 스크립트에 --days=14를 전달하여 범위를 넓힙니다.


3단계: 형식 규칙 읽기

콘텐츠를 생성하기 전에 references/digest-format.md를 전체적으로 읽으십시오. 다음을 내면화합니다:

  • 세 가지 다이제스트 형식 (주간 라운드업, 주제 집중 분석, 큐레이션 선정) 및 각각을 사용해야 하는 경우
  • 형식별 섹션 구조 및 길이 요구 사항
  • 출처 표시 규칙 (모든 주장은 출처에 연결됨)
  • 어조 및 음성 지침

references/output-template.md를 읽고 요청된 형식과 일치하는 템플릿을 선택합니다.

사용자가 형식을 지정하지 않은 경우 기본값은 주간 라운드업입니다.


4단계: Gemini로 합성

/tmp/newsletter-digest-articles.json을 읽고 합성 프롬프트를 작성합니다.

프롬프트 구조:

당신은 이번 주 주요 기사를 요약하는 뉴스레터 편집자입니다.

출처 (이것만 사용하십시오 — 사실을 조작하지 마십시오):
[각 기사에 대해: 제목 | 출처 | 날짜 | 요약]

작업:
다음 구조를 따르는 [형식] 다이제스트를 작성하십시오:
[references/output-template.md에서 선택한 템플릿 붙여넣기]

규칙:
- 모든 주장, 통계, 인용문은 위의 출처에서 가져와야 합니다
- 능동태, 짧은 문장으로 작성하며 축약형 사용이 허용됩니다
- 다음 단어를 사용하지 마십시오: 놀라운, 굉장한, 레버리징, 게임 체인저, 깊이 파고들다, 획기적인, 최첨단, 혁명화
- 줄표( — ) 사용 금지, 세미콜론 사용 금지, 해시태그 사용 금지
- 각 주요 주장 뒤에 [출처: 이름](URL) 출처 표시를 포함하십시오
- HTML 제목 태그만 사용하여 일반 텍스트를 출력하십시오 (마크다운 별표 사용 금지)

이 프롬프트로 Gemini를 호출합니다. 대상 모델: gemini-2.0-flash 또는 최신 사용 가능한 모델.

응답에 금지어나 출처 기사에 없는 통계가 포함된 경우 더 엄격한 프롬프트로 재생성합니다.


5단계: 자체 품질 검사

제시하기 전에 모든 검사를 실행합니다. 먼저 위반 사항을 수정합니다.

  • 모든 주장, 통계, 인용문이 출처 기사로 추적 가능함
  • 어떤 섹션에도 금지어 없음
  • 텍스트에 줄표 없음
  • 텍스트에 세미콜론 없음
  • 모든 섹션에 URL이 있는 최소 하나의 출처 표시 있음
  • 단어 수가 형식의 목표 범위 내에 있음 (references/digest-format.md 참조)
  • 동일한 스토리가 두 번 반복된 섹션 없음
  • 제목이 구체적임 (날짜 범위 또는 발행 번호 포함, "주간 다이제스트"만으로는 안 됨)
  • HTML 출력이 유효함 (Ghost 게시 시 닫히지 않은 태그 없음)

사용자에게 제시하기 전에 모든 위반 사항을 수정합니다.


6단계: 서식 지정 및 미리보기

다음 순서로 사용자에게 다이제스트를 제시합니다:

  1. 제목 — 발행 날짜 범위 또는 주제
  2. 다이제스트 내용 — 전체 서식이 지정된 텍스트
  3. 출처 목록 — 사용된 모든 기사와 URL
  4. 단어 수 및 기사 수

질문: "Ghost에 초안으로 게시할 준비가 되셨습니까, 아니면 먼저 편집하시겠습니까?"


7단계: Ghost에 게시 또는 출력

GHOST_URL 및 GHOST_ADMIN_KEY가 설정되어 있고 사용자가 확인한 경우:

게시 스크립트를 실행합니다:

node /Users/ksd/Desktop/Varnan_skills/newsletter-digest/scripts/ghost-publish.js \
  --title "다이제스트_제목" \
  --status "draft"

스크립트는 /tmp/newsletter-digest-output.json(6단계에서 에이전트가 작성)을 읽고 Ghost에 게시합니다.

게시 후 스크립트는 초안의 Ghost 관리자 URL을 반환합니다. 이를 사용자에게 제시합니다: "초안이 다음 URL에 저장되었습니다: [URL]. Ghost 대시보드에서 검토하고 게시하십시오."

사용자가 즉시 게시하려면 스크립트에 --status "published"를 전달합니다.

Ghost가 구성되지 않았거나 사용자가 "출력 전용"이라고 말한 경우:

세 가지 형식으로 다이제스트를 출력합니다:

  1. HTML — 모든 CMS에 붙여넣을 준비 완료
  2. 마크다운 — Substack, Notion, Hashnode용
  3. 일반 텍스트 — 이메일 클라이언트용

추가: "Substack은 공개 API를 제공하지 않습니다. 마크다운 버전을 Substack 편집기에 직접 복사하여 붙여넣으십시오."


Substack 참고 사항

Substack에는 공개 API가 없습니다. 내부 엔드포인트를 리버스 엔지니어링하지 않고는 프로그래밍 방식 게시가 불가능하며, 이는 이용 약관을 위반합니다. 이 스킬은 Substack 편집기에 붙여넣을 준비가 된 서식 지정 마크다운 다이제스트를 출력합니다. 이것이 올바른 접근 방식입니다.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

Varnan-Tech/opendirectory

Use when the user asks to generate a blog cover image, thumbnail, or article header. Automatically uses modern typography, brand logos, and Google Search grounding to create beautiful 16:9 images with Gemini 3.1 Flash Image Preview.

Varnan-Tech/opendirectory

World-class brand strategist and naming expert. Uses an interrogation-led discovery phase to extract your brand's DNA, then applies scientific naming frameworks (Phonosemantics) and automated multi-TLD domain checking.

Varnan-Tech/opendirectory

Use when the user asks to generate or update a project's CLAUDE or AGENTS context file from a codebase scan. Writes a focused file under 100 lines containing only the non-obvious build commands, conventions, and gotchas Claude Code needs.

Varnan-Tech/opendirectory

Use when the user wants to verify cold emails, enrich a lead list, or autonomously guess email addresses from a CSV using ValidEmail.co or the open-source Reacher engine.

Varnan-Tech/opendirectory

Competitive intelligence orchestrator tracking companies across 8+ platforms (GitHub, Twitter, Reddit, HN, PH, YC Jobs) with heat scores and AI briefings.

Varnan-Tech/opendirectory

Give it your product URL or description. It finds your top 5 competitors, runs three-track PR research across all of them (editorial, podcasts, communities), identifies which channels appear most frequently, looks up the journalist or host for each, and returns a tiered outreach list with story angles and ready-to-send cold pitch drafts tailored to your product. Use when asked to find PR opportunities, discover where competitors got featured, build a media outreach list, find which journalists cover my space, or get pitch templates for press coverage.

Varnan-Tech/opendirectory

Generate high-converting, deep-dive growth case studies in MDX format. Use this skill when asked to write a case study or blog post about a company's growth, tech stack, or product-led strategy. It handles the full pipeline (researching the company via Tavily, generating a 16:9 cover image, quality checking the draft, uploading assets to cloud storage, and pushing directly to the target repository).

Varnan-Tech/opendirectory

Scans your project for outdated npm, pip, Cargo, Go, or Ruby packages. Runs a CVE security audit. Fetches changelogs, summarizes breaking changes with Gemini, and opens one PR per risk group (patch, minor, major). Includes Diagnosis Mode for install conflicts. Use when asked to update dependencies, check for outdated packages, open dependency PRs, scan for package updates, audit for CVEs, or flag breaking changes in upgrades. Trigger when a user says "check for outdated packages", "update my dependencies", "open PRs for dependency updates", "scan for CVEs", or "which packages need upgrading".

Varnan-Tech/opendirectory

Generates and updates README.md and API reference docs by reading your codebase's functions, routes, types, schemas, and architecture. Uses graphify to build a knowledge graph first, then writes accurate docs from it. Use when asked to write docs, generate a README, document an API, update stale docs, create an API reference from code, add an architecture section, or document a project in any language. Trigger when a user says their docs are missing, outdated, or wants to document their codebase without writing it manually.

Varnan-Tech/opendirectory

Evaluates expired domain candidates against a target niche, scores them by topical relevance, historical activity level, and history cleanliness, then outputs a ranked shortlist with explainable reasoning and risk flags.

Varnan-Tech/opendirectory

Brutally honest developer-experience audit for a GitHub repo. Scores 10 DX dimensions (time-to-first-success, README clarity, visual proof, install, quick-start, docs, examples, community, trust, marketing), writes a shareable roast in the requested tone (brutal/honest/kind), produces a prioritized action plan ranked by impact × effort, and sketches an ideal README. Trigger when user says "roast my repo", "audit my README", "dx audit", "developer experience review", "score my GitHub project", "before launch checklist", or "make my repo shareable".

Varnan-Tech/opendirectory

Drafts and designs a complete HTML email newsletter from a topic or content brief. Outputs paste-ready HTML for Loops, Mailchimp, Beehiiv, Resend, or any standard email platform. Includes subject line options and plain-text fallback. Trigger when a user says "write a newsletter", "draft an email newsletter", "create an HTML email", "design an email for my subscribers", or "write a newsletter about [topic]".

Varnan-Tech/opendirectory

Takes a GitHub PR URL or the current branch and writes a plain-English explanation of what it does and why, then posts it as a PR comment. Use when asked to explain a PR, summarize a pull request, write a plain-English description of a PR, add a summary comment to a PR, or understand what a PR changes. Trigger when a user says "explain this PR", "summarize this pull request", "what does this PR do", "add a comment explaining the PR", or shares a GitHub PR URL and asks what it does.

Varnan-Tech/opendirectory

Audit how often LLMs recommend your brand vs competitors and generate a GEO action plan.

Varnan-Tech/opendirectory

Takes a competitor's public GitHub repo URL, fetches their open issues via the GitHub REST API, filters noise locally, clusters issues into 6 demand categories, computes a demand score per issue and per cluster, and outputs a ranked demand gap report with a GTM messaging brief. Use when asked to scan a competitor's GitHub issues, find what their users are begging for, turn GitHub complaints into product positioning, identify competitor feature gaps, or generate messaging from real user demand. Trigger when a user says "scan competitor issues", "what are users asking for on X repo", "find demand gaps in Y", "turn GitHub issues into messaging", or "what should I build based on competitor complaints".

Varnan-Tech/opendirectory

Find recurring confusion in your repo's GitHub Discussions, rank it by urgency, and draft the actual docs fixes and content angles — with verbatim community quotes and source links as evidence.

Varnan-Tech/opendirectory

SEO keyword research workflow for blog generation using Google Trends data. Use when writing blog posts, planning content calendars, or optimizing articles for search engines. Finds breakout keywords, builds content structure, and generates SEO-optimized blog outlines targeting tech and developer audiences.

Varnan-Tech/opendirectory

Generates a professionally designed case study PDF for B2B SaaS sales and marketing. Supports 7 page layouts, 9 style presets, 1-4 page output. Trigger when user says "create a case study", "write a customer story", "make a case study PDF", "design a success story", "turn this customer win into a PDF".

Varnan-Tech/opendirectory

Generates data visualization charts (bar, line, area, pie, doughnut, scatter, radar, treemap) as PNG using Apache ECharts v6. 1080×1080px default, 5 style presets, highlight annotations. Trigger when user says "create a chart", "visualize data", "make a bar chart", "line graph", "pie chart", "data visualization", "chart this data", "plot", "graph", or "visualize these numbers".

Varnan-Tech/opendirectory

Fetches low-star App Store and Google Play reviews, clusters them into broken-promise patterns, and generates a ranked copy brief with positioning opportunities.

관련 스킬