mcpField
L
ln-912-community-announcer

ln-912-community-announcer

github.com/levnikolaevichマーケティング・グロース584185 回インストール2 日前に更新
リポジトリ

ln-912-community-announcer について

GitHub Discussions にプロジェクトのお知らせを作成・公開するスタンドアロンのスキルです。プロジェクトの情報確認、文体選択、草稿の検証を経て、承認後に公開します。

主な機能

  1. 01リポジトリと告知カテゴリの確認
  2. 02方針、変更履歴、コミット、変更内容の確認
  3. 03告知の分類と文体選択
  4. 04草稿の記述とリンクの検証
  5. 05明示的な承認後の公開

活用シーン

  1. 01プロジェクトのリリース告知作成
  2. 02コミュニティへの破壊的変更の説明
  3. 03Discussions でのプロジェクト更新共有

インストール

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

$npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-912-community-announcer

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

同梱ファイル

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

references/
announcement_styles.md
community_discussion_formatting.md
community_github_discovery.md
community_strategy_template.md
humanizer_checklist.md

詳細

パス: ファイルパス(references/、../ln-*)は、このスキルディレクトリからの相対パスです。

ln-912-community-announcer

タイプ: L3 ワーカー(スタンドアロン) カテゴリ: 9XX コミュニティエンゲージメント GitHub Discussions(Announcements カテゴリ)向けに、構成化された告知を作成して公開します。


フェーズ 0:GitHub の確認

必ず読む: references/community_github_discovery.md を読み込みます。

確認プロトコルを実行します。次の情報を抽出します。

  • URL と git コマンドで使用する {owner}/{repo}
  • GraphQL ミューテーションで使用する repo.id
  • 公開先となる categories["Announcements"] のカテゴリ ID
  • Announcements カテゴリが存在することを確認します

読み込み方法:対象プロジェクトの docs/community_engagement_strategy.md を確認し、なければ references/community_strategy_template.md を使用します。セクション 2(Announcement Triggers)とセクション 6(Tone Guide)を抽出します。

必ず読む: references/community_discussion_formatting.md を読み込みます。 必ず読む: announcement_styles.md を読み込みます。 必ず読む: references/humanizer_checklist.md を読み込みます。


フェーズ 1:コンテキストの収集

  1. 戦略のセクション 2 を読み、これが告知に該当することを確認します
  2. CHANGELOG.md を読み、最新のエントリ(または $ARGUMENTS で日付が指定されている場合は該当するエントリ)を抽出します
  3. README.md を読み、現在のバージョンバッジと WARNING/IMPORTANT の注意書きを確認します
  4. 実行:git log --oneline -20 -- 最近のコミットを確認します
  5. $ARGUMENTS にトピックのキーワード(日付以外)が含まれている場合は、告知のテーマとして使用します
  6. 実行:git diff --name-only(未コミットの変更)または git diff --name-only HEAD~1..HEAD(直近のコミット)-- 変更されたファイルの一覧を作成します
  7. 差分に含まれる主要なソースファイルを読みます(最大 5 ファイル。$ARGUMENTS のトピックとの関連性が高いものを優先します)。
    • 差分に含まれるプロトコル/ガイドファイル -> 全文を読みます(内容を把握します)
    • 差分に含まれる SKILL.md ファイル -> git diff -- {file} で変更されたセクションのみを読みます
    • リファレンスファイル -> 大幅に変更されている場合に読みます
    • 目的:CHANGELOG に記載されていない変更の「理由」を把握します

フェーズ 2:分類とスタイルの選択

2a. 告知の種類を分類する
種類トリガー絵文字
リリースCHANGELOG に新しいバージョンがある:rocket:
破壊的変更README に WARNING の注意書きがある、または CHANGELOG に「breaking」と記載されている:warning:
新機能CHANGELOG に新機能のエントリがある:sparkles:
アーキテクチャ構造的な変更(新しいカテゴリ、プラグインの分割):building_construction:
コミュニティ技術以外の更新(イベント、マイルストーン):people_holding_hands:
2b. スタイルを選択する

