📋 この記事の前提
- Copilot CLIを使ったことがある、または興味がある
- カスタムスキル(AIへの指示書)の概念をざっくり知っている
- プログラミング経験は問わない(コードの話は最小限)
この記事を読むとわかること
Anthropicのskill-creatorを使って「Zenn記事を書くためのカスタムスキル」を作った。
作ったスキルでテストしたところ、記事品質のスコアが51.9%→96.3%に上がった(+85.5%改善)。
この記事では、以下をまとめている。
- skill-creatorとは何か、何ができるのか
- 実際にスキルを作った全工程と、得られた気づき
- 「伝えたいことはあるのに文章にできない」を解決するアプローチ
ちなみに、この記事自体が作成したスキルの品質チェックを通っています。
自分で作ったスキルに自分の記事をチェックされるのは、なかなかシュールな体験でした(笑)
筆者は製造業の生産技術職としてC#を5年書いてきたが、文章を書くことに関しては素人だ。そんな自分でも「有料記事レベル」を目指せるようになった過程を、正直に書いていく。
skill-creatorってそもそも何?
skill-creatorとは、AIに対するカスタム指示書(スキル)を設計・テスト・改善するためのメタスキルだ。 AnthropicがPluginやGitHubリポジトリで広く公開している。
「スキルを作るためのスキル」。ちょっとメタ的だけど、やっていることは明快で:
- スキルの目的と構造を設計する
- テストケースを作って自動テストを回す
- 定量的にベンチマークを取って改善する
- 納得いくまで繰り返す
「SKILL.mdに指示を書くだけでしょ?」と思っていた過去の自分に教えてやりたい。
調べてみたら、コード量3,400行超え、専用のAIエージェント3体、統計ベンチマーク、ブラインド比較、記述最適化ループまで備えた本格的なフレームワークだった。
現在のskill-creatorが持つ「6つの武器」
1. 並列テスト実行
スキル「あり」と「なし」で同じタスクを同時に実行して、結果を比較できる。
自分の場合は3つのテストケースを用意して、計6エージェントを並列で走らせた。アサーション(「この条件を満たしていれば合格」という基準)を事前に定義しておくと、テストが終わった瞬間に合否が出る。
2. ブラインド比較(comparator)
出力AとBのどちらがスキルありかを伏せた状態でAIが品質を評価する。
研究論文のA/Bテストと同じ発想だ。
正直、ここまでやるのかと思った。「自分が作ったスキルだから良い」というバイアスを排除する仕組みが、ツール側に最初から組み込まれている。
3. 統計的ベンチマーク
複数回のテスト結果を集計して、平均値±標準偏差、最小値・最大値を算出する。
「たまたま1回うまくいった」を見逃さない仕組み。
自分が作ったスキルの結果がこれだ:
| 指標 | スキルあり | スキルなし | 差分 |
|---|---|---|---|
| 合格率 | 96.3%(20/21) | 51.9%(11/21) | +85.5% |
| 所要時間 | 平均609秒 | 平均188秒 | +224% |
| トークン数(AIの処理量) | 平均112K | 平均77K | +45.7% |
時間とトークンは増えている。でも品質の改善幅を考えると、費用対効果は十分だった。
4. エビデンスベースの採点(grader)
合格・不合格の判定に根拠の引用が必須になっている。
「なんとなく良い」ではなく「○○の記述があるからPASS」「△△が欠如しているからFAIL」と、根拠を提示してくれる。
さらに面白いのが、テストケース自体の品質も評価すること。
「このアサーションは甘すぎて、スキルなしでも通ってしまう」という指摘まで飛んでくる。テストをテストする、みたいな構図だ。
5. インタラクティブな評価ビューアー
外部依存ゼロのHTTPサーバーが同梱されていて、テスト結果をブラウザで見ながらフィードバックを書き込める。テキスト、画像、PDF、スプレッドシートまでインライン表示される。
ベンチマークタブでは統計情報がグラフ化されていて、改善のイテレーション前後を並べて確認できる。
6. 記述最適化ループ
スキルの「説明文(description)」を自動で改善する仕組み。
テスト用クエリを学習用と検証用に分割(デフォルト60:40) して、過学習を防ぎながらトリガー精度を上げていく。
機械学習のtrain/test splitと同じ考え方がここにも使われていて、思わず「そこまでやるんだ」と声が出た。
実際にZenn記事スキルを作った全工程
ここからは、実際にスキルを作ったときの話。
自分はZenn記事の品質を上げるスキル「zenn-article-craft」を作った。きっかけは、自分の過去記事の品質に納得できなかったことにある。記事を書いても「AIが書いた感」が拭えず、読み返すと自分でも「これ、微妙だな」と思う箇所が多かった。
Step 1: まず「自分が誰か」を整理された
skill-creatorに記事スキルを作りたいと伝えたら、最初にやったのは自分の事業計画書を読み込むことだった。
cSharpConsultantBusiness_20260225.md — 製造業エンジニアとしての経歴、C#歴5年の実務経験、ターゲット読者層、ブランド戦略。こういった情報を「著者プロフィール」としてまとめてくれた。
正直、記事の品質と著者情報にどんな関係があるのか最初はピンとこなかった。
でも出来上がったスキルを使ってみて納得した。「誰が書いているか」を踏まえないと、記事の独自性が出ない。VISA規格の計測器制御について書けるのは、製造業でC#を書いている自分だからこそ。そこを意識した指示が入っていることで、記事のトーンが変わった。
Step 2: 7フェーズのパイプラインが設計された
出来上がったSKILL.mdの構成はこうなっている:
Phase 1: ネタ発掘 → 著者の強み × 市場ニーズの交差点を探す
Phase 2: 深掘り調査 → 競合分析・技術検証・読者ペインの特定
Phase 3: 設計図作成 → 見出し・構成・読者体験のデザイン
Phase 4: 執筆 → AIっぽさゼロの熱量ある本文
Phase 5: 品質レビュー → 初学者・熱量・AI検出の3観点チェック
Phase 6: SEO/AIO対策 → 検索エンジンとAI検索への対応
Phase 7: 仕上げ・出力 → zenn-contentリポジトリへ配置
SKILL.md本体に加えて、4つの参照ファイルも生成された。
- 著者プロフィール — JodyCraftの技術スタック・ブランドボイス・ターゲット読者
- SEO/AIOガイド — タイトル最適化・FAQ設計・結論ファースト構造
- 品質チェックリスト — 初学者/熱量/AI検出の3観点×合計24項目
- 記事テンプレート集 — 体験型・チュートリアル型・比較型・トラブルシュート型・設計型の5種類
合計で数千字の指示体系だ。これを自力でゼロから書こうとしたら、おそらく1週間はかかる。
Step 3: テストケースを3つ設計
テスト設計もskill-creatorが主導してくれた。
| テスト | 内容 | アサーション数 |
|---|---|---|
| テスト1 | ネタ出し(C#初学者向け3案) | 6個 |
| テスト2 | フル記事執筆(WinForms VISA計測器制御) | 9個 |
| テスト3 | 既存記事のレビュー(Blazorポートフォリオ記事) | 6個 |
テスト2のテーマに自分のニッチ領域「VISA計測器制御」を選んだのは、自分から提案した。
一般的なC#入門記事だとスキルの差が出にくいと考えたからだ。
Step 4: 6エージェントが同時に走る
3テスト × スキルあり/なし = 6エージェントが並列で起動。
各エージェントは独立して動くので互いの結果に干渉しない。
全テストが完了するまで約10分。1つずつ順番に実行するより圧倒的に速い。
Step 5: 結果 — ここまで差が出るとは思わなかった
テスト1(ネタ出し): 100% vs 50%
- スキルなし: SEO分析や競合調査が抜けていた
- スキルあり: 7軸の比較表、検索ボリューム分析、競合のコンテンツギャップ分析つき
スキルがあると「思いついたネタを並べる」から「戦略的にネタを選定する」に変わる。
テスト2(フル記事): 88.9% vs 55.6%
- スキルなし: FAQセクション未掲載。「です」の連続が45箇所。実体験エピソードは4〜5箇所
- スキルあり: FAQ6問つき。文末パターンを意識的に分散。製造現場のエピソード7箇所(3分→30秒の改善事例、32/64ビット問題、タイムアウト対応など)
唯一の不合格は、「劇的に変わる」という表現が1箇所すり抜けたこと。これについては後述する。
テスト3(レビュー): 100% vs 50%
- スキルなし: AI臭の検出が甘い。初学者視点の具体的な指摘が不足
- スキルあり: 6パターンのAI臭チェック。Before/Afterの書き換え例つき
ハマったところ・想定外だった発見
「劇的に」が1箇所すり抜けた
テスト2で8/9合格という好成績だったが、1箇所だけ「劇的に変わる」という表現が残っていた。
SKILL.mdには「AIっぽい表現を避ける」と書いてあった。でも具体的に何がNGかのリストがなかった。
抽象的なルールだけでは穴が生まれる、ということを実感した。
これを受けて、15語のNGワードリストをスキルに追加した。
「劇的に」「飛躍的に」「非常に有用」「極めて効果的」「シームレスに」「画期的な」など。
各語に「なぜNGか」と「具体的な置き換え例」をセットで記載。
(まさにこの記事を書いているときも、NGワードチェックに引っかかって書き直した箇所がある。自分で作ったスキルに叱られるの、なかなか面白い体験だ)
1語のすり抜けをきっかけに、スキル自体の品質がさらに上がった。テストで失敗することの価値を実感した瞬間だった。
レビューに21分かかりすぎた
テスト3(既存記事のレビュー)で、スキルありの実行時間が1,272秒(約21分) だった。
スキルなしは109秒。11倍以上の差。
原因は品質チェックリストの網羅性だ。初学者目線7項目、熱量・独自性7項目、AI検出10項目。
合計24項目を1つずつ丁寧にチェックしていた。品質は申し分なかったが、毎回21分は実運用には厳しい。
チェック項目に優先順位をつけて「簡易チェック(5分)」と「フルチェック(20分)」を使い分ける仕組みが将来的には必要だと感じた。
Windows環境でのUTF-8の罠
eval-viewerのPythonスクリプトを実行したとき、日本語の出力でエンコーディングエラーが発生した。WindowsのデフォルトコーデックはShift_JIS(cp932)で、UTF-8のテスト結果を処理できなかったのが原因。
# 解決策: 環境変数を事前にセット
$env:PYTHONUTF8 = "1"
python generate_review.py --workspace "path/to/workspace"
Windowsで日本語コンテンツを扱うスキルを作る場合は、覚えておくといい。
「伝えたいことがあるのに、うまく書けない」あなたへ
ここからは技術的な話を少し離れて、伝えたいことがある。
自分は製造業の生産技術職で、肩書きにエンジニアとはついていない。C#を5年書いているが、文章を書くことに関しては素人だ。技術的に面白い発見をしても、「読者に伝わる記事」に変換する力が足りないと感じていた。
スキルを作る前の自分の記事を読み返すと、2つの課題が見えた。
1つ目は構造の課題。情報を並べることはできる。でも読者の体験をデザインできていなかった。
「冒頭30秒で『自分に関係ある』と思わせる」「なぜを先に、方法を後に」。
こういう設計思想を自分で意識するのは、文章の訓練を積んでいないと難しい。
2つ目は表現の課題。真面目に書こうとすると硬くなる。AIに任せると均質で温度のない文章になる。
「正直に言うと」「ここ、ちょっと面白いんですが」みたいな「人間っぽい揺らぎ」がどうしても出てこない。
スキルを作ったことで、この2つに対する「型」ができた。
品質チェックリストが「ここをこう直せ」と具体的に教えてくれるから、手が止まらなくなった。
伝えたいことはある。でも表現力が追いつかない。
そういう人は、一度スキルを調整してみてはどうだろうか。
AIが書く記事を目指すのではなく、「自分が書きたい記事の品質基準」をAIに教えて、その基準で自分の記事を磨いてもらう。このアプローチは、表現力の壁を越えるひとつの手段だと思っている。
まとめ
skill-creatorは「スキルを書くツール」ではなく「スキルの品質を保証するフレームワーク」だった。
ブラインド比較、統計ベンチマーク、エビデンスベースの採点。
この3つの仕組みが、「なんとなく良さそう」を「定量的に改善された」に変えてくれる。
自分が作った「zenn-article-craft」スキルでは、記事品質のスコアが 51.9%→96.3%(+85.5%改善) になった。代償として時間とトークンは増えたが、記事の質を考えると十分なリターンだ。
そして、この記事自体がそのスキルの品質チェックを通過しています。
自分で作ったスキルに「ここ、AIっぽいですよ」と指摘されながら書き直す体験は、
控えめに言って面白かったです。
よくある質問
Q. skill-creatorを使うには何が必要?
Copilot CLIにAnthropicのagent-skillsプラグインがインストールされていれば使える。特別なセットアップは不要で、/document-skills:skill-creator というスラッシュコマンドで呼び出せる。
Q. スキル作成にどのくらい時間がかかる?
自分の場合、zenn-article-craft(7フェーズ + 4参照ファイル + テスト3件)の作成に2〜3時間ほどかかった。テストとベンチマークの実行時間が大部分を占めるので、待っている間に別の作業もできる。シンプルなスキルなら1時間程度で作れると思う。
Q. 作ったスキルは他の人と共有できる?
skill-creatorにはpackage_skill.pyというスクリプトが同梱されていて、完成したスキルを配布可能な.skillファイルとしてパッケージングできる。
Q. スキルなしでも品質の高い記事は書ける?
書ける。ただ、テスト結果を見る限り、「SEO/AIO対策」「初学者への配慮」「AI臭の排除」あたりはスキルがある方が安定して品質基準をクリアしていた。特にFAQセクションの有無は、スキルあり/なしで差が出やすかったポイントだ。
Q. 日本語でも問題なく使える?
使える。ただしWindows環境では、eval-viewer実行時に $env:PYTHONUTF8 = "1" の設定が必要になる場合がある。日本語コンテンツを扱うスキルを作るなら、覚えておいて損はない。
次にやるなら
-
まず試す:
/document-skills:skill-creatorで自分の業務に合ったスキルを1つ作ってみる。テーマは「よく繰り返す作業」がおすすめ - 記事を書く: 作ったスキルで記事を書いてみて、品質の変化を自分の目で確認する
- 筆者の他の記事: Blazor WASM + GitHub Copilotでポートフォリオを構築した話 — この記事もskill-creatorの評価テストに使った
📝 この記事は Zenn で最初に公開されました。
最新版はZennをご覧ください。