vibe-wiseとは?使い方・始め方・日本語を実際に使って調べてみた動いた
この日に実際に動かした結果です。内容の誤りに気づかれた場合はお問い合わせください。確認のうえ訂正します。
使う前に分かること
| 必要なもの | Claude Code、Python 3 |
|---|---|
| 動かした環境 | Node.js 22、Python 3.11、Claude Code 2.1.292。 |
| 日本語 | 画面・文書は英語 |
| 確認日 | 2026-10-07(この日に実際に動かした) |
AIエージェントに「これ作って」と頼むと、動くものはすぐ出てきます。ただ、できあがったコードの中身を自分では説明できない、次に機能を足したい時もまたゼロから頼むしかない、ということがよくあります。VibeWise は、Claude Code のプラグインとして、この「AIにお任せで動くけど、何も身につかない」状態に割り込みます。コードを書く前に「あなたはどう作りますか?」と聞き、設計の判断はこちら側に残したまま、合意した内容だけをAIが実装する、という進み方に変えるものです。
今回は、Claude Code に組み込みの「Anthropic Directory」から導入し、実際に小さな実在のお願い(友達との旅行の割り勘を計算するツール)を日本語で頼んで、設計の相談から実装・動作確認までの一通りを試しました。途中で見つかった「入れただけでは何も変わらない」という挙動も含めて書いています。GitHub経由の別の入れ方、既存リポジトリを読み解きながら始める場合、学習の進め方を「カスタマイズ」で細かく選ぶ場合、/vibe-wise:reset でやり直す場合は試していません。
Claude Codeにプラグインとして入れる
README が最初に案内している入れ方は、Claude Code に組み込みの「Anthropic Directory」からのインストールです。
claude plugin install vibe-wise@anthropic-plugin-directory
Installing plugin "vibe-wise@anthropic-plugin-directory"...√ Successfully installed plugin: vibe-wise@anthropic-plugin-directory (scope: user)
入ったかどうかは claude plugin list で確認できます。
claude plugin list
Installed plugins:
> vibe-wise@anthropic-plugin-directory
Version: 0.1.43-c5fc8d813ce6
Scope: user
Status: √ enabled
README はこのあと「使いたいプロジェクトで Claude Code を開き直して、/vibe-wise:learn と打ってください」と案内しています。
入れただけでは何も変わらない
ここが今回いちばん大事な発見です。プラグインを入れた直後、/vibe-wise:learn を打たずに、ふつうに日本語で作ってほしいものを頼んでみました。
友達と旅行に行った時の割り勘を計算するツールを作りたいです。レシートの金額を書いたテキストファイルを読み込んで、合計と一人当たりの金額を出してくれるようなやつを想像してます。プログラミングは詳しくないので、簡単な感じで作ってもらえますか?
割り勘ツールを作りました。レシートの金額を書いたテキストファイルを読み込んで、合計と一人当たりの金額を出します。サンプルのレシートで動かして、期待どおりの結果が出ることを確認済みです。
設計の相談も確認も一切挟まらず、いきなりコードが書かれて動かすところまで終わっていました。VibeWise を入れていないふだんの Claude Code と同じ動き方です。
プラグインの中身(skills/learn/SKILL.md)を見ると、理由が書いてあります。
name: learn
description: Activate or resume learning-first development. You lead the design; Claude gives
feedback, explains concepts, asks follow-ups, and writes the agreed code.
disable-model-invocation: true
disable-model-invocation: true は「AIが自分の判断でこの機能を起動することはない」という設定です。つまり、プラグインを入れただけでは何も変わらず、自分で /vibe-wise:learn と打って初めて、ここから説明する学習モードが始まります。入れた直後に普段どおり頼んでもいつもと同じ返事しか来ないので、「効いていないのでは」と思ったら、まずこのコマンドを打ったか確かめてください。
/vibe-wise:learn で学習モードに入る
同じ会話で /vibe-wise:learn と打ち直すと、様子が変わりました。
/vibe-wise:learn
学習モードを有効にしました。ここからは、設計はあなたが考え、私が実装する形で進めます。「この方針でいい」と思えるまで一緒に考え、合意した内容だけをコードにします。学習の記録は、プロジェクト内の `.vibe-wise/` フォルダにメモとして残します。Git に入れたくない場合は `.gitignore` に追加しておくのがおすすめです。こちらで勝手に編集はしません。
最初に確認です。ここまでの `warikan.py` は、これまでのやり取りで私が作ったものです。このプロジェクトは次のどれにあたりますか?
1. **新規プロジェクト**: これから一から作る
2. **既存のリポジトリ**: すでにあるコードを読み解きながら進める
3. **すでに把握しているプロジェクト**: 構成は分かっていて、続きを作る
続けて、プログラミングの経験・学びたい範囲・進め方の好みを1つずつ聞かれます。経験を聞かれた場面はこうでした。
少し読み書きしたことがある、くらいです。学校の授業でちょっとやったくらい。
Python は授業で少し触った程度、と記録しました。今後は、新しい用語や書き方が出てきたら、その場で説明を入れます。
このやり取りが終わると、プロジェクトのフォルダに .vibe-wise/ ができていました。
ls -la .vibe-wise
total 20
drwxr-xr-x 2 root root 4096 Oct 7 04:31 .
drwxr-xr-x 2 root root 4096 Oct 7 04:33 ..
-rw-r--r-- 1 root root 1227 Oct 7 04:33 profile.md
-rw-r--r-- 1 root root 1916 Oct 7 04:33 progress.md
-rw-r--r-- 1 root root 1698 Oct 7 04:33 project-map.md
profile.md が経験や目標などの回答のメモ、project-map.md が今のコードの構成メモ、progress.md が進行の記録です。README の言うとおり、外部のサービスには通信せず、ローカルのMarkdownファイル3つだけでした。
作りたい機能を伝えて、設計を一緒に詰める
ここから、次の機能(項目によって負担する人を変える)を頼みました。設計の相談はこう始まります。
人によって負担額を変える方です。イメージとしては、夕食だけ友達Cは参加しなかった場合、夕食の金額は私と友達Aと友達Bの3人だけで割ってほしくて、友達Cの負担には入れたくないです。他の項目(ホテルとか)はみんなで割る。最終的な「誰が誰にいくら払う」のところにもそれが反映されてて、友達Cは夕食分を払わなくていい、というのが欲しい動きです。
✦ Build checkpoint: 項目ごとに負担する人を変える
欲しい動きは分かりました。夕食は3人で割って、ホテルなどは全員で割り、精算にも反映する、ということですね。
今の `warikan.py` は、全項目の合計を出してから、その合計を全員で同じ額に割っています(`settle` 関数の最初の数行)。つまり「どの項目を誰が負担するか」という情報が、今のコードにはまだありません。
そこで、あなたの考えを聞かせてください。この動きを実現するには、次の2つを決める必要があります。
1. **レシートファイルへの書き方**: 「夕食は友達Cを除く」という情報を、ファイルのどこにどう書けば使いやすいと思いますか?
2. **計算の変え方**: その情報を使って、一人ひとりの負担額をどうやって求めればよさそうですか?
コードはまだ1行も書かれません。先にこちらの考えを聞いてくる、という「Build checkpoint」です。考えを答えると、こちらの案の曖昧な所を3つ指摘されました。
ただ、詰めておきたい点が3つあります。
**1. 払った人の立て替え額**
「割った金額を、払った人の立て替えに足す」と書かれていましたが、2通りに読めます。夕食12,345円を友達Aが払い、友達Cが除外なら、Aの立て替えに足すのは12,345円と4,115円のどちらでしょうか。4,115円は、夕食の「一人分」です。立て替え額と負担額が、それぞれ何を表すかを整理して、どちらが正しいかを教えてください。
「立て替え」と「負担」の違いがピンと来なかったので、ここで答えずに聞き返してみました。これが「Discuss」(質問する)の場面です。
すみません、1番がよく分からないです。「立て替え」と「負担」の違いがそもそもピンと来てなくて…。立て替えって「その人が実際に払った金額」のことですよね?負担は「本来その人が払うべき額」ってことですか?だとしたら夕食は友達Aが12,345円を実際に払ってるので、立て替えは12,345円のままで、負担の方を4,115円×3人(私・A・B)に割る、であってますか?
はい、その理解で合っています。立て替えは「実際に払った額」、負担は「本来払うべき額」です。夕食なら、友達Aの立て替えは12,345円のまま。負担は、私・A・Bがそれぞれ4,115円で、Cは0円になります。
コードの話を抜きに、言葉の意味から説明してもらえました。端数(割り切れない1円の扱い)のルールを決める段では、こちらが前の仕様を勘違いして答えたところ、コードを読んで訂正が入りました。
端数については、1点だけ事実を訂正させてください。「前もそんな感じだった」とのことですが、今のコードは払った人ではなく、**参加者に書いた順の先頭の人**から1円ずつ多く負担する方式です(`settle` 関数の `base + (1 if i < rest else 0)` の部分)。今回あなたが決めた「払った人が多めに持つ」は、前とは別のルールです。決めたルールで進めますが、結果は少し変わります。
思い込みで「前と同じ」と言ったことを、実際のコードを見て指摘し直してくれた場面です。
実装してもらって、動かして確かめる
書き方・計算方法・端数の持ち方・書き間違いの扱いが決まると、今度は「Implementation checkpoint」として、変更するコードの範囲とトレードオフがまとめて提示されました。
✦ Implementation checkpoint: 項目ごとの除外を `warikan.py` に入れる
**変更するコード**
- **`read_file`**: 行から `除外:...` の部分を取り出して、名前の一覧にします。今のコードは「最後の語が払った人」と決め打ちなので、その前に取り除く必要があります。
- **`settle`**: 今の「合計を全員で割る」部分をやめて、項目ごとに「負担する人を決める → 割る → 端数を決める」ループにします。立て替え(`paid`)と精算の組み立ては、そのまま使います。
- **`print_items` と `main`**: 除外の表示を追加します。端数の説明文は新しいルールに書き換えます。冒頭の使い方の説明も更新します。
- **`receipts.txt`**: 動作を確認しやすいように、夕食の行に `除外:友達C` を足します。
このあと、トレードオフと提案の追加項目が表で続きますが省略します。最後はこう締められていました。
**Discuss**: 分からないところ、変えたいところがあれば、決める前に聞いてください。
**Implement this step**: この方針で、このステップのコードを書いてよければ、そう伝えてください。
ここで実装を許可しました。
Implement this step。この方針で実装してください。
✦ Implementation report: 項目ごとの除外
項目ごとの除外を入れて、実際に動かして確認しました。サンプルの夕食は、私・友達A・友達Bの3人が4,115円ずつ負担し、友達Cは夕食分を払いません。友達Cの負担は、夕食以外の分の9,195円だけです。
このあとに変更したコードの場所が箇条書きで続き、最後はこうまとめられていました。
**確認の結果**
- **動かして確認**: 夕食だけ除外、一部だけ間違った名前、全員除外、払った人が除外に入っている、払った人なし、参加者の行なし、全角の読点、の7パターンを確認しました。端数が出るケースでも、期待どおりの人が持っていました。
- **精算の合計**: 6つのファイルで、全員の負担の合計が支払いの合計と一致し、精算のとおりに払うと全員の過不足が0になることをプログラムで確認しました。
- **テストファイルは作っていません**。確認は毎回の手動実行です。
ここまでのやり取りを経て、最終的に receipts.txt(レシートのファイル)はこういう中身になっていました。1行が1件で、「内容 金額 払った人」の順に書き、先頭に参加者を書き、特定の項目だけ誰かを外したい時は行の最後に「除外:名前」を付けます。
cat receipts.txt
# 旅行のレシート(内容 金額 払った人)
参加者: 私, 友達A, 友達B, 友達C
ホテル 24000 私
ランチ 3,200円 友達A
お土産 ¥5,480 友達B
ガソリン代 4100 私
夕食 12,345円 友達A 除外:友達C
自分でも実際に実行して、報告どおりの数字になるか確かめました。
python3 warikan.py receipts.txt
ホテル 24,000円 (私)
ランチ 3,200円 (友達A)
お土産 5,480円 (友達B)
ガソリン代 4,100円 (私)
夕食 12,345円 (友達A) 除外:友達C
------------------------------
合計 49,125円 / 4人
【一人ずつの内訳】
私 負担 13,310円 立て替え 28,100円
友達A 負担 13,310円 立て替え 15,545円
友達B 負担 13,310円 立て替え 5,480円
友達C 負担 9,195円 立て替え 0円
【精算】
友達C → 私 9,195円
友達B → 私 5,595円
友達B → 友達A 2,235円
友達Cの負担だけ他の3人(13,310円)より4,115円少ない9,195円になっていて、報告どおり夕食代が除かれています。テストコードはなく、確認はこの手動実行だけでした。
できたコードを覗いてみる
最後に、実際にどんなコードになったかを見せてもらいました。関係する場所を表にまとめて返ってきます。
| 場所 | 役割 |
|---|---|
| 48〜53行目 | 行の最後の `除外:...` を取り出す(`read_file` の中) |
| 75〜85行目 | `pick_sharers`。その項目を負担する人を決める。書き間違いは警告して無視 |
| 94〜104行目 | `settle` のループ。項目ごとに割って、端数を持つ人を決める |
実際のファイルを開くと、端数を持つ人を決める部分は1行でした。
keeper = payer if payer in sharers else sharers[0]
「払った人が、負担する人の中にいればその人、いなければ先頭の人」という、設計の相談で決めた内容がそのままコードになっています。プログラミングをほとんど知らなくても、このくらいの行なら、相談した内容と対応づけて読めそうです。
なお、学習モード自体に追加の料金はかかりません(README に「No extra account, backend, or telemetry」とある通りです)。ただし、ここまでのような深い相談は普通のClaude Codeの会話なので、やり取りが増えるほど通常のClaude Code利用料はかかります。今回のように14回ほど発言を往復させた分だけで、API利用料換算で1ドルを超える計算でした。
まとめ
VibeWise は、プラグインを入れただけでは何も起こらず、プロジェクトごとに自分で /vibe-wise:learn と打って初めて動き出します。一度動き出すと、経験や目標を聞くオンボーディングから、作りたいものの相談(Build checkpoint)、分からない言葉を聞き返せるDiscuss、実装範囲とトレードオフの提示(Implementation checkpoint)、実装後の動作確認の報告まで、謳い文句どおりの流れで進みました。こちらが仕様を勘違いして答えた時も、コードを読んで実際の挙動と違う点を指摘し直してくれる場面もありました。
「とにかく早く動くものが欲しい」だけなら、相談の分だけ時間がかかるぶん遠回りに感じるかもしれません。ただ、AIに作ってもらったコードを自分でも触れるようになりたい人、仕組みを分かった上で機能を足したい人には、今回のように設計の理由を会話の中で説明してもらいながら進められるのは向いていると思います。入れてすぐ何も変わらないように見えたら、/vibe-wise:learn を打ち忘れていないかをまず確認してください。
確認した環境
質問への回答は、ターミナルから claude -p を繰り返し呼ぶ形(ヘッドレス実行)で行いました。そのため、README が触れている「矢印キーで選ぶ」実際の選択メニューではなく、番号や言葉を文章で打ち込む形での応答になっています。通常どおりターミナルやエディタでClaude Codeを起動して対話する場合は、選択肢がメニュー表示になる可能性がありますが、チェックポイントが出る・学習ノートが作られる・設計を聞かれるといった動き自体はこの検証方法によって変わるものではありません。