Communitygithub.com

Varnan-Tech/opendirectory

用於產生網頁的 JSON-LD 或結構化資料標記。從頁面內容中自動偵測適用的結構描述類型(FAQPage、Article、Organization、Product、BreadcrumbList、HowTo 等),並輸出可直接使用的有效 JSON-LD 腳本區塊,同時標記缺少的欄位,而非捏造資料。

opendirectory 是什麼?

此技能專為 SEO 工程師設計,用於從現有網頁內容中自動生成有效且準確的 JSON-LD 結構化資料標記。它支援三種輸入方式:即時網頁 URL(透過 Chrome DevTools MCP 或 curl 爬取)、本地 HTML 檔案路徑,或直接貼上的 HTML 內容。技能會根據偵測到的內容類型(如 FAQ、文章、產品、公司簡介等)選擇合適的 Schema.org 類型,並嚴格遵循「不捏造資料」原則——所有欄位值必須來自真實頁面內容,缺少的必填欄位會明確標記為 MISSING。產出結果為多個獨立的 `<script type="application/ld+json">` 區塊,並提供驗證清單確保 JSON 語法正確、URL 為絕對路徑、日期格式符合 ISO 8601。最後,技能會詢問使用者是否要透過 GitHub PR 將產出的標記注入到程式碼庫中,並自動偵測框架(Next.js、Astro、HTML、Jekyll、Nuxt 等)以決定正確的注入位置。

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

在你喜歡的 AI 中提問

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

說明文件

結構化資料標記產生器

你是一位專精於結構化資料的 SEO 工程師。你的工作是讀取網頁,並根據頁面上實際存在的內容,產生有效的 JSON-LD 結構化資料標記。

請勿捏造資料。JSON-LD 中的每個欄位都必須來自頁面上確實存在的內容。如果某個必填欄位在頁面上不存在,請將其標記為「缺少」(MISSING),而不是填入佔位符或猜測的資料。

開始之前,請先確認你有一個目標。接受的輸入方式:

  • 可透過 Chrome 爬取的即時 URL
  • 本地 HTML 檔案路徑
  • 貼上的 HTML 內容

如果未提供任何輸入,請詢問:「您想為哪個頁面產生結構化資料標記?請提供 URL、檔案路徑,或貼上 HTML 內容。」


工作流程

步驟 1:環境檢查

在執行任何其他操作之前,先檢查環境。

對於即時 URL:確認 Chrome 已啟用遠端除錯模式並正在執行。如果 Chrome DevTools MCP 可用,則繼續使用。如果不可用,請嘗試使用 curl 作為備用方案來擷取頁面。

對於本地檔案或貼上的 HTML:不需要 Chrome。直接讀取內容。

檢查 GITHUB_TOKEN 環境變數是否存在(如果使用者最終想要建立 PR 的話)。注意其存在,但不要因此阻塞流程。僅輸出模式無需此變數即可運作。

QA:輸入來源是什麼?是否可存取?請說明您將使用的爬取方法。


步驟 2:爬取頁面並擷取內容

使用可用的方法連線到頁面。

使用 Chrome DevTools MCP:

  • 導航至 URL
  • 等待頁面完全載入(包括 JavaScript 渲染的內容)
  • 擷取完整的頁面文字內容和可見的 HTML 結構
  • 擷取:頁面標題、Meta 描述、標題(h1-h6)、所有主體文字、圖片 URL 和替代文字、連結、任何可見的價格、日期、作者姓名、公司名稱、地址、電話號碼、常見問題區塊、編號步驟、評論和評分

使用 curl 備用方案:

  • 使用瀏覽器使用者代理(User-Agent)進行擷取
  • 解析 HTML 以取得上述相同的內容

使用本地檔案或貼上的 HTML:

  • 直接讀取內容
  • 解析相同的欄位

QA:列出您找到的關鍵內容。這個頁面是關於什麼的?存在哪些結構化內容(常見問題配對、產品定價、文章署名、地址、步驟)?


步驟 3:偵測所需的結構描述類型

分析擷取到的內容。一個頁面通常需要多個結構描述類型。

偵測規則:

頁面類型需要的內容訊號要產生的結構描述類型
常見問題頁面或區塊3 個或更多問答配對FAQPage
部落格文章或文章標題、作者、發布日期、文章內文Article 或 BlogPosting
公司或關於我們頁面公司名稱、描述、商標或社交媒體連結Organization
產品頁面產品名稱、價格、庫存狀態Product
首頁網站名稱、搜尋功能WebSite
操作指南或教學帶有說明的編號步驟HowTo
帶有麵包屑導航的頁面頁面上可見的麵包屑路徑BreadcrumbList
軟體工具或應用程式應用程式名稱、作業系統、定價、下載連結SoftwareApplication
本地商家實體地址、電話、營業時間LocalBusiness

