skill-open-sourcer について
skill-open-sourcerは、Skillをzjp1997720/zhijian-skillsへ公開するためのエージェントスキルです。検証、安全確認、レジストリ更新、公開後の確認を含む管理されたリリース手順を定めています。
主な機能
- 01正規リポジトリへの公開
- 02Skillペイロードと文書の梱包
- 03リリース計画と検証
- 04秘密情報とプライバシーの保護
- 05インストールとリモート公開の確認
活用シーン
- 01正規ポートフォリオへのSkill公開
- 02バージョン付きSkillリリースの準備
- 03隔離環境でのSkillインストール確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ zjp1997720/ zhijian-skills --skill skill-open-sourcerインストール後、Claude Code で/skill-open-sourcerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSEagents/interface.yamlopenai.yamlreferences/portfolio-mode.mdreadme-design.mdregistry-contract.mdrelease-contract.mdrelease-package.mdsecurity-contract.mdthird-party-notices.mdversion-contract.mdworkbuddy-marketplace.mdscripts/audit_release_readme.pycheck_release_env.pygit_sync_guard.pymanage_local_links.pyportfolio.pyrelease_portfolio.pyscan_skill_release.pyverify_isolated_install.pytests/test_audit_release_readme.pytest_release_selection.pytest_scan_skill_release.pytest_skill_contract.pytest_verify_isolated_install.py詳細
Skill Open Sourcer
単一の正規リポジトリ https://github.com/zjp1997720/zhijian-skills から、すべての公開 Skill を公開します。
公開に関する厳格な境界
SKILL.mdのパスまたは Skill ディレクトリはインポート候補であり、リポジトリ作成の依頼ではありません。- エージェントのペイロード全体を
skills/<name>/に、人向けのドキュメントをdocs/skills/<name>/に、リリースノートをdocs/changelogs/<name>.mdに配置します。 - Skill を
registry/skills.jsonに登録します。mirror、mirror_tag、独立したリポジトリ、リダイレクトワークフロー、ミラーエクスポートのメタデータは追加しないでください。 - コミット、Skill ごとのタグ、インストール手順は、
zjp1997720/zhijian-skillsからのみ公開します。 - シークレット、プライベートパス、クライアントデータ、未公開の専有資料、所有権が不明確なアセット、または検証されていない正規リモートが見つかった場合は停止します。
作業を始める前に、ポートフォリオモード、レジストリの契約、リリースパッケージ、README の設計を読んでください。
WorkBuddy マーケットプレイス分岐
WorkBuddy のカスタムソースへの適応、マーケットプレイスの保守、またはインストール成功後にコールドスタートで見つからない問題に対応する場合は、編集前にWorkBuddy マーケットプレイスを読んでください。アダプターのみのタスクでは、定められた完了条件に従ってください。Skill のペイロードも変更する場合は、以下の完全なリリースワークフローを使用します。
Skill のリリースによってレジストリの項目やバージョン、または既存の WorkBuddy カタログで使用される説明が変更される場合は、リリース計画を確定する前に、生成されたマーケットプレイスを更新して検証します。この分岐でも、上記の公開、ソースの所有権、認可に関する境界は維持されます。
ワークフロー
- 入力を実在する Skill ディレクトリに解決します。
SKILL.md、それを含むディレクトリ、またはローカル Skill ルートからのシンボリックリンクを受け付けます。 - 現在のリポジトリ、
ZHIJIAN_SKILLS_REPO、または~/Documents/GitHub/zhijian-skillsから正規チェックアウトを解決します。originがzjp1997720/zhijian-skillsを指していることを確認してください。別の宛先を推測してはいけません。 - 正規リポジトリの Git 同期ルールに従います。既存のチェックアウトから変更または公開する前に、
git_sync_guard.py check --repo <zhijian-skills>を実行してください。needs-syncマーカーがある場合は必ず停止します。その後、次を実行します。
SKILL_OPEN_SOURCER_DIR="<zhijian-skills>/skills/skill-open-sourcer"
python3 "$SKILL_OPEN_SOURCER_DIR/scripts/check_release_env.py" \
--repo-dir <zhijian-skills> --check-npx-skills
python3 "$SKILL_OPEN_SOURCER_DIR/scripts/scan_skill_release.py" \
/path/to/skill-or-SKILL.md
SKILL.mdと、そこから直接参照されるagents/、references/、scripts/、assets/を調査します。サニタイズ済みの完全なインストール用ペイロードのみをskills/<name>/にコピーし、必要なライセンスとサードパーティの通知を保持します。- README の設計に従って、8 項目のリリースストーリーを作成し、
clean-docまたはproof-ledを選択します。その後、二言語ドキュメント、Changelog、レジストリレコード、ポートフォリオカタログ、プロジェクトに合わせたビジュアルを新規作成または更新します。proof-ledのヒーローには、Skill の実際の仕組みまたは出力から導いた構成を使用する必要があります。共有レイアウト内でタイトルとモチーフだけを変更したものは、レビューに合格しません。ルートレベルのSKILL.mdを公開したり、Skill のペイロード内に人向けの README ファイルを追加したりしないでください。 - version-contract.md に従ってバージョンを選択します。正規のタグ
<skill>/v<version>のみを使用します。 - 対象範囲が最も狭いセレクターを使ってリリース計画を確定します。管理対象の Skill では、その
manifest.jsonでtrust_reportとoutput_quality_scorecardをインストール用ペイロード内のファイルとして宣言する必要があります。両方のファイルが存在し、HEADで追跡されていなければなりません。いずれかのベースラインが未宣言、欠落、未追跡、またはペイロードの範囲外の場合、候補参照を作成する前に計画は失敗します。1 つの Skill には--skill <name>を使用します。--allと任意の--excludeは、意図的な複数 Skill のリリースに限って使用します。
python3 "$SKILL_OPEN_SOURCER_DIR/scripts/release_portfolio.py" plan \
--repo <zhijian-skills> --source-checkout <original-checkout> \
--skill <name> --dry-run \
--plan-out /tmp/<name>-release-plan.json
python3 "$SKILL_OPEN_SOURCER_DIR/scripts/release_portfolio.py" verify \
--plan /tmp/<name>-release-plan.json
--skill と --all は同時に指定できません。--skill を繰り返し指定できるのは、ユーザーが小規模な複数 Skill のリリースを明示的に許可した場合のみです。--skill と --exclude を組み合わせないでください。
この計画では、git ls-remote を使ってライブの origin/main の SHA を記録します。verify は再度その値を照会し、変更されていた場合は失敗します。--repo が一時的なクリーンなクローンの場合、--source-checkout で元のチェックアウトを指定する必要があります。計画の作成時に、そのチェックアウトには release-in-progress マーカーが設定され、古いベースから新しいコミットを作成できないように、pre-commit ガードがインストールされます。
- Skill、宣言されたテスト、Portfolio 全体、ドキュメント、リポジトリの契約を検証します。
python3 "$SKILL_OPEN_SOURCER_DIR/scripts/portfolio.py" \
validate-skill <zhijian-skills>/skills/<name>
python3 "$SKILL_OPEN_SOURCER_DIR/scripts/portfolio.py" \
audit --repo <zhijian-skills> --strict
python3 "$SKILL_OPEN_SOURCER_DIR/scripts/audit_release_readme.py" \
--repository-root <zhijian-skills> \
<zhijian-skills>/docs/skills/<name>/README.md \
<zhijian-skills>/docs/skills/<name>/README.zh-CN.md --strict
python3 -m unittest discover -s <zhijian-skills>/tests -v
README のアセットが Portfolio によって生成される場合は、それらを再生成し、差分を受け入れる前にアセットのテストを実行します。変更したすべての Hero を 900px と 360px でレンダリングします。決定論的なチェックは、目視確認の代わりにはなりません。
- ローカルの
npx skillsによる検出を確認してから、正規リポジトリから、失敗時に直ちに終了する隔離コピーインストールを 1 回実行します。
python3 "$SKILL_OPEN_SOURCER_DIR/scripts/verify_isolated_install.py" \
--repo <zhijian-skills> --skill <name>
検証ツールは HOME を隔離し、コピー形式を使用して、SHA-256 マニフェストをバイト単位で比較します。事前チェック、インストール、実体化、ファイルの不足や余分なファイル、または内容の比較で失敗した場合、直ちにゼロ以外の値を返します。終了コードを隠す可能性のある、成功を表示するコマンドを後ろに追加しないでください。一覧表示に成功しただけでは不十分です。トップレベルのヘルプのみを使用します:npx --no-install skills --help。npx skills add <source> --help は絶対に実行しないでください。skills CLI 1.5.x では、<source> がすでに有効な add リクエストであるため、実際のインストールが行われる可能性があります。
- 記録されたリモート SHA から作成した短命ブランチでのみコミットします。リモートへの反映直前に、もう一度
verifyを実行してからブランチをプッシュし、PR を通じて保護されたmainにマージします。エージェントがmainに直接プッシュすることはありません。マージ後、ライブのリモート SHA を取得し、検証済みの遷移を記録します。
python3 "$SKILL_OPEN_SOURCER_DIR/scripts/release_portfolio.py" record-step \
--plan /tmp/<name>-release-plan.json --skill <name> \
--step canonical-pushed --remote-sha <merged-origin-main-sha>
この手順では、リモートの main に計画したソースが含まれていることを検証し、一時クローンのソースマーカーを needs-sync に更新します。gh repo create を呼び出したり、<owner>/<skill-name> に公開したりしないでください。
- リモートの Portfolio 一覧と隔離インストールを検証してから、正規の Tag を作成し、コピーを公開します。ソースチェックアウトのマーカーをクリアできるのは、そのチェックアウトがクリーンで、ローカルの
HEADが検証済みのリモート SHA と完全に一致している場合のみです。
出力要件
以下を返します。
zjp1997720/zhijian-skills配下の正規 Skill URL- 正規コミット、バージョン、
<skill>/v<version>Tag npx skills add zjp1997720/zhijian-skillsを使用したインストールコマンド- Skill の検証、Portfolio の監査、リモート一覧、隔離インストールの結果
- README のプレゼンテーション階層と、意図的に用意したビジュアルアセット
- 8 項目のリリースストーリー、独自の構成上の選択、レンダリングしたデスクトップ版/モバイル版の確認結果
- 安全性の概要と、残る前提条件
- X/Twitter 向けの公開投稿を少なくとも 1 件と、中国語ユーザー向けの中国語版
作業が阻まれた場合は、ファイルパス、理由、サニタイズ手順、最も安全な次の対応を返します。
安全規則
以下の場合は必ず停止します。
- API キー、トークン、秘密鍵、Cookie、認証情報、
.env、認証設定 - 個人の絶対パス、ローカルの Vault パス、または特定マシン専用のキャッシュ
- クライアントデータ、非公開 URL、未公開のプロンプト、再配布権のないアセット
- リポジトリ外を指すシンボリックリンク、データベース、ログ、ブラウザープロファイル、
.DS_Store、依存関係のキャッシュ、説明のないバイナリ - 安全に整合性を確認できない、汚れた状態または未検証の正規リポジトリ
release-in-progressまたはneeds-syncのチェックアウトマーカー- リリース計画の凍結後にリモートの
mainが変更された場合 - 管理対象の
trust_reportまたはoutput_quality_scorecardが未宣言、欠落、ペイロードの範囲外、またはHEADで追跡されていない場合
認証情報をリテラル値で割り当てている場合はブロッカーです。トークン変数を URL エンコードするなどの実行時変換は、リテラルな秘密情報ではないため、一般的な代入検出によってブロックしてはなりません。確度の高いプロバイダーキーのパターンは引き続きブロッカーとします。
強制プッシュ、公開済み Tag の書き換え、単独リポジトリの作成、または証拠の欠落を合格として扱うことは、絶対にしないでください。
パッケージングルール
- 単一ファイルの Skill を含め、すべての Skill を
skills/<skill-name>/に配置します。 SKILL.mdは簡潔に保ち、エージェント向けの詳細なガイダンスは必要な場合に限りreferences/に配置します。agents/openai.yamlを保持します。存在しない場合は、$<skill-name>をデフォルトのプロンプトとして作成します。- 決定的なスクリプトと、ライセンスが明確なエージェント向けアセットのみを含めます。
- 人間向けのドキュメントは
docs/skills/<skill-name>/に配置し、README のビジュアル素材はassets/readme/ディレクトリに配置します。 registry/skills.json、ルート README のカタログ、決定的なアセット生成スクリプトをまとめて更新します。生成される実証的な証拠を備えた Hero には、それぞれ一意で安定したdata-composition値と、プロジェクト固有の対応する生成ブランチが必要です。Portfolio のテストでは、重複した composition ID を拒否する必要があります。
公開前の検証
npx --no-install skills --help
npx --no-install skills add zjp1997720/zhijian-skills --list
python3 scripts/verify_isolated_install.py \
--repo <zhijian-skills> --skill <skill-name> \
--install-source zjp1997720/zhijian-skills
検証ツールは Portfolio に固定された skills CLI を使用し、いずれかのフェーズが失敗すると 0 以外の値を返します。固定バージョンのパッケージが未インストールの場合にコールドチェックを行うには、実行前に正規のチェックアウトで依存関係をインストールしてください。最後のコマンドによってそれ以前の失敗が隠れる可能性のあるシェルチェーンを、その場しのぎで組まないでください。
ヘルプの確認に npx skills add <source> --help を絶対に使用しないでください。実際にインストールが行われ、カレントディレクトリに .agents/ と skills-lock.json が作成される可能性があります。
公開用の紹介文
すべてのゲートを通過したら、繰り返し発生する問題、Skill が自動化する内容、正式なインストールコマンド、具体的な依頼例を 1 つ、安全上関係する境界について説明します。単独の Skill リポジトリには絶対にリンクしないでください。