私のもとには、商談・契約・審査のたびにお客様からセキュリティチェックシートが届きます。当社ではこの回答業務を、Claude Codeのスキル kitera-security-qa として仕組み化しました!一次ドラフトの作成が"数時間の作業"から"確認作業"に変わり、特定の一人への集中もほぐれた——この記事は、そこに至った経緯と、スキルの中身の話です。
1. 何が地獄だったか。。。
- 形式が毎回違う。「SaaSセキュリティ確認シート」「委託先セキュリティ状況調査票」……お客様ごと・業界ごとにフォーマットも粒度もバラバラ。
- でも聞かれていることは8割同じ。バックアップ、アクセス管理、暗号化、ログ、脆弱性診断、委託先管理、インシデント対応体制。表現が違うだけで論点は毎回似通っている。
- 量が多い。月に何件も来る時期があり、1件あたり数十〜百数十項目
- 属人化する。「セキュリティのことはあの人に」となり回答が一人に集中。統制上も属人化のリスクになる。
- 一貫性が崩れる。同じ論点でも質問の仕方でで回答の表現が変わる。
要は、「毎回ゼロから書いているのに、内容の大半は前回と同じ」という最高に非効率な状態でした。
2. プロンプト単発では解決しなかった
最初は素朴に、いろんな生成AIに「あなたはセキュリティスペシャリストです。自社の立場で回答して」というプロンプトを投げていました。速くはなりましたが、すぐに次の沼にハマります。
前提条件を毎回貼り直すのが面倒。AIは前回の回答を覚えていないので一貫性が担保できない。そして一番危ういのが、「答えていい範囲」の判断がAI任せになること。セキュリティ回答は「正直に答える」と「守る」の綱引きで、ここを毎回ふわっとAIに委ねるわけにはいきません。
3. スキルとして固定した
そこで「標準回答ナレッジ+回答手順」をスキルに載せ替えました。構成はこの骨格です。
kitera-security-qa/
├── SKILL.md … トリガー・処理フロー・ガードレール
└── references/
├── answer-bank.md … 標準回答ナレッジ(論点ごとの"正")
├── ng-rules.md … 答えてよい範囲・伏せる項目・エスカレ基準
└── examples/ … 代表フォーマットの対応例 kitera-security-qa/
├── SKILL.md … トリガー・処理フロー・ガードレール
└── references/
├── answer-bank.md … 標準回答ナレッジ(論点ごとの"正")
├── ng-rules.md … 答えてよい範囲・伏せる項目・エスカレ基準
└── examples/ … 代表フォーマットの対応例
SKILL.mdの要約:
## 目的
顧客のセキュリティチェックシートに対し、社内で合意された
「標準回答」に基づいて一次ドラフトを作る。属人化と回答ブレをなくす。
## 処理フロー
1. シート(xlsx/スプレッドシート/PDF)を読み、質問項目を構造化して抽出
2. 各項目を「論点」に正規化(バックアップ/アクセス管理/暗号化 …)
3. answer-bank.md の標準回答とマッチングし、ドラフトを当てる
4. マッチしない項目は空欄にせず「要確認(担当:◯◯)」と明示
5. ng-rules.md に該当する項目(伏せる情報)はフラグを立てる
6. 元シートの体裁のまま回答列を埋めて返す
7. 最後に必ず「人間が確認すべき項目」の一覧を出す
## ガードレール
- 断定しすぎない。確証のない項目は必ず「要確認」に倒す
- 機微な構成情報の公開レベルは ng-rules.md の方針に従う
- 最終回答は必ず人間が確定する。スキルは"下書き係"に徹する
## 目的
顧客のセキュリティチェックシートに対し、社内で合意された
「標準回答」に基づいて一次ドラフトを作る。属人化と回答ブレをなくす。
## 処理フロー
1. シート(xlsx/スプレッドシート/PDF)を読み、質問項目を構造化して抽出
2. 各項目を「論点」に正規化(バックアップ/アクセス管理/暗号化 …)
3. answer-bank.md の標準回答とマッチングし、ドラフトを当てる
4. マッチしない項目は空欄にせず「要確認(担当:◯◯)」と明示
5. ng-rules.md に該当する項目(伏せる情報)はフラグを立てる
6. 元シートの体裁のまま回答列を埋めて返す
7. 最後に必ず「人間が確認すべき項目」の一覧を出す
## ガードレール
- 断定しすぎない。確証のない項目は必ず「要確認」に倒す
- 機微な構成情報の公開レベルは ng-rules.md の方針に従う
- 最終回答は必ず人間が確定する。スキルは"下書き係"に徹する
ポイントは3つです。
- 答えを「ナレッジ」として外出しした(answer-bank)。ここが自社の"正"であり、回答がブレなくなる本体
- 「答えていい範囲」を事前にルール化した(ng-rules)。正直さと防御の綱引きを、その場のAI判断ではなく事前に決めたルールに委ねる。ここが一番大事
- 人間を最後に残す。AIは一次ドラフトまで、確定は人。セキュリティ回答を全自動にはしない、という線引き
4. 使い方のイメージ
シートを渡すと、Claudeが項目を論点に正規化し、「標準回答でカバーできた項目はドラフト記入済み、要確認は15項目(技術詳細・法務・契約)、伏せる方針に該当が数項目」といった整理と、元の体裁のまま回答列が埋まったファイル、人間確認リストが返ってきます。
回答する行や列は指定していますが、「百数個の項目を一から書く」が「ドラフトの判断に集中する」に変わる。 これが効きました!
5. 効果と学び
効果は、一次ドラフト作成の大幅短縮、属人化の解消(標準回答があるので担当が代わっても同じ品質なる予定)、そして回答の一貫性。地味ですが「同じ論点は同じ回答」の担保は信頼性に直結します!
学びは4つ。
- スキルの価値の9割はナレッジ側にある。AIの賢さより、「自社の正しい回答」が言語化されているか。この整備自体がセキュリティ体制の棚卸しになる。
- ng-rules を先に決めるのが肝。曖昧なまま速くするとリスクが上がる。速度と安全はセットで設計する。
- 全自動にしない勇気。これは効率化の話であると同時に統制のお話。
- ナレッジは変化する。新しい論点が来たら answer-bank に追記する。回答するたびに賢くなる運用にした。
おわりに
この記事で公開した内容は、方法論とスキルの骨格だけです。
たぶん、数年はセキュリティチェックシートは無くならないし、これからも形を変えて増えると思います。でも「毎回ゼロから書く」必要はもう無いところまでもっていけました。
ナレッジ、ルール、最後は人が見る—この3点をスキルに固定するだけで、地獄は確認作業に変わりました。同じような「毎回同じことを一から書いている」業務、他にもありませんか。たぶん、けっこうスキルにできるなーと思っています!