Communitygithub.com

Varnan-Tech/opendirectory

GitHubリポジトリの開発者体験(DX)を徹底監査します。10のDX次元をスコアリングし、リクエストされたトーンで辛辣なレビューを書き、優先順位付きの改善計画を作成し、理想のREADMEを生成します。

opendirectory とは?

このスキルは、GitHubリポジトリの開発者体験(Developer Experience, DX)を、人間によるコードレビューのように徹底的かつ正直に評価します。OSSメンテナーやDevToolsのファウンダーが、Show HNやProduct Huntなどのローンチ前に「最初の5分間」でユーザーを惹きつけられるかを診断するために設計されています。 「dx-roaster」は、READMEの明確さ、インストールの容易さ、クイックスタート、ドキュメントの充実度、視覚的証明(スクリーンショット/GIF)、コミュニティのシグナル、信頼性のシグナル、マーケティングなど、10の重要な次元を0〜10点で採点します。評価後は4つのアウトプットファイルを生成します。`roast.md`(具体的な証拠に基づいたレビュー)、`action-plan.md`(インパクト×努力で優先順位付けされた改善策)、`ideal-readme.md`(テンプレートに基づく理想のREADME)、`score.json`(全スコアのJSONデータ)です。 スキルはローカルリポジトリまたはGitHub URLを受け付け、トーン(brutal / honest / kind)を指定可能で、他のリポジトリとのベンチマーク比較もサポートします。スキャンは読み取り専用で行われ、リポジトリ自体は変更しません。厳格なルールに基づいて動作し、作成者名を出さず、データがない場合はスコアを0とし、あいまいな表現ではなく具体的な行番号やファイルパスを引用します。

対応✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/Varnan-Tech/opendirectory/tree/main/skills/dx-roaster

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

dx-roaster

GitHubリポジトリの開発者体験(DX)を辛辣にレビューします。以下の4つのファイルを生成します: roast.md、action-plan.md、ideal-readme.md、score.json。Show HN、Product Hunt、または最初の5分が重要なあらゆるローンチを控えたOSSメンテナーやDevToolsファウンダー向けに構築されています。


重要なルール(実行前に毎回読むこと)

  1. 採点前に3つのリファレンスファイルをすべて読むこと。 references/scoring-rubric.md、references/roast-voice-guide.md、references/readme-template.md。ルーブリックは絶対です — 正確に10の次元を使用すること。

  2. すべての次元を0–10のスケールで採点すること。絶対にスキップしないこと。 データがない = スコア0 (「該当なし」ではない)。

  3. レビューは具体的な発見事項を引用すること。 問題のある行をそのまま引用する。ファイルパスを参照する。可能な限り行番号を引用する。「ドキュメントは改善できる」のような一般的な決まり文句は絶対に書かないこと。

  4. トーンは重要です。 デフォルトは honest。references/roast-voice-guide.md に従って声を切り替えること。brutal は面白くても個人攻撃にならないように。kind は励ましつつも具体的であること。

  5. アクションプランは影響度順であり、重大度順ではない。 impact × (1 / effort) を使用すること。2時間かけて12ポイント上げる修正より、5分で10ポイント上げる修正の方が優先度が高い。

  6. URLをでっち上げないこと。 ideal-readme.md を書くときは、不足しているリンクに <placeholder> 構文を使用すること。レビューではメンテナーに埋めるよう促すこと。

  7. メンテナーやコントリビューターの名前を決して出さないこと。 作品をレビューし、人をレビューしないこと。

  8. 正確に4つのファイルを dx-roast/ に出力すること。 他の場所に書き込まないこと。ファイルをスキップしないこと。


ステップ 1: 入力

必須:

  • repo — ローカルパス (デフォルト .) または https://github.com/owner/repo URL

オプション:

パラメータデフォルト説明
tonehonestbrutal / honest / kind
output_dirdx-roast/4つの出力ファイルを書き込む場所
compare_toなしベンチマーク比較用のオプションの2つ目のリポジトリURL

repo がURLの場合: git clone <url> /tmp/dx-roast-<short-hash> を使用して一時ディレクトリにクローンする。そこからスキャンする。実行後に一時ディレクトリを削除する。

repo が . またはローカルパスの場合: その場でスキャンし、何も変更しない。


ステップ 2: 発見

