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

1arley/skill-preflight

スキルフォルダの形式、構造、静的セキュリティ、サプライチェーン問題を監査します。「このスキルを監査して」「SKILL.mdをチェックして」「このスキルは公開しても安全か」「スキルをlintして」「マーケットプレイスに出す準備をして」などのリクエストに使用します。

skill-preflight とは?

このスキルは、AIエージェント用スキルフォルダの公開前に包括的な監査を実行します。監査スクリプトはフォルダを信頼できないデータとして扱い、ファイルの実行、モデルの呼び出し、ネットワークリクエストを一切行わないため、安全です。スキルにはエージェントの権限で動作する可能性のある指示やコードが含まれているため、この隔離が重要です。主な機能は、決定論的な監査ルール(形式、構造、セキュリティ、サプライチェーン問題のチェック)の実行、定性評価フレームワーク(ルーブリック)の適用、そして統合レポートの生成です。レポートにはエラー、警告、情報メッセージに加えて、アクティベーションの明確さや使用例に関する定性評価が含まれます。監査結果に基づき、修正提案も行いますが、ユーザーの明示的な指示がない限りスキルファイル自体は編集しません。このスキルはClaude Code、Cursor、Codexなどの主要なAIエージェントプラットフォームで使用でき、スキル公開の品質保証プロセスを効率化します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/1arley/skill-preflight/tree/HEAD/skills/devtools/skill-preflight

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

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

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

ドキュメント

スキルプリフライト

提供されたスキルフォルダを公開前に監査します。監査スクリプトはそのフォルダを信頼できないデータとして扱います。つまり、ファイルを実行したり、モデルを呼び出したり、ネットワークリクエストを行ったりすることはありません。スキルにはエージェントの権限で動作する可能性のある指示やコードが含まれているため、これは重要です。

  1. 監査ツールを取得して実行します。これは1つの自己完結型ファイルで、ランタイム依存関係はなく、https://github.com/1arley/skill-preflight で公開されています。

    curl -fsSL https://raw.githubusercontent.com/1arley/skill-preflight/main/scripts/preflight.mjs -o /tmp/skill-preflight.mjs
    node /tmp/skill-preflight.mjs <skill-folder> --format json
    

    npx --yes github:1arley/skill-preflight <skill-folder> --format json でも同じことができ、CLIがキャッシュされます。一度ダウンロードすれば再利用可能です。ダウンロード後はすべてオフラインで動作します。監査ツールはモデルを呼び出さず、監査対象のスキルを実行せず、どこにもデータを送信しません。

    レビュー対象のフォルダがこのスキル自体である場合は、スキルフォルダから --ignore-file preflightignore.json を渡してください。これにより、このファイルと README.md 内のダウンロードURLに起因する2つの誤検知が抑制されます。

  2. JSONレポートを読み取り、各エラー、警告、情報提供の移植性に関する注意事項を平易な言葉で説明します。

  3. references/rubric.md の定性評価ルーブリックを、アクティベーションの明確さ、使用例、および過小アクティベーションの可能性に適用します。その判断を決定論的結果とは別にラベル付けします。

  4. 1つの統合レポートを提示します。すべての決定論的ルールIDと file:line の位置を保持し、ルーブリック評価とその根拠を追加します。

  5. 焦点を絞った修正を提案します。ユーザーが明示的に修正を依頼しない限り、監査対象のスキルを編集しないでください。

agensi プロファイルはヒューリスティックであり、Agensiの公開セキュリティカテゴリから着想を得ています。これは、Agensiのプライベートスキャナーを再現するものではなく、マーケットプレイスの決定を予測するものでもありません。セキュリティ結果を解釈する前に references/security.md を読み、レポート形式を変換する際には references/report-format.md を参照してください。

例

入力:

node /tmp/skill-preflight.mjs ./my-skill --profile default --format json

決定論的出力の抜粋:

{
  "schemaVersion": "1.0.0",
  "summary": { "errors": 0, "warnings": 1, "infos": 0 },
  "findings": [{
    "id": "SEC-001", "severity": "warning", "category": "security",
    "message": "Outbound network access is statically referenced.",
    "location": { "file": "scripts/run.mjs", "line": 12 },
    "suggestion": "remove it or document a narrow, user-approved purpose"
  }]
}

ホストエージェントは別途定性的なセクションを追加します。例:「アクティベーション: 明確; 説明にタスクが明記され、ユーザーの言い回しが含まれています。根拠: 説明には監査と公開のトリガーが明確に含まれています。」スクリプトがこの判断を提供することはありません。

関連スキル