Communityコーディング&開発github.com

farfarfun-skill/publish-skill

スキルリポジトリ内のskills/<slug>/SKILL.mdのフロントマターと本文を検証し、skills.shでの発見用のnpx skills addインストールマニフェストを生成し、公開スキルリポジトリを別のGitHub組織(マーケットプレイスやアグリゲーターなど)にミラーリング/同期します。スキルの公開準備状態の確認、skills.shのインストールコマンドの生成、またはスキルリポジトリのセカンダリプラットフォームへのフォーク/同期を行う場合に使用します。README構造やリポジトリのトピック/説明については、代わりにgithub-repo-standardsを使用してください。

publish-skill とは?

このスキルは、skills.shエコシステム向けにスキルを公開するためのエンドツーエンドのワークフローを提供します。主な機能は3つあります:(1) リポジトリ内のすべてのskills/<slug>/SKILL.mdファイルを検証し、適切なフロントマター(name、descriptionなど)と本文があることを確認します。(2) 有効な各スキルに対して`npx skills add`インストールコマンドを生成するマニフェストを作成します。これにより、スキルをskills.shで発見可能にします。(3) リポジトリをセカンダリGitHub組織にミラーリング/同期し、別のマーケットプレイスやアグリゲーターでの発見を可能にします。このスキルは、Claude Code、Codex、Clineなどのエージェント環境で動作し、Pythonスクリプト(`scripts/skill_publisher.py`)を使用して検証、マニフェスト生成、組織全体の公開、ミラーリングを実行します。重要なのは、skills.shにはサブミッションキューがなく、公開されたGitHubリポジトリをクロールしてスキルを発見するため、このスキルはリポジトリの準備状態をチェックし、エージェントがインストールできるようにするためのものです。

対応✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/farfarfun-skill/publish-skill/tree/main/skills/publish-skill

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

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

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

ドキュメント

Publish Skill

skills.shにはサブミッションキューがありません。公開されているGitHubリポジトリから適切な形式のskills/<slug>/SKILL.mdファイルをクロールしてスキルを発見します。したがって、「公開」とは、リポジトリが公開されており、すべてのSKILL.mdに有効なフロントマターがあり、(オプションで)スキルがリポジトリを直接インデックス化するセカンダリマーケットプレイス/組織にミラーリングされていることを意味します。

検証

このスキルディレクトリから実行します:

python3 scripts/skill_publisher.py validate --workspace /path/to/repo --fail-on block

すべてのskills/<slug>/SKILL.mdをチェックします:フロントマターが---で始まり---で終わっていること、nameが存在し小文字のkebab-caseであること、nameがそのディレクトリと一致すること、descriptionが存在し20〜1024文字であること、フロントマター後の本文に実際の指示があること(単なるスタブではないこと)。

より厳格なゲートには--fail-on reviseを、機械処理用には--format jsonを使用します。

インストールマニフェストの生成

python3 scripts/skill_publisher.py manifest --workspace /path/to/repo

git remote originからリポジトリのGitHubスラッグを解決し、有効なスキルごとにnpx skills add <owner>/<repo> --skill <name>の行を1つ出力します。これが「skills.shからインストールする」手順として配布するもの(またはREADME/アナウンスに貼り付けるもの)です。別途サブミッション手順はありません。

allはvalidateとmanifestを1回の呼び出しで実行し、同じ--fail-onゲートを共有します。

組織全体を1つのコマンドで公開

python3 scripts/skill_publisher.py org --org farfarfun-skill --workspaces-dir /path/to/farfarfun-skill

これは「すべてを公開する」ワンショットエントリポイントです。--org内のすべての公開されている非フォークリポジトリをgh repo listで一覧表示し、--workspaces-dir以下にまだチェックアウトされていないものはクローンし(既存のクローンをプルしたり変更したりすることはありません)、skills/ディレクトリのないリポジトリをスキップし、残りに対してvalidateを実行し、組織全体の結合されたインストールマニフェストを出力します。--workspaces-dirのデフォルトは--workspaceの親ディレクトリであるため、ディスク上で兄弟リポジトリの隣にあるリポジトリから実行する場合、追加のフラグは必要ありません。

--registerを追加すると、検証に合格したすべてのスキルに対してローカルでnpx skills add <owner>/<repo> --skill <name> -yも実行します。これは実際にskills.shのインストールテレメトリ/リーダーボードにフィードするメカニズムであり(サブミッションAPIはありません)、またこのマシンのエージェントスキルディレクトリにスキルをインストールするため、その副作用が必要な場合にのみ渡してください。

さらにスキルをセカンダリ組織にフォーク/同期するには、--mirror-to <org>を追加します(以下を参照)。

別のプラットフォームにミラーリング

python3 scripts/skill_publisher.py mirror --workspace /path/to/repo --target-org farfarfun-skills

最初の実行時にリポジトリを--target-org(デフォルトfarfarfun-skills)に<owner>--<repo>としてフォークし、以降の実行ごとにそのフォークをソースから再同期します。これは、この組織がセカンダリ発見のためにfarfarfun-skill/*リポジトリを既にミラーリングしている方法と一致します。ターゲット組織内にリポジトリを作成する権限を持つ認証済みのghが必要です。これはリモートのGitHub状態を変更する唯一のサブコマンドです。最初にvalidateを実行し、検証に合格したリポジトリのみをミラーリングしてください。

結果を返す

validateからallow、revise、blockのいずれか、合格したチェック、および各指摘事項に対する具体的な修正パス(どのファイル、どのフィールド、何を変更すべきか)を返します。manifestとmirrorは情報提供/アクションの出力であり、ゲートではありません。これらでブロックしないでください。

関連スキル