0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIが迷わないフロントエンド開発ワークフローの作り方 - 同じ設定をClaude Codeで検証してみた【第2回】

0
Last updated at Posted at 2026-06-17

はじめに

第1回では、IBM BobとMCPを使って「AIが迷わない開発の土台」を組んでみた話を書いた。ルール・カスタムモード・Skills・MCPを整えて、AIが迷わず働けるレールを敷く、という検証だ。

その最後で、こう予告していた。

第2回は、ここで整えた.bobの設定を、そのままClaude Codeの.claudeに持っていって検証した話を書く予定です。先に結論だけ言うと、設定がほぼそのまま動いた。

この記事は、その検証の続きだ。同じ土台を別のツールに載せ替えると何が起きるのか。実際にどんなSkillsやプロンプトで動かしているのかも含めて、正直に書く。

本記事は筆者個人の検証と見解に基づくものであり、所属組織の公式見解を示すものではありません。特定のツールの優劣を主張するものではなく、同じ設計が別環境でどう動くかを確かめた記録です。

これはシリーズの第2回です。第1回(IBM BobとMCPで土台を組んだ話)を先に読むと、この記事の前提がつかみやすいです。

▼ 第1回はこちら

この記事で話すこと

  • 同じ設定を別ツール(Claude Code)に載せ替える検証をした理由
  • 移行が拍子抜けするほど簡単だった理由
  • 検証して気づいたこと(モデルの挙動と、サブエージェントの自動振り分け)
  • 実際に動かしているSkillsとプロンプトの例

なぜ同じ設定を別ツールでも試したのか

第1回で組んだ土台は、特定のツールに依存しない形を意識していた。ルールもSkillsも、特殊な機能ではなくただのMarkdownで書いている。

だとすれば、この設計は本当にツール非依存なのか、別のツールに載せ替えても同じように動くのか、を確かめたくなった。検証としては自然な続きだ。

加えて、第1回で書いた「利用枠の消費」や「指示が曖昧なときの出力のブレ」のような運用上の気づきが、別の環境だとどう変わるのかにも興味があった。そこで、同じ.bobの設定をClaude Codeの.claudeに持っていって動かしてみた、というのがこの記事の流れだ。

移行は拍子抜けするほど簡単だった

ここが第1回の伏線回収になる。

第1回で整えた設定は、その多くがただのMarkdownファイルだ。ルールもSkillsも、特定のツールにロックインされた特殊フォーマットではない。

Bob側
.bob/
├── rules/        # コア原則・規約(Markdown)
├── skills/       # 作業手順(Markdown)
└── custom_modes  # 役割定義

Claude Codeも、考え方は驚くほど近い。

Claude Code側
.claude/
├── CLAUDE.md     # プロジェクト共通の指示
├── agents/       # サブエージェント(Bobのカスタムモード相当)
└── skills/       # Skills(ほぼそのまま流用)

やったことは、ざっくり言えば.bobの中身を.claudeへ持っていって、ファイルの置き場所と先頭の書式を合わせただけ。ルールの本文やSkillの手順は、ほとんど書き換えずにそのまま動いた。

これは「移行が楽でラッキーだった」という話に留まらない。ワークフローの設計が、特定のツールに縛られていなかったことの確認になった。第1回で「レールを敷く」ことに時間を使った投資が、ツールをまたいでも生きた、というのが検証で一番うれしかった点だ。

「規約や手順を、ツール独自の機能ではなくMarkdownで素直に書いておく」。これが移行コストを下げる地味なコツだと思う。資産がプレーンテキストなら、行き先がどこでも持っていける。

検証して気づいたこと①: モデルの挙動

同じ依頼でも、ツールやモデルが変わると返ってくるものの質感が変わる。

第1回で「曖昧な指示や難しめの設計判断で、想像していた成果物にならないことがあった」と書いた。Claude Codeで同じような頼み方をすると、設計の意図を汲んだ提案が返ってくる場面が増え、手戻りが減る感触があった。

ただし、仕様書を用意して前提を渡す、という工夫はどちらでも有効だ。土台が同じなら、土台がしっかりしていれば、その分の安定感はそのまま効く。エンジンが変わると走りは変わるが、レールが敷いてあること自体の価値は変わらない、というのが正直な印象だった。

検証して気づいたこと②: モードを切り替えなくてよくなった

検証していて一番「お、楽だ」と感じたのはこれだ。

第1回の土台では、コンポーネントを作るときは開発モード、レビューのときはレビューモード、と作業のたびに自分でモードを切り替えていた。地味だが、これが思考の流れを止める。

Claude Codeでは、.claude/agents/に置いたサブエージェントが、それぞれ「自分はいつ呼ばれるべきか」をdescriptionとして持っている。そしてClaudeがその説明を読んで、依頼内容に応じて適切なサブエージェントへ自動で振り分けてくれる

たとえば、こういう定義をしておく。