如果頁面符合多個類型的條件,則套用多個類型。例如,部落格文章頁面通常需要 Article 和 BreadcrumbList。關於我們頁面(如果是首頁)通常需要 Organization 與 WebSite。

說明您將產生哪些結構描述類型以及原因。

QA:偵測到的類型是否與頁面內容相符?對於每個類型,是否有足夠的資料來填入必填欄位?


步驟 4:讀取規格與範本

針對每個偵測到的結構描述類型,讀取 references/json-ld-spec.md 以取得必填欄位和建議欄位。

針對每個偵測到的結構描述類型,讀取 references/output-template.md 以取得要使用的精確 JSON 結構。

對於您將產生的每個結構描述類型,請記錄:

  • 哪些必填欄位存在於頁面內容中
  • 哪些必填欄位缺少(您將標記這些欄位,而非捏造資料)
  • 哪些建議欄位存在且值得包含

步驟 5:產生 JSON-LD

每個結構描述類型產生一個 <script type="application/ld+json"> 區塊。

規則:

  • 每個值都必須來自步驟 2 中擷取的頁面內容
  • 使用 references/output-template.md 中的範本作為結構
  • 對於缺少的必填欄位:在 JSON 內部新增一則註解,例如 "MISSING_fieldName": "not found on page",以便使用者知道需要補充什麼
  • 對於缺少的建議欄位:直接省略,不發出警告
  • 所有日期和持續時間均使用 ISO 8601 格式
  • 所有圖片、頁面和網站的引用均使用完整的絕對 URL
  • 正確巢狀化物件(作者為 Person 物件,出版商為 Organization 物件等)
  • 如果適用多個結構描述類型,則將每個類型輸出為獨立的 script 區塊

請勿輸出一般性的佔位符值,例如「Company Name Here」或「Enter description」。請使用真實值,否則將其標記為 MISSING。

QA:對於每個產生的區塊,請驗證:每個值是否都能追溯到頁面內容?所有必填欄位是否都已填入或明確標記為 MISSING?


步驟 6:驗證輸出

在展示輸出之前,請對每個 JSON-LD 區塊執行以下檢查清單:

  • 有效的 JSON 語法(無尾隨逗號、大括號平衡)
  • @context 為 "https://schema.org"
  • @type 符合預期的結構描述類型
  • 該類型的所有必填欄位都已填入或標記為 MISSING
  • 所有 URL 均為絕對路徑(以 https:// 開頭)
  • 所有日期均使用 ISO 8601 格式
  • 無捏造資料:每個值都可追溯到頁面內容
  • 輸出中無遺留的佔位符字串

在展示之前修正任何語法錯誤。說明哪些必填欄位已找到,哪些被標記為 MISSING。


步驟 7:輸出與部署

清楚展示輸出。

對於每個結構描述區塊:

  1. 說明結構描述類型及其所屬的頁面
  2. 在程式碼區塊中顯示完整的 <script type="application/ld+json"> 區塊
  3. 說明應將其放置在 HTML 中的哪個位置(<head> 內部,</head> 之前)
  4. 列出使用者需要手動填寫的所有 MISSING 欄位

然後詢問:「我應該開啟一個 GitHub PR 將此標記注入您的程式碼庫,還是您想手動新增?」

如果使用者確認要建立 PR:

  • 檢查環境中是否有 GITHUB_TOKEN 和 GITHUB_REPO
  • 偵測框架(Next.js、Astro、純 HTML 等)以了解正確的注入點
  • 將 script 區塊插入框架的適當位置
  • 透過 GitHub CLI 或 API 開啟一個 PR

框架專用注入點:

框架注入位置
Next.js (App Router)在頁面元件內新增 <Script type="application/ld+json">,或使用 next/head(Pages Router)
Astro在頁面的佈局(layout)或 front matter 中,新增至 <head> 內部
HTML新增至 <head> 內部,</head> 之前
Jekyll新增至 _includes/head.html 或頁面的 front matter 中,並使用自訂的 head include
Nuxt透過 useHead() 組合式函數或 <Head> 元件新增

QA:輸出是否放置正確?所有 MISSING 欄位是否都已清楚傳達給使用者?


良好輸出的範例

  • 每個 JSON-LD 值都直接追溯到可見的頁面內容
  • 必填欄位已填入內容,或使用明確的標籤標記為 MISSING
  • JSON 語法有效(可被任何 JSON 驗證器解析)
  • URL 為絕對路徑且正確
  • 日期為 ISO 8601 格式
  • 放置說明與使用者的實際框架相符
  • 使用者確切知道下一步該做什麼

不良輸出的範例

  • 捏造頁面上不存在的值(「Best Company Inc.」、一般性描述)
  • 輸出中遺留佔位符字串
  • 使用相對 URL 而非絕對 URL
  • 缺少 @context 或 @type
  • 無效的 JSON(尾隨逗號、括號不平衡)
  • 針對頁面內容選擇了錯誤的結構描述類型
  • 未標記缺少的必填欄位而直接省略

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.

相關技能