mcpField
G
github-readme

github-readme

github.com/thatrebeccarae開発187106 回インストール24 週間前に更新
リポジトリ

github-readme について

GitHubリポジトリのREADMEを生成、監査、更新するClaudeスキルです。プロジェクトのファイルを調べて種類を判定し、品質、見つけやすさ、文体、安全性を体系的に確認します。

主な機能

  1. 01リポジトリの調査に基づくREADME生成
  2. 02読み取り専用監査によるREADME採点
  3. 03承認後に適用するREADME更新案
  4. 04ファイルと構成からのプロジェクト種別判定
  5. 05発見性とセキュリティ項目の確認

活用シーン

  1. 01新規リポジトリのREADME草案作成
  2. 02公開前のREADME品質確認
  3. 03プロジェクト変更後のドキュメント更新
  4. 04公開リポジトリ情報の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/thatrebeccarae/claude-marketing --skill github-readme

インストール後、Claude Code で/github-readmeを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

EXAMPLES.md
LICENSE
REFERENCE.md

詳細

GitHub README ジェネレーター

プロジェクトの種類の検出、文体の調整、見つけやすさに関するガイダンス、スコア付きの品質監査を通じて、リポジトリの README を生成、監査、または更新します。

インストール

git clone https://github.com/thatrebeccarae/claude-marketing.git && cp -r claude-marketing/skills/github-readme ~/.claude/skills/

使用する場面

  • 新しい公開リポジトリを作成する際に、一からしっかりした README が必要な場合
  • 既存の README の品質、見つけやすさ、セキュリティ上の問題を監査する場合
  • リポジトリの進化(新しい依存関係、機能、構成)に合わせて README を更新する場合
  • 公開リリースに向けてリポジトリを準備し、見つけやすさを最適化したい場合

モード

/github:readme generate [repo-path]   # Scan repo, detect type, generate README
/github:readme audit [repo-path]      # Score existing README (read-only, 0-100)
/github:readme update [repo-path]     # Re-scan, silent audit, patch with approval

repo-path を省略した場合、デフォルトでは現在の作業ディレクトリが使用されます。


ステップ 0:解析と検証

次の形式を想定します:/github:readme {mode} [repo-path]

  1. モードの抽出 — generate、audit、または update。それ以外の値、または値がない場合 → 使用方法のヒントとともにエラーを表示します。停止します。
  2. repo-path の抽出 — 2 番目の引数。省略した場合は現在の作業ディレクトリを使用します。
  3. 検証 — パスが存在し、ディレクトリであり、.git を含むことを確認します。満たさない場合 → エラーを表示します。停止します。

repo_path(絶対パス)と mode を保存します。


ステップ 1:リポジトリのスキャン

利用可能なファイルを読み取ってコンテキストを収集します。ファイルが存在しない場合は、エラーにせずスキップします。

パッケージ/設定ファイル(技術スタックの検出):

  • package.json — Node/TypeScript/React
  • Cargo.toml — Rust
  • pyproject.toml、setup.py、requirements.txt — Python
  • go.mod — Go
  • tsconfig.json — TypeScript の確認
  • Dockerfile、docker-compose.yml — コンテナ化
  • Makefile、justfile — ビルドシステム
  • .github/workflows/ — CI/CD

ディレクトリ構成:

  • リポジトリのルートで ls を実行し、最上位の構成を確認します
  • 注目する項目:src/、bin/、lib/、scripts/、docs/、tests/、skills/、templates/、plugins/、.github/

既存のドキュメント:

  • README.md、CONTRIBUTING.md、SECURITY.md、LICENSE、ARCHITECTURE.md、CHANGELOG.md、CODE_OF_CONDUCT.md、llms.txt

Git リモート:

  • git -C {repo_path} remote get-url origin を実行します
  • URL から {owner} と {repo} を抽出します
  • 公開/非公開を判定します:.public-repo マーカーがある場合は公開、-dev サフィックスがある場合、またはマーカーがない場合はユーザーに確認します

ステップ 2:プロジェクトの種類を検出

スキャンで得られた情報に基づき、リポジトリを次の種類のうち必ず 1 つに分類します。

種類判定材料
ツール/CLIpackage.json に bin フィールドがある、CLI のエントリーポイント、man ページ、コマンドパーサー(yargs、clap、cobra)がある
ライブラリ/SDKmain/exports/module フィールドがある、npm/PyPI/crates.io で公開されている、CLI エントリーがない
コレクション/マーケットプレイス独立した項目を複数含む:skills/、templates/、plugins/、recipes/ ディレクトリに 3 つ以上のサブディレクトリがある
Web アプリReact/Vue/Svelte/Next/Nuxt、サーバーフレームワーク(Express、FastAPI、Actix)、デプロイ設定(Vercel、Dockerfile)がある
個人/実験プロジェクト小規模なリポジトリ(ファイル数 20 未満)で、パッケージ公開設定がなく、CI がなく、semver タグもない

