/env-auditは、今のClaude Code環境に何が導入されているか(Skill、MCPサーバー、プラグイン、フック、エージェント、スラッシュコマンド)を棚卸しし、一覧レポートを生成するSkillです。狙いは「このAIに何ができるんだっけ」を、記憶や口頭説明ではなく設定ファイルの実態から機械的に確認できるようにすることにあります。

この連載「うちのSkill」では、社内で実際に運用しているSkillを紹介しています。今回取り上げる/env-auditは、成果物を作るSkillではなく、環境そのものを対象にした自己点検型のSkillです。

「入れたはずが動かない」を、記憶ではなく実態で確認する

Claude Codeを使い込むほど、Skillやプラグイン、MCPサーバーの導入数は増えていきます。ところが「今の環境に何が入っているか」を正確に覚えている人は多くありません。新しいセッションを開くたびに「あのSkillはまだ使えるんだっけ」と手探りで確認したり、過去の記憶に頼って説明したりすると、実態とのズレに気づかないまま作業を進めてしまうことがあります。/env-auditはこの確認作業を、記憶ではなく設定ファイルの実態スキャンに置き換えます。

7種類の対象を、参照元を分けて機械的にスキャンする

SKILL.mdには、スキャン対象と参照元の対応表が明記されています。プロジェクトSkill(`.claude/skills/`等)、ユーザーSkill(`~/.claude/skills/`)、プラグイン(`~/.claude/plugins/installed_plugins.json`)、MCPサーバー(`.mcp.json`、`~/.claude.json`)、フック(`settings.json`系)、エージェント定義、スラッシュコマンドの7種類です。参照元をあらかじめ固定しているため、実行するたびに探索方法がぶれることがありません。

「ファイルに現れないもの」まで見落とさない設計

設定ファイルのスキャンだけでは拾いきれない情報があることも、SKILL.mdは明示しています。デスクトップアプリ経由で接続する外部連携ツールや、ハーネス側が標準で提供しているセッション組み込みのSkillは、ファイルには現れません。この手順はそれを「セッション限定(ファイルに現れないもの)」という独立した区分として設け、今のセッションで見えている情報を補って報告するよう指示しています。ファイルスキャンと今の状況把握を分けて扱うことで、片方だけを見て「入っていない」と誤判定する事態を防いでいます。

秘密情報の扱いを、手順の中に明記する

MCPサーバーの設定にはAPIキーやトークンが生の値で書かれていることがあります。SKILL.mdの「セキュリティ(厳守)」の項には、「APIキー・トークン・Bearerヘッダーの値をレポートに書かない」「設定ファイルの中身をそのまま会話やレポートに転記しない」という指示が明記されており、スキャナ側も自動でマスクする実装になっています。実際のスクリプトを確認したところ、キー名に token・secret・key・password・authorization・bearer・jwt のいずれかを含む項目を検出し、値を伏せ字に置き換える処理が組み込まれていました。棚卸しという性質上、秘密情報を含むファイルに触れる場面が避けられないSkillだからこそ、扱い方をルール任せにせず実装レベルで固定している点が特徴です。

自分の組織で真似るには

AI環境に導入するツールが増えていく組織であれば、「今何が使えるか」を確認する手順を早い段階でSkill化しておく価値があります。ポイントは3つです。まず、確認対象ごとに参照するファイルを一つずつ固定し、探索方法を毎回その場で考えないようにすること。次に、設定ファイルからは分からない「セッション限定の情報」を独立した区分として扱い、ファイルスキャンだけで全体を把握したつもりにならないこと。そして、秘密情報を含むファイルを扱う手順である以上、マスク処理を運用ルールとしてだけでなく、実装のガードとして組み込んでおくことです。棚卸しの手順を整えるほど、確認のたびに勘や記憶に頼る場面を減らせます。