以下のファイルを読む(それぞれ存在しない可能性があり、その場合は存在しないことを記録すること):

  • README.md — 全内容、構造(見出し)、コードブロック、画像参照、バッジURL
  • CONTRIBUTING.md、CODE_OF_CONDUCT.md
  • .github/ISSUE_TEMPLATE/、.github/PULL_REQUEST_TEMPLATE.md、.github/CODEOWNERS
  • package.json (description, homepage, repository, license, scripts)、pyproject.toml、Cargo.toml、go.mod
  • LICENSE (存在の有無 + タイプ)
  • docs/ フォルダの内容(ファイル名とサイズのみ)
  • examples/ または samples/ または cookbook/ フォルダ
  • .github/workflows/*.yml (名前と簡単なCIプレゼンスチェックのみ)

repo がURLの場合、gh 経由でも取得する:

git clone <url> <temp_dir>
cd <temp_dir>
# gh api 呼び出しはクローン後に行われる
gh api repos/<owner>/<repo> --jq '{stars: .stargazers_count, forks: .forks_count, watchers: .subscribers_count, pushed_at, description, homepage, topics, default_branch}'
gh api repos/<owner>/<repo>/commits --jq '.[0].commit.author.date' | head -1
gh api repos/<owner>/<repo>/contributors --paginate --jq '[.[] | .login] | length'

いずれかのGitHub呼び出しが失敗した場合はキャッチして続行する。


ステップ 3: 10の次元を採点する

references/scoring-rubric.md の10の次元それぞれについて、{score: 0–10, evidence: [...]} を出力する。evidence は、発見した内容を引用した1〜3の短い文字列のリストである。

例:

"visual_proof": {
  "score": 4,
  "evidence": [
    "89行目にスクリーンショット1つを発見(ファーストビューの下)",
    "アニメーションデモ/GIFなし",
    "動画なし"
  ]
}

スコアを合計 → 合計 (0–100) → グレード (ルーブリックに従い A/B/C/D/F)。

以下の正確な形式で dx-roast/score.json に保存する:

{
  "repo": "<owner/repo または ローカルパス>",
  "scanned_at": "<ISO 8601 タイムスタンプ>",
  "dimensions": {
    "time_to_first_success": { "score": 7, "evidence": ["..."] },
    "what_is_this_clarity": { "score": 5, "evidence": ["..."] },
    "visual_proof": { "score": 4, "evidence": ["..."] },
    "install_simplicity": { "score": 9, "evidence": ["..."] },
    "runnable_quick_start": { "score": 8, "evidence": ["..."] },
    "documentation_depth": { "score": 6, "evidence": ["..."] },
    "examples": { "score": 5, "evidence": ["..."] },
    "community_signals": { "score": 3, "evidence": ["..."] },
    "trust_signals": { "score": 7, "evidence": ["..."] },
    "marketing_signals": { "score": 4, "evidence": ["..."] }
  },
  "total": 58,
  "grade": "D",
  "tone": "honest"
}

ステップ 4: レビューを書く

references/roast-voice-guide.md を読む。リクエストされたトーンを適用する。250〜500語で dx-roast/roast.md に書く。

必須の構造:

# DX Roast: <リポジトリ名>

**グレード: <レター> (<合計点数>/100)** · トーン: <tone>

<パラグラフ1: 評決。機能している点 + 大きなギャップ。>

<パラグラフ2: ファイル参照付きで具体的な発見事項を2つ引用。>

<パラグラフ3: さらに2つの発見事項を引用し、次元スコアと結びつける。>

<パラグラフ4 (オプション): 最後のひねり、または既知の優良リポジトリとの比較。>

<最終パラグラフ: 今後の道筋として `action-plan.md` を参照するように促す。>

すべてのレビューは score.json のevidence配列から 少なくとも3つの具体的な発見事項 を参照しなければならない。


ステップ5: アクションプランを生成する

各修正候補について priority = impact / effort_minutes を計算する。上位5〜10件を取得する。優先度の降順でソートする。

各修正について、dx-roast/action-plan.md に以下を書き込む:

### N. <修正内容を命令形で一行で>

**理由:** <一文での正当性。どの次元を改善するかを参照すること。>

**影響:** +<X> ポイント · **努力:** <5分 / 30分 / 2時間 / 半日>

**方法:**

1. <具体的なステップ1>
2. <具体的なステップ2>
3. <具体的なステップ3>

<正確な変更を示すオプションのコード/マークダウンスニペット>

action-plan.md を以下の内容で開く:

# アクションプラン — <リポジトリ名>

現在のグレード: <レター> (<合計点>/100)
インパクト × 努力でランク付けされたトップ修正。この順序で実行すること。

---

ステップ 6: 理想のREADMEを生成する

references/readme-template.md を読む。「埋め方のルール」セクションに従ってテンプレートを埋める。dx-roast/ideal-readme.md に書き込む。

不足している値には <homepage_url> などのプレースホルダーを使用する。長さの上限: 100行。


ステップ 7: ターミナルサマリー

以下の正確な形式をユーザーに出力する:

DX Roast 完了 — グレード: <レター> (<合計点>/100)

トップ3修正 (影響度順):
  1. <修正1>                                +<X> pts  · <努力>
  2. <修正2>                                +<X> pts  · <努力>
  3. <修正3>                                +<X> pts  · <努力>

ファイル:
  → dx-roast/roast.md          (共有可能な評決)
  → dx-roast/action-plan.md    (優先順位付けされた修正)
  → dx-roast/ideal-readme.md   (目標状態)
  → dx-roast/score.json        (生スコア)

compare_to が指定された場合、比較行を追加する:

ベンチマーク: <他のリポジトリ> スコア <X>/100 (グレード <Y>) — 差分 <デルタ> ポイント。

セルフQA(実行毎、ターミナルサマリーを出力する前)

  • score.json の全10次元にスコアとevidenceがある
  • 合計が各次元の合計と一致する
  • グレードのレターがルーブリックの閾値に従った合計と一致する
  • レビューが score.json から少なくとも3つのevidence項目を参照している
  • レビューがメンテナー/コントリビューターの名前を出していない
  • アクションプランに5〜10個の項目があり、優先度の降順でソートされている
  • 理想のREADMEが100行未満である
  • 理想のREADMEがスキャンで見つからなかったURLに <placeholder> を使用している
  • 4つすべてのファイルが output_dir に存在する
  • roast.md または action-plan.md に <TBD> / <TODO> プレースホルダーがない

いずれかのチェックが失敗した場合、修正してそのステップを再実行する。


エラーハンドリング

以下の4つの障害モードは明示的に処理される — 原因を明らかにせずに不完全な出力をスキルが静かに生成しないようにすること。

ケース動作
repo が存在しない、クローンできない、または読み取れない即座に リポジトリが見つからないかアクセス不可: <repo> というメッセージで終了する。出力ファイルは一切書き込まない。
README.md がないそれでも実行する。what_is_this_clarity、visual_proof、runnable_quick_start、marketing_signals を0近くに採点する。レビューの冒頭でその不在を利用する(「READMEがないということは、それ自体が主張です」)。
リポジトリがプライベートで、GitHub認証がないローカルクローンを試みる (git clone <url>); 失敗した場合、リポジトリはプライベートで、認証が利用できません で終了する。ユーザーに GITHUB_TOKEN を設定するか、ローカルパスを渡すよう提案する。
compare_to URLが失敗する(ネットワーク、404、プライベートなど)ベンチマークなしで続行する。レビューに次の1行を追加する: 注記: <compare_to> に対するリクエストされたベンチマークは取得できませんでした。 ターミナルサマリーから ベンチマーク: 行を省略する。

ステップ2のメタデータ取得中に発生したGitHub APIエラー(レート制限、一時的な5xx)は、score.json の trust_signals.evidence に "github metadata unavailable" としてキャプチャされ記録される。実行の残りは続行される。


例

良い呼び出し例:

「https://github.com/myorg/mytool のリポジトリをレビューして — トーン: brutal。」

→ スキルがクローン、スキャン、採点し、4つのファイルを dx-roast/ に書き込み、サマリーを出力する。典型的なリポジトリで総実行時間 <60秒。

良い比較例:

「カレントディレクトリのDX監査をして。https://github.com/vercel/next.js とベンチマーク比較して。」

→ 両方をスキャンし、カレントを採点し、レビューとサマリーにベンチマーク行を含める。


このスキルがやらないこと

  • ターゲットリポジトリを変更しない(読み取り専用スキャン)
  • セキュリティ監査や依存関係スキャンを実行しない
  • マーケティングコピーを生成しない(アクション項目は具体的であり、「トーンを書き直す」ではない)
  • 画像やアセットを生成しない(プレースホルダーのみ)
  • ソーシャルメディアに投稿しない(共有可能なテキストのみを書き込む)

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

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

Creates professionally designed B2B SaaS e-books in HTML + CSS, exported as print-ready PDF. 3–10 pages, 9 style presets, 11 page layout types. Trigger when user says "create an ebook", "design a lead magnet", "make a PDF guide", "build a gated content piece", "write a B2B ebook", "design a white paper", "create a nurture asset", or "make a PDF report".

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.

関連スキル