判定が曖昧な場合は、ユーザーに確認します。project_type として保存します。


ステップ 3:見つけやすさの監査

README の内容を生成または監査する前に、リポジトリレベルで見つけやすさに関する次の項目を確認します。調査結果と提案をユーザーに提示します。

リポジトリ名:

  • キーワードが豊富で検索しやすい名前か確認します(例:markdown-lint-action は my-linter より適切です)
  • 一般的すぎる名前(app、project、tool、my-thing)に注意を促します

GitHub の概要/説明:

  • 利用可能な場合は gh repo view で読み取ります
  • 3〜8 語にし、主要なキーワードを先頭に置く必要があります
  • 説明がない、または一般的すぎる場合は改善案を提案します

トピック:

  • GitHub では最大 20 個のトピックを設定できます
  • 検出した技術スタック、プロジェクトの種類、分野に基づいて関連トピックを提案します
  • typescript、cli などの広いトピックと、markdown-parser、github-action などの具体的なトピックを含めます

ソーシャルプレビュー画像:

  • 画像がない場合はその旨を伝え、作成を提案します(推奨サイズ:1280x640px)

llms.txt(任意):

  • リポジトリがライブラリ/SDK またはツール/CLI の場合、llms.txt ファイルの生成を提案します
  • 目的:LLM がプロジェクトを正しく理解し、正確に推奨できるようにします

見つけやすさに関する提案を提示します。ユーザーは提案を受け入れる、スキップする、または後回しにできます。これらの提案は README の生成を妨げません。


ステップ 4:生成/監査/更新

生成モード

4a. 既存の README を確認 — 存在する場合は、上書きするか、代わりに更新モードを使用するかを確認します。

4b. セクションを選択 — プロジェクトの種類に基づいて選択します(下記の「セクションメニュー」を参照)。

4c. 文体の調整:

  • デフォルト:プロフェッショナルな製品の文体 — 明快で、直接的で、曖昧な表現や誇張した宣伝文句は使いません
  • 個人/実験用リポジトリ、またはユーザーが明示的に許可した場合:一人称の使用を認めます
  • 決して使わないもの:問題の記述での受動態、文章中の絵文字、誇張した宣伝文句

4d. 各セクションを生成:

  • タイトル+説明 — パッケージ設定またはディレクトリから名前を取得します。120 文字未満の太字の説明を 1 行で記載します
  • バッジ — 下記の「バッジの選択」を参照します
  • はじめに/インストール — バージョンを含む前提条件、インストール手順、初回実行コマンドを記載します。20 行未満にします
  • 種類別セクション — 「セクションメニュー」に従います。スキャンしたコンテキストが十分にある場合のみ含めます
  • 「理由」セクション(個人/実験用のみ)— ユーザーに 2~3 文の説明を求めます。内容を捏造してはいけません
  • ライセンス — LICENSE ファイルの種類を確認します。ファイルへのリンクを 1 行で記載します

4e. PII/インフラ情報の除去チェックを実行(下記を参照)。書き込む前に違反箇所を削除します。

4f. 書き込み {repo_path}/README.md を書き込み、概要を表示します。

監査モード(読み取り専用)

既存の README を読み込みます。ファイルは一切変更しないでください。

品質シグナルを確認し、重み付けされた評価基準に照らして採点します。

カテゴリー重み確認項目
明確さ251 行の説明は明確か? タイトルは内容を的確に表しているか?
使いやすさ25インストール/セットアップコマンドは機能するか? コード例はあるか? はじめには 20 行未満か?
信頼性15バッジはあるか? バッジの URL は有効か? ライセンスセクションはあるか?
最新性15バージョン番号はパッケージ設定と一致しているか? 技術スタックはリポジトリと一致しているか? 古いリンクはないか?
セキュリティ20PII やインフラ情報の漏えいはないか? API キー/トークンはないか? 非公開のホスト名/IP アドレスはないか?

採点: 各カテゴリーを 0~100 点で採点し、最終スコアは加重平均とします。

=== README Audit: {repo-name} ===
Score: {X}/100

Clarity:      {X}/25
Usability:    {X}/25
Credibility:  {X}/15
Currency:     {X}/15
Security:     {X}/20

PASS:
  - {passing checks}

WARN:
  - {warnings with specific detail}

FAIL:
  - {failures with specific detail and fix suggestion}
