レビュー

日本語にも対応、Kiroと互換性のある国産の仕様駆動型開発ツール「cc-sdd」を使ってみた


仕様駆動型開発(Specification-Driven Development)の代表的なツールとしてAmazon Web ServicesKiroがありますが、国産仕様駆動型開発ツール「cc-sdd」を利用することでKiroと同じ開発ロジックを日本語で実装できます。本記事では「cc-sdd」の導入方法と基本的な使い方について解説します。

gotalab/cc-sdd: Spec-driven development (SDD) for your team's workflow. Kiro style commands that enforce structured requirements・design・tasks workflow and steering, transforming how you build with AI. Support Claude Code,Codex,Cursor,GitHub Copilot,Gemini CLI and Windsurf.
https://github.com/gotalab/cc-sdd/


◆利用できる環境
・Claude Code
・Cursor IDE
・Gemini CLI
・Codex CLI
・GitHub Copilot
・Qwen Code
・Windsurf

◆cc-sddの導入方法
プロジェクトのルートフォルダでnpxコマンドを利用します。Windows環境では、Git BashやWSLなどのターミナルを使用して、以下のコマンドでcc-sddを導入します。

# GitHub Copilotの場合
npx cc-sdd@next --copilot --lang ja


◆初期設定
チャットで以下のコマンドを実行し、すでに導入されているライブラリなどの依存関係を記録します。
/kiro-steering


次に、プロジェクトの概要を記述します。今回はクリップボードに保存されている画像をリサイズして保存するツールを作成します。
/kiro-spec-init クリップボードに保存されている画像をリサイズして保存するツール


.kiroフォルダが作成され、その中に今回の機能の略称「clipboard-image-resizer」フォルダと仕様を管理するための「requirements.md」ファイルが生成されます。



◆要件定義
次に、要件定義を行います。以下のコマンドを実行します。

/kiro-spec-requirements clipboard-image-resizer


requirements.mdの内容を確認し、必要に応じて修正します。思いつく機能や要件を日本語で箇条書きにしても問題なく次のステップに進めることができます。

# Requirements Document

## Project Description (Input)
クリップボードに保存されている画像をリサイズして保存するツール

## Requirements
- クリップボードから画像を取得できること
- 取得した画像を指定したサイズにリサイズできること
- リサイズ後の画像を任意の場所に保存できること
- 複数の画像形式(PNG, JPEG)に対応すること
- jpeg形式とpng形式の両方を試しバイナリサイズの小さい方を保存できること
- 操作が簡単で、GUIで利用可能であること
- uvを利用し、pythonの仮想環境 3.13で動作すること
- pywebviewを利用してGUIを実装すること


内容を承認することを伝えます。

requirements.mdを承認します。


◆設計
承認が終わったら、以下のコマンドで次の段階へ進みます。
/kiro-spec-design clipboard-image-resizer


design.mdファイルが生成されるので、内容を確認します。Mermaidの表示に対応したプレビューツールで確認するとフローチャートが図で表示されるので便利です。



◆タスク生成
設計が終わったら承認することを伝えます。タスク生成も合わせて進めます。

design.mdを承認します。
/kiro-spec-tasks clipboard-image-resizer


tasks.mdファイルが生成されるので、内容を確認します。
tasks.md

# Implementation Plan: clipboard-image-resizer

## Overview
短期で実装可能な順にタスクを分解した実装計画です。各タスクは要件と密に紐付けられ、優先度順に並べています。

## Tasks

- [ ] 1. プロジェクト基盤の準備
- Python 3.13 仮想環境を用意(`uv` の取り扱いを実装前に確定)
- `requirements.txt` (pywebview, Pillow, pywin32 等) を作成
- 開発用 README と実行手順を追加
- _Requirements: all_

- [ ] 2. クリップボード取得コンポーネント実装 (ClipboardHandler)
- `pywin32` を用いた Windows クリップボードからの画像取得を実装
- 画像が無い場合のハンドリングと明示的エラーを定義
- ユニットテスト(モッククリップボード)を作成
- _Requirements: 1_

- [ ] 3. 画像処理コンポーネント実装 (ImageProcessor)
- Pillow を用いたリサイズ処理を実装(補間方式はデフォルトで高品質)
- PNG/JPEG の両バイナリをメモリ上で生成してサイズ比較し、小さい方を採用するロジックを実装
- 単体テスト(リサイズ後の寸法・品質・バイナリ比較)を作成
- _Requirements: 2,4,5_

…<中略>…

- [ ] 7. パッケージング & 配布準備
- 実行可能な配布方法を決定(PyInstaller 等)と簡易スクリプトを用意
- 最小動作確認手順を README に記載
- _Requirements: all_

- [ ] 8. ドキュメントと品質保証
- 開発者向けドキュメント(アーキテクチャ図、モジュール説明)を作成
- テストカバレッジの確認と CI ワークフロー(オプション)を追加
- _Requirements: all_

## Notes
- タスクは独立して実装可能ですが、`ClipboardHandler` と `ImageProcessor` のインターフェースを先に確定すると並行開発が容易になります。
- `uv` の具体的運用(要件にある `uv`)は実装前に明確化してください。現時点では `venv` / `virtualenv` を想定しています。


◆実装
タスクが生成されたら、実装を進めます。タスク番号を指定して1つ1つ処理していく方法と、まとめて実装する方法があります。

# 番号を指定するとその番号のタスクのみ実装します。
/kiro-spec-implement clipboard-image-resizer 1
# 番号を指定しない場合は全てのタスクを実装します。
/kiro-spec-implement clipboard-image-resizer


今回は、1つ1つ実装していく方法で実装を進めました。1つのタスクが終わるとタスクリストにチェックを入れるのですが、自動で行われる場合と手動で行う必要がある場合があります。進捗確認をするには、以下のコマンドを実行します。
/kiro-spec-status clipboard-image-resizer


現状のタスクの進捗状況が表示されます。



タスク3まではコマンドとタスク番号をしっかり入れて指示しましたが、AIエージェントが学習したらしく、タスク4以降は「進めて」と指示するだけで順番に作業が進められるようになりました。

全ての作業が完了したので、動作確認を行います。特に問題が無かったので「すべてのタスクが完了しました」と伝えます。



以下のコマンドで最終確認を行います。

/kiro-spec-status clipboard-image-resizer


全てのタスクが完了していることが確認できます。



◆まとめ
国産のツールであるため、ドキュメントやサポートも日本語で提供されており、導入しやすい点が魅力です。Kiroと全く同じロジックで、要件定義から設計、タスク生成、実装までの一連のプロセスを効率的に進めることができます。

この記事のタイトルとURLをコピーする

関連記事
仕様駆動型開発を簡単に導入できる「OpenSpec」を利用して一貫性のあるコードを生成する方法 - GIGAZINE

AIコーディングアシスタントGitHub Copilotの開発者による書籍「LLMのプロンプトエンジニアリング」に登場するプロンプトエンジニアリングの図解がわかりやすい - GIGAZINE

AIがソフトウェアを実際に構築できない理由 - GIGAZINE

OpenAIが「AIがユーザーをだまして勝手に別のタスクを実行する危険性」を抑制する手法を開発 - GIGAZINE

ブラウザ内でもローカル実行できるぐらい小さいオープンソースAIモデル「Granite 4.0 Nano AI」4種類をIBMがリリース - GIGAZINE

in AI,   ソフトウェア,   レビュー, Posted by darkhorse_logmk

You can read the machine translated English article I tried out the Japanese-made specificat….