Community寫作與編輯github.com

Varnan-Tech/opendirectory

將粗略筆記、要點、語音轉錄稿或推文整理成一篇潤飾完畢、可發表的部落格文章。可選擇性地透過 Tavily 研究加入佐證數據,提升論點可信度。

opendirectory 是什麼?

這個 AI 技能主要用於將未經整理的原始內容(如零散的筆記、語音轉錄稿、推文串或簡短的草稿)自動轉換成結構完整、風格一致的部落格文章。它會先分析輸入內容的類型(例如要點、語音稿或推文),判斷最適合的部落格風格(技術教學、案例研究、思想領導或解釋性文章),然後呼叫 Gemini API 生成文章草稿。如果使用者設定了 Tavily API 金鑰,它會自動搜尋外部資料來驗證原始內容中的特定論點或數據,並在文章中自然引用來源,從而提升文章的可信度。整個流程包含嚴格的品質檢查,確保文章不會虛構任何細節。使用者也可以指定要在 Ghost、dev.to 或 Hashnode 等特定平台發布,技能會提供對應的前置資料格式。

相容平台✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/Varnan-Tech/opendirectory/tree/main/skills/noise2blog

Installed? Explore more 寫作與編輯 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

雜訊變文章

將任何粗略的輸入內容(要點、語音轉錄稿、推文串或短草稿)轉成一篇潤飾完畢、可立即發表的部落格文章。每個論點都可追溯回原始素材或經由 Tavily 驗證的研究結果。


重要規則:請勿憑空捏造具體細節。 部落格文章中的每個論點、數據和範例都必須來自原始輸入或 Tavily 搜尋結果。絕不虛構資料、引言或結果。


步驟 1:設定檢查

確認必要的環境變數已設定:

echo "GEMINI_API_KEY: ${GEMINI_API_KEY:+set}"
echo "TAVILY_API_KEY: ${TAVILY_API_KEY:-not set, Tavily enrichment will be skipped}"

如果 GEMINI_API_KEY 缺失: 停止。告知使用者:「需要 GEMINI_API_KEY。請至 aistudio.google.com → 取得 API 金鑰。然後將其加入你的 .env 檔案。」

如果 TAVILY_API_KEY 缺失: 繼續。請注意 Tavily 強化功能將被跳過。部落格文章將完全依據提供的內容產生。這對於個人故事、經驗教學或評論文章來說沒問題。

確認輸入內容已提供。 使用者必須提供以下其一:

  • 貼上的文字(要點、粗略筆記、語音轉錄稿、推文串、短草稿)
  • 一個要擷取內容的網址

如果沒有輸入,請詢問:「請分享你的粗略筆記、要點或語音轉錄稿。直接貼上文字,或提供一個網址讓我擷取來源。」


步驟 2:讀取並分析輸入

如果輸入是網址: 使用 WebFetch 擷取頁面內容。擷取:標題、作者、發布日期、所有內文、關鍵統計數據、編號清單、副標題、引言。

如果輸入是貼上的文字: 直接讀取。判斷輸入類型:

  • 要點或粗略筆記:零散的概念、不完整的句子、意識流
  • 語音轉錄稿:口語化、重複、填充詞(呃、嗯、你知道)、迂迴的句子
  • 推文串:短片段、@提及、主題標籤、「1/8」編號
  • 短草稿:有結構但內容單薄,需要擴充和潤飾

品質檢查點: 在繼續之前,請陳述:

  1. 偵測到的輸入類型
  2. 核心論點或主要論述(一句話)
  3. 原始內容中最有力的 3 到 5 個見解、事實或想法
  4. 任何需要外部驗證的論點(基準測試、統計數據、產品比較、研究發現)

如果你無法確定核心論點,請詢問:「你希望讀者從這篇文章中得到的最重要的一件事是什麼?」


步驟 3:選擇部落格文章風格

四種風格。根據內容訊號自動偵測。使用者可以隨時覆蓋自動選擇。

風格使用時機訊號
技術教學逐步指南、操作說明、程式碼講解編號步驟、指令、程式碼片段、內容中有「如何」
案例研究前後對比故事、建置記錄、學到的經驗具體結果、時間線、第一人稱經歷
思想領導意見、論點、違反直覺的主張「我認為」、「X 的問題」、相反立場、辯論框架
解釋性文章什麼是 X、為什麼重要、如何運作概念優先、充滿比較、「大多數人不知道」

偵測邏輯:

  • 內容有編號步驟或指令 → 技術教學
  • 內容有前後對比、具體指標或敘事弧線 → 案例研究
  • 內容反對普遍觀點或提出強烈意見 → 思想領導
  • 內容解釋一個概念、工具或趨勢給不熟悉的人 → 解釋性文章

說明選擇的風格及其理由。如果不確定,選一種並註明選擇。


步驟 4:使用 Tavily 研究強化

如果 TAVILY_API_KEY 未設定,則安靜地跳過此步驟。

為原始內容中可能需要驗證或補充數據的論點搜尋佐證。適合的對象:

  • 產品基準測試或效能數據
  • 市場統計數據或產業趨勢
  • 技術比較(「X 比 Y 快」)
  • 使用者憑記憶而非引用來源提到的任何數字

