記事一覧に戻る
agent-skills をオープンソース公開 — AIエージェントによる仕様駆動開発の実践

agent-skills をオープンソース公開 — AIエージェントによる仕様駆動開発の実践

ZenChAIne·
AI AgentSpec-Driven DevelopmentOpen Source

はじめに

AIエージェントを使った開発が日常になりつつある今、「エージェントに何をどう指示するか」が開発の質を左右する重要な要素になっています。

私たちは、AIエージェントが仕様書の生成・検証・Issue化を一気通貫で行えるスキルセット agent-skills をオープンソースとして公開しました。

この記事では、Agent Skills とは何か、仕様駆動開発(Spec-Driven Development)という考え方、そして agent-skills の具体的な使い方を紹介します。

Agent Skills とは

Agent Skills は、AIエージェント(Claude Code, Cursor, Codex, Gemini CLI など)に特定の能力を追加するためのプラグイン機構です。SKILL.md というフォーマットで定義され、エージェントが特定のタスクを実行する際の手順・ルール・出力形式を記述します。

skills/
├── spec-generator/
│   └── SKILL.md          # スキル定義
├── spec-inspect/
│   └── SKILL.md
└── spec-to-issue/
    └── SKILL.md

従来、エージェントへの指示はプロンプトに依存していましたが、Skills を使うと再利用可能な形で手順を標準化できます。チームで共有すれば、誰がエージェントを使っても同じ品質の出力が得られます。

Agent Skills は特定のエージェントに依存しません。SKILL.md フォーマットに対応していれば、Claude Code でも Cursor でも Gemini CLI でも動作します。

仕様駆動開発(Spec-Driven Development)とは

仕様駆動開発は、「コードを書く前に仕様書を作り、仕様書に基づいて実装を進める」開発手法です。

従来のウォーターフォール型との違いは、AIエージェントが仕様書の生成・検証・タスク分解を担当する点にあります。人間はレビューと意思決定に集中できます。

会話・プロンプト
    ↓
[spec-generator] 要件定義書 + 設計書 + タスクリスト生成
    ↓
[spec-inspect]   仕様書の品質検証・矛盾検出
    ↓
[spec-to-issue]  GitHub Issue 自動生成
    ↓
実装フェーズへ

このワークフローのポイントは以下の3つです。

1. 仕様が構造化される

.specs/{project}/ ディレクトリに requirement.md(要件定義)、design.md(技術設計)、tasks.md(タスクリスト)の3点セットが生成されます。属人的なメモや口頭の打ち合わせではなく、Git で管理できる形式の仕様が残ります。

2. 品質が検証される

仕様書の矛盾、曖昧な表現、必須セクションの欠落を自動検出します。「要件IDの参照先がない」「非機能要件が未定義」といった問題を実装前に発見できます。

3. Issue に変換される

仕様書からチェックリスト付きの GitHub Issue を自動生成します。仕様と実装の間のギャップを最小化し、「何を作るか」の認識ズレを防ぎます。

仕様駆動開発は銀の弾丸ではありません。仕様書の品質は入力(会話やプロンプト)の質に依存します。曖昧な指示からは曖昧な仕様しか生まれないため、最初のインプットが重要です。

インストール方法

agent-skills は npx skills コマンドで簡単にインストールできます。

bash
# 全スキルを一括インストール
npx skills add anyoneanderson/agent-skills -g -y
 
# 個別にインストールする場合
npx skills add anyoneanderson/agent-skills --skill spec-generator -g -y
npx skills add anyoneanderson/agent-skills --skill spec-inspect -g -y
npx skills add anyoneanderson/agent-skills --skill spec-to-issue -g -y

-g はグローバルインストール(全プロジェクトで利用可能)、-y は確認プロンプトのスキップです。プロジェクト固有にしたい場合は -g を外してください。

インストール後、エージェントのスキル一覧にスキルが追加されます。

使い方

spec-generator — 仕様書を生成する

自然言語で要件を伝えるだけで、構造化された仕様書が生成されます。

> 要件定義を作って:ユーザー認証システム
> ECサイトの仕様を全部作って
> Create full spec for a real-time chat application

生成される仕様書:

.specs/user-auth/
├── requirement.md   # 機能要件・非機能要件・制約
├── design.md        # アーキテクチャ・クラス設計・API設計
└── tasks.md         # 実装タスクの優先順位付きリスト

対話モードでは、エージェントが不明点を質問しながら要件を具体化していきます。

spec-inspect — 仕様書を検証する

生成された仕様書の品質を自動チェックします。

> 仕様書を検査して
> Inspect specs for user-auth

検出される問題の例:

  • 要件IDの参照先が存在しない
  • 非機能要件(パフォーマンス、セキュリティ)が未定義
  • 設計書とタスクリストの間に矛盾がある
  • 曖昧な表現(「適切に」「必要に応じて」など)

結果は inspection-report.md として出力されます。

spec-to-issue — GitHub Issue を自動生成する

検証済みの仕様書から、実装タスクを含む GitHub Issue を作成します。

> 仕様書をIssueにして
> Create issue from spec

Issue にはチェックリスト、仕様書へのリンク、完了条件が含まれます。

まとめ

agent-skills は、AIエージェントによる仕様駆動開発を実現するためのオープンソースのスキルセットです。

  • spec-generator: 会話から構造化された仕様書を生成
  • spec-inspect: 仕様書の品質を自動検証
  • spec-to-issue: 仕様書から GitHub Issue を自動生成

「AIにコードを書かせる前に、AIに仕様書を書かせる」。このアプローチが開発の質を上げると私たちは考えています。

リポジトリ: github.com/anyoneanderson/agent-skills

ZenChAIne では、AI とブロックチェーン技術を活用したソフトウェア開発手法の研究と実践を続けています。agent-skills へのフィードバックや Pull Request も歓迎です。関連記事も合わせてお読みください。

Agent Skills とは何か — AIエージェントに再利用可能なスキルを追加する仕組みSKILL.md フォーマットの仕組み、カスタムスラッシュコマンドとの違い、対応エージェント、自作方法を解説します。zench-aine.io
仕様駆動開発(Spec-Driven Development)実践ガイド仕様駆動開発の考え方、バイブコーディングとの違い、具体的なワークフローを解説します。zench-aine.io