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

SpecKitでどこまでできる? コストはどれくらい?

SpecKitでどこまでできる? コストはどれくらい?

GitHub OctNihonのイベントでの登壇資料です。
https://github.registration.goldcast.io/events/45d8e7f8-f39f-44f9-86fd-911d97851213

2025年9月頭にリリースされた、GitHub SpecKitをどの用に使えばよいかのガイドです。

repository: https://github.com/takezoux2/slack-messenger

Avatar for Tech Leverages

Tech Leverages

September 25, 2025
Tweet

More Decks by Tech Leverages

Other Decks in Programming

Transcript

  1. © 2023 Leverages Co., Ltd. 目次 1. 自己紹介/会社紹介 2. SpecKitとは

    3. 今回作ったもの 4. 開発サイクル 5. コスト感 6. まとめ 2
  2. © 2023 Leverages Co., Ltd. レバレジーズ株式会社 竹下 義晃 テクノロジー戦略室室長 一般社団法人TSKaigi

    Association 代表理事、一般社団法人 Japan Scala Association理事 2009年に東京大学大学院農学生命科学科を修了 芸者東京 株式会社で、アプリen、バックエンドen、フロントen、アプリマーケターを経て 2020年にレバレジーズに入社 フルスタックの技術力を背景に、レバレジーズ社の技術の向上とエンジニア組織文化の構築に取り組む。また、 ScalaMatsuriやTSKaigiの運営にも関わり、技術コミュニティを盛り上げる活動も行っている。
  3. © 2023 Leverages Co., Ltd. Spec-Driven Development AIと協力して、仕様をきっちり作り込むところから始める開発手法 1. Vibe

    Codingでは、指示が曖昧だとちゃんとしたものが作れない 2. 仕様を作り込むと、ちゃんとしたコードを書いてくれる 3. 仕様を作り込みすぎるとソースコードを自分で書くのと変わんなくない? 4. AIと協力して、しっかり仕様書を作れば品質の良いコードをどんどん作ってい けるのでは? 仕様駆動開発とは 11
  4. © 2023 Leverages Co., Ltd. • 複数のチャンネルに、同じメッセージを送るツール • コマンドラインツール •

    SlackAPIを利用 ソースコード: https://github.com/takezoux2/slack-messenger 複数のSlackのチャンネルにメッセージを送るツール 13
  5. © 2023 Leverages Co., Ltd. • uvx --from git+https://github.com/github/spec-kit.git specify

    init <PROJECT NAME> : SpecKitプロジェクトのセットアップ • /constitution <instruction>: 開発スタイルや、コーディ ング規約を指定 • /specify <instruction>: 機能の仕様を記述 • /plan <instruction>: 機能の実装方針を記述 • /tasks <instruction>: 実際のタスクに分解 • /implement <instruction>: タスクを実装 SpecKitコマンド - ドキュメント 16
  6. © 2023 Leverages Co., Ltd. 完全に0から構築する時はuvx … specify init <PROJECT

    NAME> • <PROJECT_NAME>のディレクトリが作られる 次のような場合は、uvx … specify init –here • 既存のレポジトリでSpecKitを開始する場合 • SpecKitに更新があった場合 ◦ 出てすぐは/constituteと/implementのプロンプト無かった • Windows <-> Macなど開発環境切り替える場合 uvx --from git+https://github.com/github/spec-kit.git specify init <PROJECT NAME> 18
  7. © 2023 Leverages Co., Ltd. • 開発ツールや開発スタイル、コーディング規約を指定する ◦ TDDを指定するとテストをしっかり書いてくれる(デフォルト挙 動)

    • チーム開発の場合は、チーム規約を追加しておくと良いかも • 基本は初期に1回実行すれば良い ◦ Specifyを跨いで守って欲しいことあれば都度追加 • 修正したい場合は、再度/constitution <instruction>を 実行すれば、追記/修正をよしなにやってくれる /constitution <instruction> 19
  8. © 2023 Leverages Co., Ltd. • 仕様ファイルを作成してくれる • ❌粒度として「Issue Trackerを作って」とかだと大きすぎる

    ◦ 人の認知負荷も高まるのでStep by Stepで作る方が確実 • ✅「Next.jsを初期化して」や「SignIn pageを実装して」ぐらいの粒度が好ましい • 機能実装に入ったら技術的なことは、次の /planで指定するので、ここは基本的には仕 様だけを記述するのを心がける • spec.mdが作られ、仕様が曖昧な場合は [NEEDS CLARIFICATION]のマークが付け られるので明確化していく ◦ Agent modeでAIと一緒に修正していけば良い • Edge Casesも解消していくとクオリティ上がっていく /specify <instruction> 20
  9. © 2023 Leverages Co., Ltd. • spec.mdの実装方針を作成していく • 技術詳細や、実装方針をここで指定する •

    plan.mdやdata-model.mdやreserach.mdなどのファイルが 作られるので認識と違う所あれば修正する • 修正する場合はAI Agent modeと組み合わせていくのが良い ◦ XXが使われているか確認してなど聞いて、方針とズレてた ら、XXを使うように修正してなど指示して修正していく /plan <instruction> 21
  10. © 2023 Leverages Co., Ltd. • 実装タスクに分解される • tasks.mdが作られる •

    基本はinstruction無しで実行してもある程度真っ当なものが作られ る ◦ 一応タスク確認し、想定した仕様とズレてないか確認 ◦ ズレてたら、spec.mdやplan.mdを修正し、再度/tasksを 実行する ◦ tasks.mdを変更するのもOKだが、spec,plan修正を推奨 /tasks <instruction> 22
  11. © 2023 Leverages Co., Ltd. • 実際にタスクを消化し実装していく • ❌instruction無しで実行 ◦

    Phaseを全部実装しようとする ◦ レビューも大変になる • ✅/implement Phase 3.1など、Phase単位ぐらいで指定する ◦ 少しずつ実装し、動作確認しながら進めるのを推奨 ◦ たまに暴走して複数のPhase実装し始めることもあるが御愛嬌 • tasks.mdにチェックを付け忘れることも結構あるので、手動 or Agent modeで指示して 更新してやる /implement <instruction> 23
  12. © 2023 Leverages Co., Ltd. 昨日確認したら、新しいコマンドが追加されていました。 確認しきれていないので、詳細の説明は省きます /clarify specのNEED CLARIFICATIONの部分を拾って、選択肢

    の質問形式で仕様を詰めていけるモード。/specifyと/planの間で 実行 /analyze まだ使えてないです。specifyを跨いだ同一性の確認? /tasksと/implementの間で実行 SpecKitコマンド - 新規追加 24
  13. © 2023 Leverages Co., Ltd. • 001-init-console-app • 002-send-slack-message <=

    単独チャンネルへの投稿 • 003-load-channel-id <= 複数チャンネルへの投稿 レポジトリの /specディレクトリの中を見れば、作成手順わかり ます 今回のツール作成での Spec 25
  14. © 2023 Leverages Co., Ltd. • Claude Sonnet 4をフルで回して、30 Premium

    Request消費くらい ◦ 1Premium Request = $0.04なので、$1.2程度 ◦ ChatGPT 4.1では上手く実装できないこともよくあるため、Claude の利用 を推奨 • 時間的には、合計5時間くらい ◦ だいたいはながら作業でOKなので、アニメ見たり、他のプロジェクトも並 列したり、この発表資料つくりながらぶん回していた • Devinだと1ACU = 約15分 = $2なので、$20程度かかる計算 ◦ そもそも作りきれるかも不明 コスト感 27
  15. © 2023 Leverages Co., Ltd. • 粒度が大きい指示だとバグを上手く修正できない ◦ レビュー量も多すぎて、認知負荷高すぎ+追いつかない •

    テスト駆動で作らせても、テスト通らないままで放置してくる ◦ テストの分量もかなり多いので、すべて通る状態にするのがかなり難しい ので結構形骸化しがち • 細かなミスで起きるバグを上手く直してくれないこともあるので、そのときは自 身でデバッグして治す必要がたまにあった はまったポイント 29
  16. © 2023 Leverages Co., Ltd. • ざっくりした指示ではなく、実装ステップや機能事に/specifyを分けて、Step by Stepで実装する •

    SpecKitで生成されたspec.mdやplan.mdなどをAIと一緒に修正し、仕様の明 確化をしっかり行う • Agentが書いてくれている間は、今までの生成されたコードのレビューや、勉 強、休憩、2,3ライン同時に走らせるなどいろいろできる ◦ 今回、Next.js版と、コマンドライン版作っていたが、Next.jsは時間が足り ず・・・ SpecKitを使うコツ 30
  17. © 2023 Leverages Co., Ltd. 生成されたソースコードは今回ほとんど読んでいないが、クオリティ的には十分そう なものが作れた • 大きな仕様を、上手く小さな仕様に分解するスキル必要 •

    仕様レビューをして、曖昧な部分や齟齬のある部分を発見するスキルも必要 • レビュー、デバッグするスキルも引き続き必要 言われたことを言われたまま実行する、ミドルエンジニアぐらいの感じになってきて いる まとめ 31
  18. © 2023 Leverages Co., Ltd. • Next.jsで、ClientComponentかServerComponentかの判断はほぼつかない ので、しっかり指示必要 • Next.jsのApp

    RouterとPages Routerも混同していること多いので、しっかり 指示必要 • 認証周りはかなり苦手。しっかり公式ドキュメント読んで指示出し必須か自分 で作ったほうが良いかも • インテグレーションテストなども書いてくれるものの、ユニットテスト以上にメン テナンや解読が大変 でかなり難航 APIサーバーと分離して作るほうが良いかも Next.jsとの食い合わせ 33
  19. © 2023 Leverages Co., Ltd. • レビューが追いつかないはその通りなので、何らかのレビューを減らす方策を考える必要 ありそう • テストを書きやすい設計をconstituteで指定できる秘伝のタレを作るのもあり?

    • フルスタックよりバックエンドと、フロントエンドをぱっきり分けて作ったほうが効率いいか も? ◦ マイクロサービスや、適度な粒度でサービス分割するのも効果的そう • 2ライン、フルでcopilotのclaudeぶん回してたらRate Limitに達したので、上のプランに上 げたり、CodexやClaude codeも使って分散するのも検討しても良いかも 今後の展望 34
  20. © 2023 Leverages Co., Ltd. We are hiring! 40を超えるサービスを、 すべてオールインハウスで開発!

    現在レバレジーズでは一緒に働いてくれる仲間を募集しています。 もし、ご興味ある方は、以下のリンクからご応募ください。 https://recruit.leverages.jp/recruit/engineer/