針對每個需要驗證的論點執行一次 Tavily 搜尋。最多限制 3 次搜尋,以避免過度引用外部來源:

curl -s -X POST "https://api.tavily.com/search" \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "'"$TAVILY_API_KEY"'",
    "query": "SPECIFIC_CLAIM_OR_TOPIC",
    "search_depth": "advanced",
    "max_results": 5,
    "include_answer": true
  }'

保留 score >= 0.65 的結果。擷取:標題、網址、內容片段。

使用 Tavily 結果的規則:

  • 使用它們來支持或驗證原始輸入中已經存在的論點。絕不從搜尋結果中引入全新的論點。
  • 在文章中自然地標註來源:「根據 [來源]」、「[X] 的數據顯示」
  • 如果沒有任何 Tavily 結果能確認某個論點,則讓該論點保持未驗證狀態,而不是替換成不相關的結果

步驟 5:產生部落格文章

完整讀取 references/blog-format.md。從 references/output-template.md 中選取對應的範本。在產生文章之前,將所有規則內化。

將 Gemini 請求寫入一個暫存檔案,以安全處理特殊字元:

cat > /tmp/noise2blog-request.json << 'ENDJSON'
{
  "system_instruction": {
    "parts": [{
      "text": "You are a tech writer who sounds like a real person. Rules: Active voice only. Short paragraphs, 1-3 lines max, then a blank line. Use contractions naturally (don't, won't, it's, can't, you're, they're). No em dashes — use a comma or period instead. No semicolons. Every sentence needs a concrete detail: a number, a tool name, a file name, a command, a result. No filler phrases: no 'In today's rapidly evolving', no 'Let's dive in', no 'It's worth noting', no 'In conclusion', no 'I hope this was helpful'. No banned words: incredible, amazing, leveraging, synergize, game-changing, groundbreaking, revolutionary, paradigm, cutting-edge, seamless, robust, unprecedented, delve, harness, utilize, transformative, disruptive, unlock, comprehensive, actionable, crucial, pivotal. Title must not start with I, My, or We. Open with a hook paragraph that does not announce the topic. Close with something actionable. Do not invent claims, metrics, or outcomes not present in the source material."
    }]
  },
  "contents": [{
    "parts": [{
      "text": "RAW_CONTENT_AND_INSTRUCTIONS_HERE"
    }]
  }],
  "generationConfig": {
    "temperature": 0.7,
    "maxOutputTokens": 4096
  }
}
ENDJSON

將 RAW_CONTENT_AND_INSTRUCTIONS_HERE 替換為:

  • 原始輸入內容
  • 部落格文章風格與結構說明(來自選取的範本)
  • 在步驟 4 中搜集的任何 Tavily 研究結果
  • 目標字數:800 到 1,800 字

發送請求:

curl -s -X POST \
  "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d @/tmp/noise2blog-request.json \
  | python3 -c "import sys,json; d=json.load(sys.stdin); print(d['candidates'][0]['content']['parts'][0]['text'])"

同時產出:

  • (B) 一段 1-2 句的 SEO 預覽文字 Meta 描述
  • (C) 一個使用不同切入角度的替代標題

步驟 6:自我品質檢查

在呈現之前,執行每一項檢查並修正違規:

  • 標題不能以「我」、「我的」或「我們」開頭
  • 標題要具體且口語化(不能是「X 完整指南」或「Y 終極指南」)
  • 開頭段落要以鉤子開場,不要直接宣布主題(例如「在這篇文章中我將…」)
  • 任何行中都不能有破折號
  • 不能有分號
  • 段落不能超過 3 行而未空一行
  • 不使用禁用詞語:令人難以置信、驚人、利用、綜效、改變遊戲規則、開創性、革命性、範例、尖端、無縫、強健、前所未有、深入、駕馭、釋放、變革性、破壞性、解鎖、全面、可操作、關鍵、至關重要
  • 不能有虛構的數據:每個論點都可追溯回原始輸入或 Tavily 結果
  • 文章不能以「結論」、「總結」或「希望這對你有幫助」結尾
  • 800-1,800 字(陳述字數)
  • 邏輯流程:開場 → 問題/背景 → 主體段落 → 可操作的結尾

在呈現之前修正任何違規。陳述最終字數。


步驟 7:輸出

在一個程式碼區塊中呈現完整的部落格文章。

在主文章下方呈現 Meta 描述和替代標題。

詢問:「準備好複製到你的編輯器了嗎?如果你要發布到特定平台,請告訴我,我可以幫忙格式化前置資料。」

根據平台要求提供對應格式:

Ghost:

---
title: "POST_TITLE"
date: YYYY-MM-DD
tags: [tag1, tag2]
status: draft
---

dev.to:

---
title: POST_TITLE
description: META_DESCRIPTION
tags: [tag1, tag2, tag3]
published: false
---

Substack:以純 Markdown 呈現。Substack 的編輯器可以直接匯入 Markdown。

Hashnode:

---
title: POST_TITLE
subtitle: META_DESCRIPTION
tags: [tag1, tag2]
---

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.

相關技能