Skill Open Sourcer(スキル公開パッケージャー)
ローカルのスキル1つを、クリーンな公開用リリースパッケージに変換します。通常の入力はSKILL.mdのパス、またはスキルディレクトリだけです。
デフォルトの姿勢: 迅速に動くが、リリースリスクがあれば停止する。セキュリティスキャンで秘密情報、プライベートパス、クライアントデータ、未公開のプロプライエタリ素材、または不明瞭な所有権が見つかった場合は、ブロッカーを報告し、ユーザーが解決するまで公開しません。
クイックスタート
- 入力を実際のスキルディレクトリに解決します。
SKILL.mdファイル、SKILL.mdを含むフォルダ、または.codex/skills、.agents/skills、.claude/skills、その他のローカルスキルルート配下のシンボリックリンクを受け付けます。 - パッケージ化または公開の前に環境チェックを実行します:
SKILL_OPEN_SOURCER_DIR="${CODEX_HOME:-$HOME/.codex}/skills/skill-open-sourcer"
python3 "$SKILL_OPEN_SOURCER_DIR/scripts/check_release_env.py"
必要なローカルコマンドはpython3、git、node、npxです。ghはデフォルトのローカルGitHub公開インターフェースですが、GitHub MCP/アプリまたは既存の認証済みリモートで置き換えることもできます。GitHub公開インターフェースが利用できない場合は、リポジトリをローカルでビルドして検証し、セットアップ不足を伝えて停止します。
- スキルのエントリポイントを読み取り、直接参照されている
scripts/、references/、assets/、agents/ファイルを検査します。関係のないローカルフォルダはコピーしません。 - セキュリティスキャナーを実行します:
SKILL_OPEN_SOURCER_DIR="${CODEX_HOME:-$HOME/.codex}/skills/skill-open-sourcer"
python3 "$SKILL_OPEN_SOURCER_DIR/scripts/scan_skill_release.py" /path/to/skill-or-SKILL.md
- 環境チェックとセキュリティスキャンが問題なければ、ソーススキルディレクトリの外部に新しいリリースリポジトリを作成します。
- 単一スキルリポジトリの場合は、
SKILL.md、agents/、references/、scripts/、assets/をリポジトリルートに直接コピーします。skills/<skill-name>/とskills.sh.jsonは、複数スキルをまとめたリポジトリの場合にのみ使用します。 references/release-package.mdに記載されている公開用ファイル(README品質ゲートやGitHubメタデータの推奨事項を含む)を追加します。- 公開前に、パッケージ化されたスキルと
npx skillsの一覧表示を検証します。 - 低リスクチェックが通ったらGitHubに公開し、ローンチ用コピーを生成します。
リリースリポジトリを書き込む前にreferences/release-package.mdを読んでください。
出力契約
成功したリリースの場合、以下を返します:
- GitHubリポジトリURL。
npx skillsを使用したインストールコマンド。- スキル検証と
npx skills add <owner>/<repo> --listの検証結果。 - 簡単なリスクサマリー: スキャン対象、削除またはサニタイズされたもの、残存する前提条件。
- 新しい公開リポジトリ作成時のGitHub DescriptionとTopicsの推奨。
- ローンチコピー: 少なくとも1つのX/Twitter投稿と、ユーザーが中国語で作業している場合の中国語版(オプション)。
ブロックされた場合、以下を返します:
- ファイルパスと理由を含むブロッカーリスト。
- 推奨されるサニタイズ手順。
- 最も安全な次のアクション(通常は「これらのファイルをクリーンにして、リリースを再実行してください」)。
安全ルール
ソースパッケージに以下のいずれかが含まれている場合は、強制停止します:
- APIキー、トークン、秘密鍵、クッキー、認証情報、
.envファイル、認証設定。 /Users/...、/home/...などの絶対個人パス、ローカルボールトパス、公開ユーザーを混乱させるマシン専用キャッシュパス。- 顧客名、プライベート企業データ、内部ドキュメント、プライベートURL、未公開プロンプト、ライセンス不明の有償・プロプライエタリアセット。
- パッケージ外に脱出するシンボリックリンク、大きなバイナリ、データベース、ログ、ブラウザプロファイル、
.DS_Store、__pycache__、生成されたキャッシュファイル。 - バンドルされたコード/アセットのライセンスまたは所有権が不明瞭。
低リスクの自動公開は、スキャナーと手動レビューでブロッカーが見つからなかった場合のみ許可されます。対象のGitHubリポジトリが既に存在し、無関係なコンテンツが含まれている場合は、停止して上書きまたは強制プッシュの前に確認を求めます。
パッケージ化ルール
- 元のスキルの動作をそのまま維持します。プライベートな前提条件を削除し、公開インストールを信頼性のあるものにするために必要な範囲でのみリファクタリングします。
- 1つの公開スキルにはフラットなルートレイアウトをデフォルトとします。ネストされた
skills/<skill-name>/レイアウトは、1つのリポジトリで複数のスキルを公開する場合にのみ使用します。 - 簡潔な
SKILL.mdを優先します。詳細な公開ガイダンスは、エージェントが本当に必要とする場合にのみreferences/に移動します。 - スキルフォルダ内にREADMEを追加しないでください。人間向けのドキュメントはリリースリポジトリのルートに配置します。
agents/openai.yamlが存在する場合は保持します。存在しない場合は、display_name、short_description、および$<skill-name>を明示的に参照するdefault_promptを指定して作成します。scripts/は、スキルが実際に使用する決定論的なヘルパーロジックのみを含めます。assets/は、ライセンスとサイズが公開リリースに安全な場合にのみ含めます。- MITをデフォルトライセンスとして使用します。ただし、ソーススキルに競合するライセンスがなく、所有権が明確な場合に限ります。
公開フロー
scripts/check_release_env.pyを実行します。既存のローカルリポジトリを更新する場合は--repo-dir <release-repo>を追加します。パッケージ/ネットワークアクセスが不確かな場合は--check-npx-skillsを追加します。- 必要なコマンドが不足している場合は停止し、正確なブロッカーを報告します。
ghのみ不足している場合は、GitHub MCP/アプリが利用可能であるか、リリースリポジトリに既に認証済みのoriginリモートがある場合にのみ続行します。 - リリースリポジトリをローカルでビルドします。
- システムスキルバリデーターが利用可能な場合、それを使用して検証します:
python3 "${CODEX_HOME:-$HOME/.codex}/skills/.system/skill-creator/scripts/quick_validate.py" .
- 利用可能なGitHubインターフェース(
gh、GitHub MCP/アプリ、既存のリモート)を使用して、GitHubリポジトリを作成または更新します。強制プッシュは避けてください。 - ブランチまたは
mainをプッシュします。 - 一覧表示を確認します:
npx skills add <owner>/<repo> --list
- 一覧表示が機能したら、インストールコマンドを提供します:
npx skills add <owner>/<repo> -g -a codex --skill <skill-name> -y
ターゲットプラットフォームがCodexでない場合は、エージェントフラグとインストール文言を調整します。
ローンチコピー
公開成功後、以下の内容を簡潔に説明するソーシャル用コピーをドラフトします:
- スキルが解決する問題。
- ユーザーがスキルに与えるもの。
- スキルが公開または自動化するもの。
- インストールコマンドまたはリポジトリリンク。
- 具体的なリクエスト例1つ。
中国語ユーザーの場合は、自然な中国語のローンチ投稿を含めます。人間向けに保ち、スクリプトを過度に説明しないでください。