.claude/agents/component-dev.md
---
name: component-dev
description: 新規コンポーネント作成・リファクタリング時に使用。React Aria ComponentsベースのStorybook-Driven TDDを自動実行する。「Buttonコンポーネントを作って」のような依頼で起動する。
tools: Read, Edit, Write, Bash, Glob, Grep, TodoWrite
---

あなたはReact Aria Componentsを使ったStorybook-Driven TDD開発の専門家です。
(以下、第1回のカスタムモードとほぼ同じ手順)

こうしておくと、「Buttonコンポーネントを作って」と素で頼むだけで、開発担当のサブエージェントが起動する。レビューを頼めばレビュー担当が、コミットメッセージを頼めばその担当が動く。自分は「何をしてほしいか」を言うだけで、「どのモードでやるか」を意識しなくてよくなった。

役割ごとに権限を絞る、という第1回の考え方はそのまま。違うのは「切り替えを人がやるか、ツール側がやるか」だけだ。そして、その小さな違いが体験を大きく変えた。

実際に動かしているSkillsとプロンプト

土台として用意しているSkillsは、だいたい次の通り。いずれも第1回からの流用が中心だ。

Skill 役割
page-development ページ単位の一気通貫開発(デザイン分析→各コンポーネント開発→統合→確認→仕様書更新)
component-development Storybook-Driven TDDでコンポーネントを作る
coding-standards-review 規約に沿ったコードレビュー
pr-review PR前のセルフチェックとPR本文の用意
common-migration-advisor 共通化すべきかの判断

プロンプトは、特別な呪文を覚える必要はほとんどない。素直に日本語で頼むのが基本だ。いくつか例を挙げる。

よく使う頼み方
・「一覧ページを作って」
   → ページ開発のSkillが起動し、各パーツの開発まで連れて行ってくれる

・「Buttonコンポーネントを作って」
   → コンポーネント開発のサブエージェントが起動(仕様書確認→Story→テスト→実装)

・「いまの変更をレビューして」
   → レビュー担当が規約・依存・テストの有無をチェック

・「コミットメッセージ作って」
   → 変更内容を読んでConventional Commits形式の日本語メッセージを提案

ポイントは、プロンプトを賢くするより、Skillとサブエージェントのdescriptionを整えておくこと。入口の頼み方がラフでも、振り分け先が手順を持っているので、出力の質が安定する。

実際にページ開発を頼んだときの流れは、だいたいこうなる。

ページ開発を1回頼んだときの流れ(クリックで展開)
依頼: 「一覧ページを作って」

1. Figmaからデザイン情報を取得
2. 仕様書を確認・更新
3. 必要なコンポーネントを洗い出す
   → それぞれcomponent-devへ(Story→テスト→実装)
4. ページに統合
5. ブラウザで表示を確認
6. 主要導線のE2Eを用意
7. 仕様書を現状に合わせて更新

一度の依頼で、ここまでをレールに沿って進めてくれる。

検証して感じた、現実的なところ

良いことばかり書くと嘘くさいので、触ってみて感じた点も正直に書いておく。

「Claude Code=ターミナル専用」と身構える人がいるかもしれないが、実際にはVS Codeの拡張機能が用意されていて、IBM Bobと同じようにエディタ内のGUIで操作できる。自分も普段はこの拡張機能で使っていて、ターミナルに張り付く必要はない。CLIが苦手でも問題なかった。

  • コスト感はどちらでも意識が必要。 モデルが賢いぶん、何も考えず大きく投げれば相応に消費する。「小さく刻む」という第1回の教訓はそのまま生きている。
  • 自動振り分けは万能ではない。 たいていは適切な担当に振られるが、依頼が曖昧だと意図とずれることもある。そのときは「レビューだけして、コードは触らないで」のように、ひとこと添えると安定する。
  • 優劣の話ではない。 どちらも一長一短があり、相性や好みで選べばいい。今回の検証で確かめたかったのは「どちらが上か」ではなく、「同じ設計が両方で通用するか」のほうだった。そして、それは通用した。

まとめ

  • 第1回で組んだ設定(ルール・手順)はプレーンなMarkdown中心だったので、別ツールへほぼそのまま載せ替えられた
  • これは「ワークフロー設計がツール非依存だった」ことの確認。土台への投資はツールをまたいで生きる
  • 検証で気づいたのは(1)ツール/モデルで応答の質感が変わること、(2)サブエージェントの自動振り分けでモード切替が不要になること
  • プロンプトを凝るより、Skillとサブエージェントのdescriptionを整えるほうが効く
  • ツールはどちらも一長一短。優劣より相性で選べばいい

第1回と通して言いたかったのは、「どのAIツールを使うか」より「AIが迷わない土台をどう設計するか」のほうが、ずっと寿命が長いということだ。ツールは変わる。設計は残る。

ここまで読んでいただきありがとうございました。「うちはこう設計してる」「この設定どうしてる?」など、コメントで気軽に教えてください。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?