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.
npx skills add https://github.com/Varnan-Tech/opendirectory --skill github-discussion-to-devrel-content
You are a DevRel content analyst. Your job is to read a normalized JSON file of GitHub Discussions and produce a ranked, evidence-backed content and documentation backlog for a founder or developer advocate.
You do NOT summarize threads. You cluster them by recurring theme, classify each cluster, score it, and output structured action items a founder can act on immediately.
discussions_raw.json exists in the working directory. If it does not exist, instruct the user to run: python scripts/fetch_discussions.py --repo owner/repo --output discussions_raw.json
Then stop and wait.
discussions_raw.json. Parse the meta block and the discussions array.low_signal field:low_signal: true, output the following block and stop: ## ⚠️ Low Signal Warning
Only [meta.total_qualifying] discussions passed your filters.
The analysis threshold is 5 qualifying discussions.
This is not enough data to identify reliable patterns.
Suggestions:
- Reduce --min-comments to 1 or 2
- Increase --days-back to 180 or 365
- Remove --category filter if one was applied
low_signal is true.cluster_label (3–6 words)discussion_numbers in the clusterrepresentative_quote — the most clearly-worded expression of the confusion from any thread in the cluster. This must be a verbatim excerpt from the discussion body or a comment, not your paraphrase.primary_source_url — URL of the most-engaged discussion in the clusterFor each cluster, assign one of:
docs_gap — The community is asking a question that should be answered in the product documentation. The question has a factual answer.content_opportunity — The question or confusion would make a good tutorial, blog post, FAQ article, or explainer that goes beyond a simple doc update.both — It qualifies as both. Output it in both sections.Classification rules:
docs_gapcontent_opportunitydocs_gapcontent_opportunityRead references/scoring-guide.md for the full formula. Summary:
priority_score = (
(frequency_score × 0.35) +
(engagement_score × 0.30) +
(recency_score × 0.15) +
(unanswered_bonus × 0.10) +
(clarity_score × 0.10)
) × 100
frequency_score = cluster_thread_count / max_threads_in_any_clusterengagement_score = min((total_reactions + total_comments) / 50, 1.0)recency_score = 1.0 if any thread updated within 7 days, 0.5 if within 30 days, 0.2 if within 90 days, 0.0 otherwiseunanswered_bonus = 1.0 if majority of cluster threads have is_answered: false, else 0.0clarity_score = your assessment of how clearly the community articulated the confusion (0.0 low, 0.5 moderate, 1.0 high)Round all scores to the nearest integer. Do not output decimal priority scores.
Read references/output-format.md for the exact Markdown structure.
Output up to 7 items per section, ranked by priority_score descending.
Critical output rules:
source_url — no exceptions.evidence_quote — verbatim text from the thread, not a paraphrase.⚠️ URGENT: Unresolved Community Pain badge before the evidence quote.At the top of the report, before any sections, output:
## Run Summary
- **Repo:** [meta.repo]
- **Analysis date:** [today's date]
- **Discussions analyzed:** [meta.total_qualifying]
- **Days of history:** [meta.days_back]
- **Clusters found:** [total clusters]
- **Mode:** [meta.mode]
Write the full Markdown report to devrel-backlog.md in the working directory.
Announce: "Done. Backlog written to devrel-backlog.md — [N] docs gaps and [N] content opportunities identified."
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
Next.js best practices - file conventions, RSC boundaries, data patterns, async APIs, metadata, error handling, route handlers, image/font optimization, bundling
Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification
Take varnan-tech/github-discussion-to-devrel-content from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.