1. 背景と課題:Promptが「ガチ」なフォーマットに直面する時
1.1 シチュエーション
エンタープライズ・ソフトウェア開発(特に対日開発や、厳格な金融・製造業界)において、「詳細設計書」の作成は非常に時間のかかる作業です。
顧客からは往々にして Excel形式 での納品が求められ、さらにセルの結合、罫線のスタイル、フォント、データ型に至るまで、極めて厳格な規約(いわゆる「Excel方眼紙」文化)が存在します。
1.2 核心的な悩み
たとえ私たちが時間をかけて構造化されたプロンプトを作成し、AIに直接 Excel ファイルを作らせようとしても、結果は散々なものになりがちです。
- フォーマット崩れ: 生成された表が Excel で開けない、あるいはスタイルが完全に消失している。
- ロジックの断絶: 業務ロジックが指定されたシートに正しく反映されない。
原因分析:
LLM(大規模言語モデル)の本質は「テキスト生成モデル」です。自然言語やコードスニペットの処理は得意ですが、.xlsx のような複雑なバイナリ構造(XMLの圧縮パッケージ)を直接構築するのは、本質的に苦手な領域です。
どう解決するか?
Prompt だけで解決できないなら、Agent Skills を導入して、AIに「手足」を与える必要があります。
2. Agent Skills とは何か?
Agent Skill は、Anthropic が提唱するオープスタンダードの一つです。特定領域の専門能力をツールとしてカプセル化し、AI が必要に応じて呼び出せるようにする仕組みです。
わかりやすく言えば、AI Agent を「社員」に見立てると以下のようになります。
- Agent = 社員本体(理解力を持つ頭脳)
- Skill = 社員が習得したスキルセット(道具箱)
Skill がない場合: AIは「机上の空論」しかできず、「Excelはこうあるべきです」と語るだけです。
Skill (例: xlsx-skill) がある場合: AIはコードを実行し、実際に動作する .xlsx ファイルを構築・生成 できます。
3. 実践:Cursor + xlsx-skill で設計書を生成する
本セクションでは、Cursor に「プロ仕様の Excel 生成能力」を持たせる方法を解説します。
3.1 環境準備
ローカル環境に Node.js がインストールされていることを確認し、ターミナルで以下のコマンドを実行してください。
# 1. OpenSkills ツールチェーンのインストール
npm i -g openskills
# 2. Excel スキルパッケージのインストール
openskills install anthropics/skills/xlsx
インストール完了後、Cursor の設定(Settings)で Skills が有効になっていることを確認してください。
3.2 実践デモ
今回はテストケースとして、日本のSIer開発でよくある「詳細設計書」の生成を試みます。
ステップ 1:指令を入力
Cursor Chat で /xlsx と入力してスキルをアクティブにし、以下のプロンプトを貼り付けます。
ステップ 2:Prompt 入力 (複雑な要件をシミュレート)
Markdown
# タスク
以下の【顧客要件定義】に基づき、プロフェッショナルな品質の《詳細設計書》Excelファイルを出力してください。
【入力データ:顧客要件定義 (脱敏版)】
プロジェクト:企業向けWMS在庫管理システム (認証モジュール)
■画面UI仕様
- ログインID (Email形式, Max 100桁, 必須)
- パスワード (8-32桁, 入力時マスク表示)
- 「ログイン状態を保持する」 (チェックボックス)
■業務ロジック
- ロック機能:連続5回失敗で30分間アカウントロック (エラーコード: MSG-E-003)
- セキュリティ:エラー時は「IDまたはパスワードが正しくありません」と曖昧に表示
- 暗号化:Bcryptハッシュを使用
【出力要件:Excel構造仕様】
以下の4つのシートを含むファイルを生成してください。日本のSIerドキュメント規約に厳格に従うこと。
1. **Sheet 1 (表紙)**: ドキュメントID (DS-AUTH-001)、改版履歴テーブルを含む。
2. **Sheet 2 (UI_Layout)**: ログイン画面のレイアウト図を描画し、各要素にインデックス番号 (1), (2)... を付与。
3. **Sheet 3 (Item_Definition)**: 項目定義書 (No, 物理名, 論理名, 型, 桁数, 必須, 検証ルール)。
4. **Sheet 4 (Processing_Logic)**: ログインボタン押下後の処理フローを疑似コード (IF-THEN構造) で記述。
■スタイル要件
- ヘッダー背景色: #D9D9D9
- 罫線: 格子(全辺)
- フォント: Meiryo UI
3.3 効果の比較
- Skill 未使用時: AI は Markdown の表を出力するか、「Pythonでpandasを使って書いてください」といったコードを提示するだけで、体験が分断されます。
-
Skill 使用時: Cursor は直接
xlsxツールを呼び出し、チャット画面内に ダウンロード可能な .xlsx ファイル を生成します。ファイルを開くと、シート構造が完璧で、スタイルもSIer仕様に準拠しており、ロジックも明確に記述されています。
4. 技術の深掘り:Agent Skills はどう動いているのか?
Skills は魔法ではありません。完全な実行ロジックを含むエンジニアリング・ディレクトリです。原理を理解することは、将来独自の Skill を開発する助けになります。
4.1 ディレクトリ構造
標準的な Skill プロジェクトの構造は以下の通りです。
test-skill/
├── SKILL.md # 必須:インストラクションとメタデータ
├── scripts/ # 任意:実行可能なスクリプト
├── references/ # 任意:参考ドキュメント
└── assets/ # 任意:テンプレートとリソース
xlsx-skill ディレクトリ構造
. (プロジェクトルート)
├── SKILL.md # 必須:命令セットとメタデータ
└── xlsx/ # メインプロジェクト
└── scripts/ # スクリプトディレクトリ
└── office/ # オフィスオートメーションの中核
├── helpers/ # 汎用関数(ヘルパー)
├── schemas/ # Excel XML構造のスキーマ定義
├── validators/ # バリデーション実装
├── pack.py # パッキングツール(変更後のファイルを封入)
├── unpack.py # アンパッキングツール(.xlsxをXMLに分解)
├── validate.py # 検証エントリポイント
├── recalc.py # 再計算ツール(数式の更新)
├── soffice.py # LibreOfficeなどとの外部インターフェース
└── LICENSE.txt
4.2 実行フロー図解
-
意図解析: Cursor が
SKILL.mdを読み込み、ユーザーの Prompt が「Excel生成」を求めていることを理解します。 -
構造化データ変換: AI はユーザーの自然言語要件(ログイン画面、フィールド定義など)を、
schemas/で定義された中間データ構造に変換します。 -
コード実行:
pack.pyなどのスクリプトを呼び出し、データを XML テンプレートに流し込みます。 -
ファイル生成: 最終的なバイナリ
.xlsxファイルを出力し、ユーザーに返します。
5. 概念の整理:Skill vs MCP
AI Agent のエコシステムにおいて、これらは混同されがちですが、役割が異なります。
| 次元 | Agent Skills | MCP (Model Context Protocol) |
|---|---|---|
| イメージ | 内功 / 技能 | 外部接続 / 五感 |
| 核心的な役割 | "How to do" (どう作るか) | "Connect to what" (何と繋ぐか) |
| 典型的なシーン | 特定フォーマット生成(Excel/PDF)、作図、複雑な計算実行 | DB読み取り、Web検索、GitHub Issue取得、ローカルコード参照 |
| 関係性 | Skill はしばしば、MCP が取得したデータを処理するために使われます。 例:MCPでDBから売上データを取得 → SkillでExcelレポートを生成 |
6. まとめ
これは AI の機能を「プラグ&プレイ」にする新しい標準です。ツール間の壁を取り払い、専門能力をブロックのようにパッケージ化し、共有することを可能にします。
以前は AI を使いこなすために複雑な指令や設定を研究する必要がありましたが、今は「スキルパック」をインストールするだけです。AI がプロフェッショナルになるかどうかは、ユーザーの技術レベルではなく、どのスキルを統合したか に依存するようになります。
真に高度な技術とは、「透明」 なものです。ユーザーは原理を理解する必要なく、ただ仕事の効率が劇的に変わることを実感できるのです。









