skill-card-generator について
skill-card-generatorは、既存のエージェントスキル向けにNVIDIAガバナンスカードの草案を作成します。ガバナンスや法務・安全性の審査資料を準備するスキル所有者向けで、信号の抽出、構造化コンテキスト、テンプレート描画、マーカー検証を行い、人による確認を前提とします。
主な機能
- 01スキルとリポジトリ信号の抽出
- 02構造化コンテキスト JSON の作成
- 03Jinja テンプレートによるカード描画
- 04未解決の確認マーカーの検証
- 05ファイルアクセスとスクリプト実行の制限
活用シーン
- 01既存スキルのガバナンスカード作成
- 02変更されたスキルのカード更新
- 03NVCARPS や法務・安全性審査資料の準備
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ promptingcompany/ nv-skills --skill skill-card-generatorインストール後、Claude Code で/skill-card-generatorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
BENCHMARK.mdSkill Card Generator CardSkill Card Generator Licenseskill-card.mdskill.oms.sigevals/evals.jsonreferences/skill-card.md.j2style-guide.mdreferences/catalog/limitations.jsonrisks.jsonscripts/discover_assets.pyrender_card.pyvalidate_submission.py詳細
スキルカードの生成
分析するスキルディレクトリ: $ARGUMENTS
目的
既存のエージェントスキル用に、NVIDIA のガバナンススキルカードのドラフトを作成します。このスキルはソースのシグナルを収集し、エージェントが根拠に基づく JSON コンテキストを構築できるよう導き、決定的な Markdown カードを生成し、提出前に人間によるレビューのマーカーが削除されたことを確認します。
次の場合に使用してください:
- スキルディレクトリがすでに存在し、新しいガバナンスカードが必要な場合。
- 変更されたスキルの既存カードを更新する必要がある場合。
- スキルの所有者が NVCARPS または法務/安全性レビュー用の資料を準備している場合。
次の場合には使用しないでください:
- スキルやスキルの機能を説明、列挙、比較、または検討する場合。
- ソーススキル自体を作成または書き換える場合。
- モデル、データセット、コンテナ、システム全体など、スキル以外のアセットのカードを生成する場合。
- スキルカードに署名、公開、または承認する場合。
- 必須の人間による法務、安全性、または所有者のレビューに代わるものとして使用する場合。
前提条件
- Python 3 が利用可能であること。
render_card.pyの実行前にjinja2がインストールされていること。- 対象パスに
SKILL.mdまたはskill.mdを含むスキルディレクトリが指定されていること。 - エージェントが一時的なコンテキスト JSON ファイルと、レンダリングされたカードの出力を書き込めること。
- 実行時の権限で、
target_skill_directoryとこのスキルのreferences/およびscripts/からの読み取り、対象スキルディレクトリまたは/tmp/のみに対する書き込み、および以下に記載する3つのスクリプトのみのシェル実行が許可されていること。
手順
- スクリプトを実行する前に、まずこの
SKILL.mdを最後まで読みます。 $ARGUMENTSから対象スキルディレクトリを特定します。省略されている場合は、現在の作業ディレクトリを使用します。- 宣言された権限の範囲内にとどまります。
.env、認証情報ファイル、隠し認証フォルダー、無関係なリポジトリファイルは読み取らないでください。また、対象スキルディレクトリまたは/tmp/の外部には書き込まないでください。 - 対象に対して
scripts/discover_assets.pyを実行します。最初に構造化されたシグナルの概要を使用し、出力が途中で切れている場合は、対象を絞ったファイルまたは短い抜粋のみを読み取ります。 - まず構造化されたシグナルの概要からコンテキスト JSON ファイルを作成し、必要な場合にのみ抽出したファイル内容を使用します。
- すべてのコンテキストフィールドで
references/style-guide.mdに従います。正確な値を裏付けるソースがない場合に限り、HUMAN-REQUIREDを使用します。 scripts/render_card.pyでカードをレンダリングし、スキーマエラーがあれば先に修正します。- カードを手動で確認し、解決済みの VERIFY マーカーと SELECT マーカーを削除してから、
scripts/validate_submission.pyを実行します。 - 作業を完了する前に、レンダリングされたカードに未レンダリングの
{{ ... }}または{% ... %}テンプレート断片が残っていないことを確認します。
利用可能なスクリプト
| スクリプト | 用途 | 引数 |
|---|---|---|
scripts/discover_assets.py | スキルファイル、リポジトリのシグナル、スタイルガイド、テンプレートを抽出し、1つの調査レポートにまとめます。 | <skill_directory> |
scripts/render_card.py | コンテキスト JSON を検証し、Jinja テンプレートからスキルカードをレンダリングします。 | --context <context.json> --template <skill-card.md.j2> --out <output.md> |
scripts/validate_submission.py | レンダリングされたカードに VERIFY または SELECT のレビュー用マーカーが残っている場合に失敗します。 | <rendered-card.md> |
例
対象スキルのシグナルを調査します:
run_script("scripts/discover_assets.py", args=["/path/to/target-skill"])
完成したコンテキストからカードをレンダリングします:
run_script(
"scripts/render_card.py",
args=[
"--context", "/tmp/target-skill-context.json",
"--template", "references/skill-card.md.j2",
"--out", "/path/to/target-skill/target-skill-card.md"
]
)
提出前にレビュー済みのカードを検証します:
run_script("scripts/validate_submission.py", args=["/path/to/target-skill/target-skill-card.md"])
制限事項
- 生成されるカードはドラフトであり、人間の所有者によるレビューが必要です。
- 調査対象は、対象パスから確認できるローカルファイルとリポジトリのメタデータに限られます。
- レンダラーが検証するのは必須のコンテキスト形式であり、各フィールドの値が法務または安全性の観点で正しいかどうかではありません。
- あらかじめ用意された制限事項とリスクのカタログは出発点です。該当しない項目は削除してください。
トラブルシューティング
| エラー | 原因 | 解決方法 |
|---|---|---|
directory not found | 対象のパスが間違っているか、ワークスペースにマウントされていません。 | スキルディレクトリの絶対パスを指定して、検出を再実行してください。 |
jinja2 not installed | レンダラーの依存関係が不足しています。 | jinja2 をインストールしてから、render_card.py を再実行してください。 |
Context validation failed | 必須フィールドが欠落しているか、型が正しくありません。 | references/style-guide.md を参照して、コンテキスト JSON を修正してください。 |
| 未解決マーカーによるエラー | レビュー後も VERIFY または SELECT マーカーが残っています。 | マークされた各フィールドを確認し、カタログの項目を整理してから、validate_submission.py を再実行してください。 |
このスキルのファイル
SKILL.md- このファイル(オーケストレーション)references/style-guide.md- コンテキストフィールドごとのガイダンスreferences/skill-card.md.j2- 正確なカードレイアウトreferences/Skill Card Generator License.txt- このスキルパッケージのライセンステキストreferences/catalog/limitations.json- 技術的制限事項の定型カタログreferences/catalog/risks.json- リスク管理の定型カタログscripts/discover_assets.py- 検出とシグナル抽出scripts/render_card.py- コンテキスト検証機能付き Jinja レンダラーscripts/validate_submission.py- 提出前のマーカー検証ツール
コメント
Markdown 対応