Communityライティング&編集github.com

metyatech/skill-release-publish

スキルのリリースとnpm公開を管理するエージェントスキル

skill-release-publish とは?

このスキルは、GitHubリポジトリのリリース管理とnpmパッケージの公開を自動化するエージェントスキルです。公開リポジトリには必須のメタデータ(説明、トピック、ホームページ)を設定し、CIワークフローや各種テンプレートファイル(課題テンプレート、PRテンプレート、SECURITY.mdなど)を確実に配置します。バージョン管理とリリースフローでは、パッケージバージョンとGitタグの一貫性を維持し、npm publishを実行する前に必要な準備コマンド(npm install、npm test、npm pack --dry-run)を実行し、依存関係のセキュリティチェックを行います。公開後は、レジストリの確認、新規インストールの検証、グローバル更新(該当する場合)を含む事後検証を実施し、明示的な合格/不合格/該当なしの基準で結果を報告します。metyatech所有のパッケージでは自動的にnpm publishを実行し、それ以外のパッケージではユーザーに手動実行を促します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add metyatech/skill-release-publish

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

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

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

ドキュメント

リリースと公開ワークフロー

公開リポジトリのメタデータ

  • 公開リポジトリの場合、エージェントはGitHubの説明、トピック、ホームページフィールドを設定する必要があります。
  • 公開リポジトリには、.github/workflows/ci.yml、課題テンプレート、PRテンプレート、SECURITY.md、CONTRIBUTING.md、CODE_OF_CONDUCT.md、CHANGELOG.mdが含まれている必要があります。
  • CIは、リポジトリの標準的なlint、テスト、ビルドコマンドを実行する必要があります。

バージョニングとリリースフロー

  • エージェントは、リリース内容が変更されたときにバージョンメタデータを更新し、パッケージバージョンとGitタグの一貫性を維持する必要があります。
  • バージョンを選択するよう求められた場合、エージェントは自分で決定する必要があります。
  • バージョンを上げる場合、エージェントは同じ更新でGitHubリリースを作成し、パッケージを公開する必要があります。
  • metyatech所有のパッケージのnpm公開の場合、エージェントは直接npm publishを実行する必要があります。自動化トークンが設定されています。
  • 他のパッケージの場合、エージェントはユーザーにnpm publishの実行を依頼する必要があります。
  • 公開前に、エージェントは必要な準備コマンド(npm install、npm test、npm pack --dry-runなど)を実行し、準備ができた場合のみ続行する必要があります。
  • 公開中に認証が失敗した場合、エージェントはユーザーに公開手順の完了を依頼する必要があります。
  • エージェントはリリース前に依存関係のセキュリティチェックを実行し、重大な問題に対処し、結果を報告する必要があります。

公開後の確認

公開後、エージェントはローカルにインストールされたコピーを新しく公開されたリリースに更新し、解決されたバージョンを確認する必要があります。エージェントは、この確認が完了するまで(またはユーザーが明示的に辞退するまで)「完了」と報告してはいけません。

エージェントは、確認を結果(合格/不合格/該当なし)と証拠を伴う明示的な合格基準として表現する必要があります。

  • AC1(レジストリ) — 公開されたバージョンがレジストリに存在することを確認します(例:npm view <pkg> version)。
  • AC2(新規インストール) — 最新のパッケージが解決され実行されることを確認します(例:npx <pkg>@latest --version)。
  • AC3(グローバル更新、該当する場合) — パッケージがグローバルにインストールされている場合、公開されたバージョンに更新して確認します(例:npm ls -g <pkg> --depth=0、npm i -g <pkg>@latest、その後<cmd> --version)。AC3が該当しない場合、エージェントはそれを「該当なし」とマークし、理由を明示的に述べる必要があります。

npm CLIの場合:

  • グローバルにインストールされている場合:npm ls -g <pkg> --depth=0で確認し、npm i -g <pkg>@latestで更新し、<pkg> --versionで確認します。
  • グローバルにインストールされていない場合:グローバル更新をスキップし、npx <pkg>@latest --version(またはエコシステムに相当するもの)で可用性を確認します。

標準リポジトリトピック

エージェントは、以下の標準セットからトピックを割り当てる必要があります。すべてのリポジトリは、該当する場合、少なくとも1つの標準トピックを持つ必要があります。標準トピックに一致しないリポジトリは、そのドメインに関連する説明的なトピックを使用する必要があります。

  • agent-skill — リポジトリにSKILL.md(インストール可能なエージェントスキル)が含まれています。
  • agent-tool — エージェントが使用するCLIツールまたはMCPサーバー(例:task-tracker、agents-mcp、compose-agentsmd)。
  • agent-rule — ルールソースまたはルールセットリポジトリ(例:agent-rules)。
  • unreal-engine — Unreal Engineプラグインまたはサンプルプロジェクト。
  • qti — QTI評価エコシステムツールまたはライブラリ。
  • education — コースコンテンツ、教材、または学生向けプラットフォーム。
  • docusaurus — Docusaurusプラグインまたは拡張機能。

標準トピックに加えて、追加の説明的なトピック(言語、フレームワーク、ドメインキーワード)は自由に追加できます。エージェントは、リポジトリの状況が大きく変化した場合、標準トピックセットを確認して更新する必要があります。エージェントは、新しいリポジトリのコンプライアンスゲートの一部としてトピックが設定されていることを確認する必要があります。

公開アーティファクトの要件

  • エージェントは、パッケージメタデータ(name、description、repository、issues、homepage、engines)を入力する必要があります。
  • エージェントは、実行可能なエントリポイントと必要なシバンを検証して、インストールされたコマンドが機能することを確認する必要があります。
  • リポジトリが単一のツールまたは製品を表す場合、エージェントは単一のパッケージ(関連スクリプトをバンドル)を公開する必要があります。

関連スキル