Communitygithub.com

Varnan-Tech/opendirectory

過去1週間のRSSフィードを集約し、Geminiでトップニュースを要約して、ニュースレター形式でGhost CMSに公開します。Substackなど他プラットフォーム向けのMarkdown出力にも対応。

opendirectory とは?

このスキルは、複数のRSSフィードから記事を取得し、Gemini AIを使用して週次ダイジェストを作成し、Ghost CMSに公開するプロセスを自動化します。開発者やコンテンツクリエイターが、手動で記事を収集・編集する手間を省き、一貫性のあるニュースレターを定期的に発行できるようにします。対応プラットフォームはGhost CMSへの直接公開と、Substack、Notion、Hashnodeなど任意のCMSに貼り付け可能なMarkdown・HTML・プレーン テキスト出力です。スキルは3つのフォーマット(Weekly Roundup、Topic Deep Dive、Curated Picks)をサポートし、feeds.jsonでRSSフィードを設定し、GEMINI_API_KEYでGeminiによる要約を実行します。Ghost CMS用の環境変数が設定されていれば自動公開も可能です。また、すべての主張・統計・引用は取得した記事に基づく必要があり、架空のデータ挿入を防ぐ厳格なルールが適用されます。

対応✓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つのアイデア
  • ダッシュ(—)は使用禁止 — 代わりにピリオドまたはカンマを使用
  • セミコロンは使用禁止
  • 最終的なニュースレター本文ではマークダウンやアスタリスクを使用しない
  • ハッシュタグは使用禁止

禁止ワード — ダイジェストで以下の単語を使用しない: 信じられない、素晴らしい、活用する、シナジーを生む、革新的、ゲームチェンジャー、深く掘り下げる、活用する、解き放つ、画期的、最先端、注目すべき、パラダイム、革命を起こす、破壊的、変革をもたらす、興奮している、共有できることを嬉しく思う、パワフル、革新的、包括的、実用的、重要な、不可欠な、極めて重要な、明らかにする、活用する、深く掘り下げる、タペストリー、照らし出す、革命を起こす

重要ルール

ダイジェスト内のすべての主張、統計、要約は、取得した記事に基づいていなければなりません。データ、引用、事実を捏造してはなりません。ソース記事に意味のあるコンテンツがない場合は、スキップしてください。


ステップ 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": "Source Name" },
  { "url": "https://another.com/rss", "name": "Another Source" }
]

1b. 必要な環境変数が設定されているか確認

以下が設定されているか確認:

  • GEMINI_API_KEY (必須): 要約用
  • GHOST_URL と GHOST_ADMIN_KEY (Ghost公開に必須、出力のみの場合は任意)

GEMINI_API_KEYがない場合は停止し、ユーザーに設定を依頼する。

Ghostの設定は任意です。設定されていない場合、スキルは公開ではなくフォーマット済みMarkdownを出力します。

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 に保存

特定のフィードでエラーが発生した場合、警告をログに記録して続行します。1つの不良フィードがあっても実行は停止しません。

スクリプト完了後、出力を確認:

node -e "
const fs = require('fs');
const data = JSON.parse(fs.readFileSync('/tmp/newsletter-digest-articles.json', 'utf8'));
console.log('Total articles:', data.articles.length);
console.log('From feeds:', data.feedsSummary.map(f => f.name + ': ' + f.count).join(', '));
console.log('Date range:', data.dateRange.from, 'to', data.dateRange.to);
"

3件未満の記事しか見つからない場合、ユーザーに警告し、日付範囲を14日に延長するかどうか尋ねます。スクリプトに --days=14 を渡して範囲を広げます。


ステップ 3: フォーマットルールの読み込み

コンテンツを生成する前に、references/digest-format.md をすべて読んでください。以下を内部化:

  • 3つのダイジェスト形式 (Weekly Roundup, Topic Deep Dive, Curated Picks) とそれぞれの使用条件
  • 形式ごとのセクション構成と長さの要件
  • 帰属ルール (すべての主張はソースにリンクされる)
  • トーンと文体のガイドライン

references/output-template.md を読み、リクエストされた形式に一致するテンプレートを選択します。

ユーザーが形式を指定しなかった場合、デフォルトで Weekly Roundup を使用します。


ステップ 4: Gemini で要約

/tmp/newsletter-digest-articles.json を読み込み、要約プロンプトを構築します。

プロンプト構造:

あなたは今週のトップニュースのダイジェストを書くニュースレター編集者です。

ソース (これのみを使用 — 事実を捏造しない):
[各記事について: タイトル | ソース | 日付 | 要約]

タスク:
以下の構造に従って [FORMAT] ダイジェストを書いてください:
[references/output-template.md から選択したテンプレートを貼り付け]

ルール:
- すべての主張、統計、引用は上記のソースからのみ
- 能動態、短い文、短縮形は許可
- 使用禁止: 信じられない、素晴らしい、活用する、ゲームチェンジャー、深く掘り下げる、画期的、最先端、革命を起こす
- ダッシュなし、セミコロンなし、ハッシュタグなし
- 主要な主張の後には [ソース: 名前](URL) の帰属を含める
- プレーンテキストでHTML見出しタグのみ出力 (マークダウンのアスタリスクなし)

このプロンプトでGeminiを呼び出します。ターゲットモデル: gemini-2.0-flash または最新の利用可能モデル。

応答に禁止ワードやソース記事にない統計が含まれている場合、より厳格なプロンプトで再生成します。


ステップ 5: 自己QA

提示する前にすべてのチェックを実行します。違反があれば修正します。

  • すべての主張、統計、引用がソース記事に遡れること
  • どのセクションにも禁止ワードがないこと
  • テキストにダッシュがないこと
  • テキストにセミコロンがないこと
  • すべてのセクションに少なくとも1つのソース帰属と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 "DIGEST_TITLE" \
  --status "draft"

スクリプトは /tmp/newsletter-digest-output.json (ステップ6でエージェントが書き込む) を読み込み、Ghostに投稿します。

投稿後、スクリプトは下書きのGhost管理画面URLを返します。これをユーザーに提示: 「下書きが保存されました: [URL]。Ghostダッシュボードで確認して公開してください。」

ユーザーがすぐに公開したい場合、スクリプトに --status "published" を渡します。

Ghostが設定されていない、またはユーザーが「出力のみ」と言った場合:

ダイジェストを3つの形式で出力:

  1. HTML — 任意のCMSに貼り付け可能
  2. Markdown — Substack、Notion、Hashnode向け
  3. プレーンテキスト — メールクライアント向け

補足: 「Substackは公開APIを提供していません。Markdown版をSubstackエディタに直接コピーしてください。」


Substackに関する注意事項

Substackには公開APIがありません。内部エンドポイントをリバースエンジニアリングしない限りプログラムによる投稿は不可能であり、利用規約に違反します。このスキルは、Substackエディタに貼り付ける準備ができたフォーマット済みMarkdownダイジェストを出力します。これが正しいアプローチです。

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.

関連スキル