更新モード
  1. リポジトリを再スキャンし(ステップ 1)、現在の状態を検出します
  2. サイレント監査を実行 — 結果を保存し、表示しません
  3. 更新計画を生成 — カテゴリーごとに diff 形式で分類します:
    • [STRUCTURE] — セクションの欠落/古い内容、バッジの変更
    • [CONTENT] — 古いバージョン番号、古くなった技術情報
    • [VOICE] — 曖昧な表現、誇張した宣伝文句、受動態
    • [SECURITY] — PII/インフラ情報に関する違反(自動的に適用)
  4. プレビューを表示 — 提案する変更を番号付きリストで表示します
  5. ユーザーの承認 — y(すべて)、N(キャンセル)、またはカンマ区切りの番号
  6. 適用し、最終的な PII チェックを実行して、ファイルを書き込み、概要を表示します

プロジェクトの種類別セクションメニュー

セクションツール/CLIライブラリ/SDKコレクションWeb アプリ個人用
タイトル+説明必須必須必須必須必須
バッジ必須必須必須必須任意
はじめに/インストール必須必須必須必須必須
使用方法/コマンド必須--------
API リファレンス--必須------
カタログ/索引----必須----
機能推奨推奨--必須--
設定推奨推奨--推奨--
アーキテクチャ------推奨--
これを作った理由--------必須
対象ユーザー推奨推奨推奨----
コントリビューション推奨必須推奨推奨--
ライセンス必須必須必須必須必須

音声ガイドライン

種類デフォルトのトーン冒頭の例
ツール/CLI直接的、実用的「CI パイプライン向けの高速な Markdown リンティング。」
ライブラリ/SDK技術的、正確「Stripe API 向けの型付き HTTP クライアント。」
コレクション整理され、見やすい「再利用可能な GitHub Actions ワークフローを 50 個以上収録。」
ウェブアプリ製品を中心に、明快「チーム分析機能を備えたリアルタイムのプロジェクトダッシュボード。」
個人向け一人称、意見を明確に「読書習慣を記録するもっと良い方法が必要でした。」

必ず守ること: 直接的で具体的、意見を明確にし、段落は短く(最大 4 文)。 避けること: 曖昧な表現、誇張した宣伝文句、問題の説明での受動態、本文中の絵文字。


バッジの選定

検出された技術スタックに基づき、技術バッジを 1〜3 個、ライセンスバッジを最低 1 個生成します。

すべてのバッジに style=for-the-badge を使用します。一般的なパターン:

![License](https://img.shields.io/github/license/{owner}/{repo}?style=for-the-badge)
![GitHub Stars](https://img.shields.io/github/stars/{owner}/{repo}?style=for-the-badge)
![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?style=for-the-badge&logo=typescript&logoColor=white)
![Python](https://img.shields.io/badge/Python-3776AB?style=for-the-badge&logo=python&logoColor=white)
![Node.js](https://img.shields.io/badge/Node.js-339933?style=for-the-badge&logo=nodedotjs&logoColor=white)
![React](https://img.shields.io/badge/React-61DAFB?style=for-the-badge&logo=react&logoColor=black)

バッジの順序:技術スタック(左)→ スター数 → ライセンス(右)。


個人情報/インフラ情報の除去

すべてのモードで実行します。生成済みまたは既存の README テキストをスキャンして、以下を確認します。

  • 非公開のホスト名
  • IP アドレス(特に 10.x、172.16-31.x、192.168.x、100.x の Tailscale)
  • 内部ネットワーク/VLAN 名
  • デバイス識別子またはシリアル番号
  • 公開すべきでないクライアント名または雇用主名
  • 個人のメールアドレス
  • API キーまたはトークン(sk-、token_、ghp_、Bearer、長い英数字の文字列)
  • 内部の Docker/サービス設定(非公開のポートマッピング、コンテナ名)
  • SSH 設定の参照(エイリアス、秘密鍵のパス)

違反が見つかった場合: それぞれを列挙し、削除または伏せ字にして、削除した内容をユーザーに示します。 セキュリティ違反への対応は任意ではありません。 更新モードでは自動的に適用します。


主要原則

  • 推測せず、検出する。 リポジトリをスキャンし、実際に存在する内容に合わせて構成を調整します。
  • デフォルトでプロフェッショナルに。 一人称の語り口は任意であり、デフォルトではありません。
  • 見つけやすさを重視する。 リポジトリ名、説明、トピック、llms.txt も README の一部です。
  • 完全さより品質を重視する。 空のプレースホルダーが並ぶ肥大化した README より、よく書かれたセクションを絞って掲載します。
  • セキュリティは譲れません。 個人情報/インフラ情報の除去は、毎回、すべてのモードで実行します。
  • 監査モードは読み取り専用です。 監査中にファイルを変更してはいけません。

コメント