Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SpecKitをカスタマイズしてシステム改修に利用してみた

Avatar for Ochtum Ochtum
October 24, 2025
130

 SpecKitをカスタマイズしてシステム改修に利用してみた

2025年9月にGitHubから発表された、Spec KitというSDDを支援するOSSのツールキットが便利そうなのでカスタマイズして大規模システムの改修に使えないかいじくりたおしてみた。Spec Kitがどのような構成になっていて、どのようにカスタマイズすればシステム改修に使えるか解説します。

Avatar for Ochtum

Ochtum

October 24, 2025
Tweet

Transcript

  1. Spec Kit とは? AI を​ 活用した​ 仕様駆動開発(SDD) を​ 実現する​ ための、​

    OSS ツールキット。​ これを​ 試してみた​ GitHub から​ 2025 年9 月2 日に​ 発表された。​ 参考​ 資料​
  2. 仕様駆動開発(SDD) とは?​ 先に​ コーディングして後で​ ドキュメントを​ 書くのではなく、​ 仕様を​ 軸に​ 設計/ 実装/

    テストを​ 進める​ 開発手法の​ ことを​ 指す。​ 要件/ 設計/ 実装を​ 明確に​ 分離する​ ことで、​ AI 活用を​ 最適化する​ ことが​ 可能です。​ 参考​ 資料​
  3. 設計書 ​ (10 行) plan プロンプト 既存ルールに​ 合わせて​ ソースコード改修 INPUT

    OUTPUT 改修対象の​ ファイル10 個 INPUT 中​ 間md tasks プロンプト INPUT OUTPUT INPUT こんな​ 感じで​ やってみた​
  4. フォルダ構成 ルート .github\ptompts .specify memory scripts\powershell templates SpecKit で​ 利用する​

    プロンプト( コマンドのような​ もの​ ) 集 プロジェクト規約、​ コーディング規約 プロンプト実行時に​ キックされる​ スクリプト群 プロンプト実行時に​ 読み込まれる​ テンプレート。​ プロンプトと​ 1 対1 の​ 関係に​ なっていて、​ これが​ 元に​ なって​ 要件や​ 仕様、​ タスクが​ 整理される。​ 解析編
  5. プロンプト構成 ルート .github\ptompts specify.prompt.md plan.prompt.md tasks.prompt.md バージ​ ョン:0.0.9 バージ​ ョン:0.0.55

    specify.prompt.md constitution.prompt.md plan.prompt.md tasks.prompt.md implement.prompt.md analyze.prompt.md clarify.prompt.md プロジェクトの​ ガバナンス原則と​ 開発ガイドラインを​ 整備・改訂する​ 何を​ 構築したいのかを​ 定義する​ (要件と​ ユーザーストーリー)​ 未定義または​ あいまいな​ 部分を​ 明確化する​ (明示的に​ スキップされない​ 限り、​ /plan の​ 前に​ 実行する​ 必要が​ あります。​ 以前の​ コマンド名は​ /quizme )​ 選択した​ 技術スタックで​ 技術的な​ 実装計画を​ 作成する​ 実装に​ 向けた​ 具体的な​ タスクリストを​ 作成する​ 成果物間の​ 整合性および​ 網羅性を​ 分析する​ (/tasks の​ 後、​ /implement の​ 前に​ 実行)​ 計画に​ 沿って​ 機能実装の​ ための​ 全タ​ スクを​ 遂行する​ 説明 更新早い​ !! ローンチ時点(9 月2 日) と​ 10 月01 日​ 時点ですでに​ 構成変わっている​ 解析編
  6. 役割を​ 整理 instructions.md constitution.md ~prompt.md ~-​ template.md SpecKit には​ 含まれていないが、​

    ガイドラインの​ 役割を​ 持つカスタム指示( 従来​ 使われていた)​ プロジェクト規約 作業​ 指示​ 詳細手順​ 及び出力例/ 出力形式 カスタムに​ おいて​ 最も​ 重要 解析編
  7. [ リンク] 入力: /specs/[###-​ feature-​ name]/spec.md に​ ある​ 機能仕様 実行フロー​

    (/plan コマンドの​ 範囲)​ 1. 入力パスから​ 機能仕様を​ 読み込む → ​ 見つからなければ​ :ERROR​ 「{path} に​ 機能仕様が​ ありません」​ テンプレート(plan) ここに​ 設計書(Markdown) を​ 指定すれば​ いいんじゃないか?​ 解析編
  8. 設計書 (Markdown) システム情報 テンプレート ソースコード plan プロンプト 処理​ 結果​ 次の​

    tasks プロンプトに​ 渡す中間ファイル 解決編 プロンプトに​ 渡すもの​ 本来​ これは​ ない​ ここが​ specify の​ 実行結果だった​
  9. プロンプトの​ 全体の​ 流れ​ (イメージ)​ 内容​ 整理 ​ (情報​ 収集)​ 実行​

    計画案​ 実行​ 計画​ 検証 実行 結果​ チェック 解決編 ここが​ specify だったが、​ 設計書で​ 事足りる​
  10. SpecKit にあてはめると・・・ 内容​ 整理 ​ (情報​ 収集)​ 実行​ 計画案​ 実行​

    計画​ 検証 実行 結果​ チェック specify : 何を​ 構築したいのかを​ 定義する​ (要件と​ ユーザーストーリー)​ plan :選択した​ 技術スタックで​ 技術的な​ 実装計画を​ 作成する​ tasks :実装に​ 向けた​ 具体的な​ タスクリストを​ 作成する​ 解決編 ここが​ 設計書に​ 置き換わる​
  11. 設計は?​ ・Markdown で書く​ ・どのような​ ことを​ 実現したいか​ (目的)​ ・どこを​ 直すか​ (class

    や​ ファイル名で​ 大まかで​ 良いので​ 示す)​ ・機能を​ 追加する​ 場合、​ どこに​ 属する​ 機能か​ (フォルダ構成の​ どこに​ 属するか)が​ 伝わらないと​ 厳しい​ 解決編
  12. システム情報は?​ ・システムの​ フォルダ構成 ・技術スタック​ (どのような​ 技術が​ 使われているか)​ ・コーディング規約 依存関係も​ 書かれていると​

    ベター ・検証方​ 法、​ 検証ルール 何を​ 持って、​ 書かれた​ ものを​ 正しいと​ チェックするか​ 解決編
  13. テンプレート大事!!​ ・プロンプトを​ 実行する​ ときの​ 詳細情報 ・出力内容の​ テンプレート ・実行する​ ときの​ 前提条件

    プロンプトの​ 流れ、​ 前提条件を​ 書く​ イメージ ・検証方​ 法、​ 検証ルール システム情報の​ どの​ セクションを​ 見るか​ 解決編
  14. プロンプトは?​ ・実行する​ 際の​ 概要を​ 書く​ ・INPUT は​ 何で、​ 何を​ するのか

    ・実行する​ 際に​ 注意して​ 欲しい​ こと​ 細かい​ ところは​ テンプレートで​ 書けば​ よい​ 解決編
  15. SpecKit カスタマイズの​ ポイント ① ・分からない​ ところは​ 全削除すべし ・実行環境は​ システムフォルダである​ こと前提に​

    する​ ・プロンプト実行時、​ 対象の​ ソースファイルも​ 添付する​ 前提に​ する​ ・​ 必ず​ 実施する​ ところは​ " 必ず" を​ 強調する​ ・変数は​ 中括弧[] 、​ 半角スペースを​ 空ける、​ プレフィックスに​ $ を​ 付けるなど、​ 明確に​ 表現する​ 解決編
  16. SpecKit カスタマイズの​ ポイント ② ・ルールは​ constitution.md に書いて指定する copilot-​ instructions.md に​

    書いた​ 上で、​ その​ 場所に​ 書いてある​ ことを​ 指定しても​ よい​ ・中間プロンプトの​ 場合、​ Output する​ 際に​ 不明点に​ マーカーを​ 付けて​ もらうと​ よい。​ SpecKit の場合は「NEEDS CLARIFICATION( 明確化が必要) 」とつけていた 解決編