announcement_styles.md の Style Selection Matrix を使い、告知の種類に基づいて基本スタイルを選択します。Discussions の直近 3 件の告知を確認し、すべて同じスタイルが使われている場合は、バリエーションを持たせるために別のスタイルを選びます。

任意でスタイルを組み合わせることもできます。あるスタイルのフックと別のスタイルの本文を組み合わせます(announcement_styles.md のスタイルの組み合わせ表を参照)。


フェーズ 3:告知の作成

announcement_styles.md で選択したスタイルのテンプレートを構成の基礎として使用し、GitHub の Markdown 構文には discussion_formatting.md を使用します。

必須要素(すべてのスタイル):

  • ### What's Next の後に ### Contributors セクションを追加し、該当する場合は @メンションで貢献者に感謝します(個人作業の場合は省略)
  • フッターを追加します:*Full changelog: [CHANGELOG.md](https://github.com/{owner}/{repo}/blob/{default_branch}/CHANGELOG.md)*
  • 破壊的変更の場合は、明確な変更前/変更後を示す移行手順を > [!IMPORTANT] アラートに含めます
  • エンゲージメントを促す質問で締めくくります(announcement_styles.md の Writing Quality チェックリストに従います)

フェーズ 4:事実確認

ユーザーに提示する前に、草案に含まれる検証可能な主張をすべて確認します。

  1. コマンドとコードブロック -- 草案内の各コマンド/スニペットを README.md で grep します。コマンドが見つからない場合は、実際のコマンドに置き換えます。インストール/更新コマンドを決して捏造してはいけません。

  2. ファイルパスとリンク -- リンク先の各ファイルが存在することを確認します:ls {path}。リンク切れがあれば削除するか、修正します。

  3. 数値 -- 記載された件数を実際のデータと照合します:git diff --name-only | grep -c SKILL.md または ls -d ln-*/SKILL.md | wc -l。

  4. 機能の説明 -- Phase 1 のステップ 7 で確認した主要なソースファイルを読み直し、草案が変更内容を正確に説明していることを確認します。実際にはない機能を作り上げてはいけません。

  5. 名前 -- 名前がリポジトリ内の実際のディレクトリ名/ファイル名と一致していることを確認します。

  6. 人間らしさの監査 -- humanizer_checklist.md の監査手順を実施します。AI らしいパターンが 3 つ以上見つかった場合は、該当箇所を書き直します。

完了条件: 確認項目に不合格があれば、先に草案を修正します。


フェーズ 5:レビューと公開

作成した告知のタイトルと本文をユーザーに提示します。公開する前に、明示的な承認を待ちます。

承認後、ディスカバリーコンテキストを使用して GraphQL 経由で公開します。

gh api graphql -f query='
  mutation($title: String!, $body: String!, $repoId: ID!, $catId: ID!) {
    createDiscussion(input: {
      repositoryId: $repoId,
      categoryId: $catId,
      title: $title,
      body: $body
    }) {
      discussion { url }
    }
  }
' -f title="TITLE_HERE" -f body="BODY_HERE" -f repoId="{repo.id}" -f catId="{categories.Announcements}"

ディスカッションの URL をユーザーに知らせます。

注: API ではピン留めできません。告知が重要な場合は、GitHub UI で手動でピン留めするようユーザーに伝えます。


フェーズ 6:クロスポスト(任意)

告知がリリースまたは破壊的変更に関するものであれば、次のことを提案します。

  1. バージョンタグがある場合は、対応する GitHub Release を作成します:gh release create vX.Y.Z --notes "See discussion: URL"
  2. 告知によってプロジェクトの対象範囲が変わる場合は、リポジトリの説明を更新します。

完了の定義

  • コンテキストを収集した(CHANGELOG、README、git log、主要なソースファイル)
  • 告知の種類を分類し、スタイルを選択した(直近 3 回とは異なるもの)
  • 選択したスタイルのテンプレートと書式ルールを使って草案を作成した
  • 文章の品質チェックリストに合格した(announcement_styles.md)
  • 事実確認を完了した(コマンド、パス、数値、説明、名前を検証済み)
  • ユーザーが最終稿を承認した
  • GraphQL mutation 経由で公開し、URL を報告した

バージョン: 1.0.0 最終更新日: 2026-03-13

コメント