実践:GitHub 公式が教えるハーネスの使いこなし——すぐ回せる 8 ステップ
- 毎日のように新しい MCP、スキル、ワークフローが出てきて追いきれません。GitHub 公式ブログは 7 月 27 日にこう書きました。追うのはやめて、手元の AI コーディングツールそのものを使いこなせ。その方が効く、と。
- 著者 Burke Holland は GitHub と Microsoft で開発者アドボカシーを担当し、GitHub Copilot が主戦場です。開発者ツールの啓発チームも率いてきました。紹介しているのは、自分がいちばん毎日回している 8 ステップ。GitHub Copilot の既存機能だけで完結します。
- コードを書く前に、まず AI にプロトタイプを 20 個出させ、1 ページに並べて比較します。「API エンドポイントを 1 つ足す」ような見えない作業でも、先に図を描かせます。理由はシンプルです。見なければ、考えもしないから。
- 最後の関門は、別会社のモデルに粗を探させること。彼は GPT-5.6 Terra でコードを書き、Copilot が自動で Claude Sonnet を呼んでレビューさせます。学習データが違えば、盲点も違います。
- 全権限モードは推奨するが、サンドボックス内に限る。AI 投資家の Matt Shumer は自分の Mac でオンにした結果、環境変数の解決ミスから再帰削除コマンドが走り、ホームディレクトリのファイルをほぼ消しました。
- 原文タイトル「The harness is all you need (mostly)」の末尾 mostly には重みがあります。彼自身、この記事の中でスキルを 2 つ入れています。1 つは計画を徹底的に問いただす用、もう 1 つはデザインのトーンを決める用です。
GitHub 公式が整理した 8 ステップ——日付ピッカー開発を例に
GitHub 公式アカウントが共有した、きわめて実践的な AI 開発者ワークフローのガイドです。毎日湧き出る新 AI ツール、複雑なプロンプト、各種の黒魔術に振り回されないこと。本番で生産性を跳ね上げるのは、ハーネスを使い切ること——それが本筋です。
著者 Burke Holland は GitHub と Microsoft で開発者アドボカシーを担当し、GitHub Copilot が主戦場です。「ゼロから Date Picker コンポーネントを作る」を例に、明確で繰り返し使える 8 ステップを整理しました。GitHub Copilot の既存機能だけ。新しいものは何も入れません。
以下の 8 ステップが、彼が毎日回している流れです。タブを押すと、各段で何をしているか見られます。
入口を 1 つ選ぶ。初心者は CLI から
各入口は同じハーネスに収束中。一度学べばどこでも使えます。
承認ボタンを切り、サンドボックスで走らせる
自律性がなければ効率化は語れません。全権限は隔離環境必須。
/allow-all(別名 /yolo)
プロトタイプを 20 個並べ、1 ページで比較
見て初めて、自分が欲しいものがわかります。
Give me 20 mocks for a date picker web component…
計画モードへ。境界の問いを出させる
要件がぼんやりでも構いません。ぼんやりを解くのがこの段です。
/plan Build a date picker web component…
計画を承認し、Autopilot に任せる
組み込みループがモデルを推し進め、計画の全項目を完了させます。
人がレビュー。「だいたい動く」は拒否
出てきたものは大抵、欲しかったものではありません。品質はあなたの審美眼次第。
別会社のモデルに粗を探させる
別系列のモデルに見てもらうと、盲点がずれます。
Perform a rubber duck review on…
コミット。話題が変わったら新セッション
セッションはテーマ単位。話がそれ切ったら切り替えどきです。
第 1 ステップ:入口を 1 つ選ぶ。初心者は CLI から
GitHub Copilot ファミリーだけでも入口はいくつもあります。CLI、新登場の GitHub Copilot デスクトップアプリ、VS Code、Visual Studio、JetBrains——これはほんの一例です。
良いニュースは、これらの入口が同じハーネスに収束しつつあることです。細部は違っても、コアの流れは同じ。一度学べば、どこでも使えます。
初心者への勧めは CLI から始めること。ハーネスを覚えるなら、できるだけ近くにいた方がいい、というのが理由です。端末は純テキストで、覚える UI の山がありません。一文打つと Agent が動き、やりとりはより直接で即時です。彼の言葉を借りれば、「正直、かなり気持ちいい」。
今回のデモで使ったのは新登場の GitHub Copilot デスクトップアプリ。Copilot CLI の上に載っており、macOS、Linux、Windows に入れられます。売りは複数の Agent セッションを同時に開けること。それぞれ独立した git の worktree とブランチで走り、互いに干渉しません。セッションモードは 3 つ。次の数ステップで語る内容とちょうど対応します。
| セッションモード | 誰が主導か |
|---|---|
| Interactive対話 | 往復。1 手進めたら、あなたの一言を待つ |
| Plan計画 | 先に実装計画を出し、あなたがレビューして承認 |
| Autopilot自動操縦 | 任せきり。一手ずつ進めてタスク完了まで |
第 2 ステップ:承認ボタンを切る——ただし自分の PC では切らない
YOLO モード(you only live once。「人生一度きり」。プログラマーの自嘲で「もう開き直る」の意)。公式名は Allow All(すべて許可)。起動方法はツールごとに少し違いますが、多くはチャットで /allow-all と打つだけ。/yolo は同じコマンドの別名です。オンにすると Agent は実行したいコマンドをそのまま走らせ、一歩ごとに聞かなくなります。
彼がオンを推す理由はこうです。Agent に自律性があって初めて、効率の上がり方が見えます。何をするにも「承認」をクリックするなら、自分でやった方がマシです。一日中承認を押し続けるのも、かなりつらい体験です。さらに悪いことに、押し続けると中身を見ずに押す癖がつき、承認ステップそのものが形骸化します。
続けて彼は、7 月 10 日のツイートへのリンクを貼りました。Matt Shumer は AI 界隈で活動する投資家で、AI ライティング製品 HyperWrite の CEO も務めた人物です。彼は GPT-5.6 Sol を自分の Mac 上で走らせていました。Agent がファイル整理を実行する過程で再帰削除コマンド(rm -rf)を組み立て、Mac のホームディレクトリの中身をほぼ消し去りました。
かなり腹が立った……OpenAI チームは調査中だが、こんなことが起きるのは GPT-3.5 の頃の話だと思っていた。2026 年半ば、最高推論枠の最前線モデルで、ではない。
Matt Shumer、2026-07-10
そこで著者の結論はこうなります。YOLO はオンでいい。ただしローカルではオンにしない。会社ではなおさらです。データは組織のシステム上にあり、事故の代償が大きい。オンにするならサンドボックス本機と隔離された使い捨ての環境。中が全消しされても、自分のファイルには影響しません。を使います。いちばん手軽なのは GitHub Codespaces(クラウド開発環境)か dev container(本機上でコンテナに隔離した開発環境)です。
権限は 4 段階——読み取り許可から完全自動まで
この層が、「楽」と「安全」を両立できるかを決めます。Copilot CLI の既定は、何でも止めるわけではありません。検索、ファイル読み取り、読み取り専用コマンドなど、読み取り操作はもともと自動許可です。あなたに確認を求めるのは、システムを変えうる動作——破壊的コマンドの実行、ファイル書き込み、URL へのアクセスです。
「毎ステップ質問」から「完全自動」のあいだにも、段階があります。
| 段階 | 止まるか | いつ使うか |
|---|---|---|
| 既定 | 読み取りは自動許可。ファイル変更・破壊コマンド・URL は毎回確認 | 自分の PC で作業するとき |
| --allow-all / --yolo | 許可が必要な動作は聞かない。意思決定点では、どうしたいかまだ聞く | サンドボックスで任せきりにしたいとき |
| --no-ask-user | 確認質問はせず自分で決める。ただし次の一手を勝手に続けない | 追質問は嫌だが、枠を燃やし続けたくもないとき |
| autopilot モード | 一手ずつ進めてタスク完了まで。全権限がなければ承認が要る作業は不可 | 明確な計画があり、一度に仕上げさせたいとき |
さらに細かくもできます。--allow-tool='shell(git:*)' --deny-tool='shell(git push)' の意味は「git は全部 OK。ただし push は禁止」。覚えておくべきルールが 1 つ。拒否ルールは常に許可ルールより優先します。--allow-all を付けても同じです。
第 3 ステップ:先にプロトタイプ。見て初めて欲しいものがわかる
AI が本当にすごい点の 1 つは、初期プロトタイプが桁違いに安くなったことです。昔はプロジェクトの一段階そのもので、しばしば贅沢品でした。今は一文で出ます。
例は date picker コンポーネント。単純に聞こえますが、答え待ちの問いが山ほどあります。コンポーネント内のナビはどうする? 選択中の日付はどう見える? 区間選択は? 日・月・年の切り替えは?
彼のやり方は、一文で 20 個要求することです。
Give me 20 mocks for a date picker web component. Put them all in an HTML file so I can compare.
出てきた 20 案のうち 1 つは年ビューから始まるもの(図左の「Year at a glance」。一年が一目)。それを見て初めて気づきました。自分が欲しいのは、年 → 月 → 日とズームできる UI だと。
見なければ、考えもしない類のものです。
These are the kinds of things you don't consider until you see them.
人は密な文字より、画像・形・見えるレイアウトの方がはるかに速く処理できます。初期に低コストで原型をいくつか作ると、複雑な概念が一気に直感的になります。
見えない作業も、同じく先に図にする
API エンドポイントを 1 つ足す——プログラム同士が呼び合う入口を増やす——という作業には、見せる UI がありません。それでも彼は、先に可視化モックを要求します。
Create a visual mockup of the API for this project. Add five options for how we could handle a new API endpoint that allows the user to download their analytics data.
GitHub Copilot デスクトップアプリは Mermaid 図テキストでフロー図を描く記法。数行書けば箱と矢印にレンダリングされるので、AI がそのまま「書いて」図にできます。に対応しており、5 案はそのまま木構造として描画されました。
モデルの選び方:中間の枠。しかも最初から最後まで変えない
日常の大半は中間モデルを勧めます。GPT-5.6 Terra か Claude Sonnet。推論枠も中程度。GPT-5.6 世代は 7 月 9 日に Copilot へ入り、3 型があります。Sol が推論最強、Terra がバランス、Luna が最軽・最安。推奨の Terra は真ん中の枠です。
もう 1 つ、さらに値打ちのある助言。同じ機能・同じバグでは、最初から最後までモデルも推論枠も変えない。理由はプロンプトキャッシュ(prompt caching)モデル側がこれまでの対話を保持し、続きの計算をやり直さない仕組み。料金が割引になります。モデルや推論枠を変えるとキャッシュは無効になります。です。替えなければ、過去の対話はキャッシュ状態のまま後続リクエストが割引されます。替えると最初からやり直しです。
第 4 ステップ:計画モードへ。思いもよらない問いを次々出させる
ここであなたは、最初に思っていた欲しいものではなく、本当に欲しいものがわかっています。実装計画を出す番です。
新しいセッションは要りません。そのまま計画モードへ切り替えます。
/plan Build a date picker web component. I want the user to be able to zoom in and out of years, months, and days.
このプロンプトはかなりぼんやりだと本人も認めています。それでも構いません。計画ステップは、まさにそのためにあります。
理論上は、完璧なプロンプトと完璧な文脈を、完璧な順に並べれば、モデルは一発で成功します。理論上は。誰にもできません。計画モードが理想に近づけるやり方は、自分で手を動かしたら遅かれ早かれ答えることになる問いを、先に 1 つずつ引き出させることです。
計画モードが聞く問いの一例です。どれも、具体的な 1 件を決めています。
開始日と終了日は、同じ日でもよいか?
「1 日選択」と「区間選択」を同じロジックにするかを決めます。同日可なら、「区間長ゼロ」をコードで扱う必要があります。
途中までの選択は有効か?
開始日だけ押して終了日を押さずに離れたとき、状態を残すか、UI に痕跡を残すか。
選んだ日付を空にできるか?
「クリア」ボタンの要否、クリア後は空値かデフォルト日付かの判断。
「今日」は常に表に出すか?
常駐の「今日」導線を置くか、当月まで辿らないと出ないか。
手入力は許すか?
許すなら雑多な入力形式の処理と、誤り時の案内が必要になります。
日付の保存形式は?
他システムとの接続方法が決まります。文字列かタイムスタンプか、時区またぎで 1 日ずれるかも、この 1 問に含まれます。
日付の貼り付けは許すか?
手入力とは別物。貼り付け内容は別場所の書式を引きずりがちで、個別処理が要ります。
こうした問いはまだ長い列が続きます。境界ケースを全部思い浮かべるのは不可能でも、モデルはかなり拾い出してくれます。
提案をそのまま飲むと、計画プロセスの価値を自分で打ち消します。意味は細部を自分の頭で一度通すことにあります。どれを取るか、その場で決める必要があります。
こちらからモデルに聞き返してもよい
彼はだいたい意図を察していましたが、双方が同じチャンネルに立つよう、それでも 1 問聞きました。途中で質問を差し込んでも計画フローは切れず、そのまま続きます。
もっと厳しく聞くなら:追及専用スキルを入れる
Matt Pocock 作の grill-me スキル(「こっちを詰めてくれ」)を入れると、2 コマンドをつなげて打つだけで、質問の量も厳しさも跳ね上がります。彼は TypeScript 界隈で有名な教育系著者です。このスキルは 1 問ずつだけ聞き、1 つの計画を根こそぎ掘り、あなたと Agent が各分岐で合意するまで続けます。(この記事で使った 1 つ目のスキルです。)
/plan /grill-me Build a date picker web component. I want the user to be able to zoom in and out of years, months, and days.
第 5 ステップ:計画を承認し、Autopilot に走らせ切る
計画が出ると、GitHub Copilot はだいたい、Autopilot へ切り替えて実装するか聞いてきます。
Autopilot は組み込みのループです。「やると言ったことを本当にやり切ったか」を確認するやり方で、モデルを推し進めます。ここでは計画の各項目です。
この段階で Copilot は自動的にオーケストレーター(英語では orchestrator、編成役)になります。コードベースのファイルを読む必要があれば「Explore」サブエージェントを小さなモデルで派遣し、動作が複雑そうなら「General Purpose」サブエージェントを大きなモデルで派遣しがちです。細かく制御したければ、カスタム Agent とカスタム指示でもできます。何もしなくても、複数サブエージェントと複数モデルの協調の恩恵は受けられます——その存在を知らなくても。
Autopilot が止まるタイミング
autopilot が止まるのは 4 つ。タスク完了と判断したとき、行き詰まったとき、Ctrl+C で止めたとき、設定した最大継続回数に達したとき。最後は --max-autopilot-continues で設定します。無限ループに落ちるのを防ぎ、スクリプトで無人実行するときは特に必須です。事故のとき傍にいないからです。
もう 1 つ、安全設計があります。前段とこの段がセットである理由でもあります。autopilot モードでは、明示的に全権限を与えない限り、承認が必要な動作は一切できません。権限が足りなければ自動拒否の連続になり、仕事は終わりません。
第 6 ステップ:人がレビュー。「だいたい動く」は拒否する
この段がいちばん爽快です。AI が何を作ったか、ようやく目で見ます。
ただし、欲しかったものぴったりであることは少ない。それが普通です。モデルは心を読めませんし、間違えます。本当に欲しい形になるまで、擦り合わせが要ります。コードでも UI でも、この段の品質はあなたの審美眼が決めます。
彼が一目で挙げた 4 点:
- アニメーションが不揃い
- 選択済み日付にホバーすると文字が読めない(コントラスト不足)
- 上部の「12 YEARS」は不要
- 「Today」を押しても、月ビューや年ビューにいると当日へ飛ばない
- このデザインはあまり好きではない。いかにも AI っぽい——実際そうだから
彼が使っているのは自作 CSS フレームワーク Postrboard(デザインシステム。40 超のコンポーネント)。スキルとして Agent に渡し、スキル内で CSS の場所と使い方を指します。彼の枠に限らず、好きな CSS フレームワークなら何でも構いません。モデルにデザインの指針を少し渡すと効果が大きく、多くの場合 CSS フレームワーク 1 つで足ります。(この記事で使った 2 つ目のスキルです。)
その後、彼が投げた一文は、一字一句こうです。
ok - we don't need a landing page here - just the component, output and settings panel in a minimal setting. Use the /postboard skill for the design and colors. For the date picker, when I click on the day, it tries to zoom in, but can't because there is nothing to zoom to. There should be no zoom there. It doesn't need to say "Zoom Out" at the top When I mouse over a month or year that contains the selected day, I cannot read the hover text. When I click "Today" it should take me to that day view, even if I'm on the month or the year. The months don't need numbers under them and they don't need to be in boxes Same goes for years. And it doesn't need to say "12 years" at the top."
(原文ではフレームワーク名を /postboard と書いて r が 1 つ足りません。正式名は Postrboard です。)
考えすぎないこと。小さな不具合を直すときは、そのままモデルに話せばいい。文脈があれば、それがプロンプトです。
Notice how conversational this is. Don't overthink it.
「だいたい動く」AI 出力を受け入れないこと。品質を求め、しかも厳しく。この部分の責任はまだあなた側にあります。何が良くて何が良くないかを見分けられること自体が、あなたが持ち込む価値です。手触りと創造性を、AI が人から奪うことはありません。
第 7 ステップ:別会社のモデルに粗を探させる
納得いくまで直したら、もう一度 Rubber Duck review(ラバーダックレビュー)を依頼します。特別な書式は要りません。口語の一文で呼べます。
Perform a rubber duck review on this date picker component implementation
仕組みはこうです。GitHub Copilot は今のセッションモデルと別ファミリのモデルを探しに行き、実務上は別会社のモデルに差し替えます。著者は GPT-5.6 Terra を使っていたので、Claude Sonnet がレビューに入りました。理屈は素朴です。モデルごとに学習データが違い、盲点も違う。同じモデルが自分を見ると、同じ穴を抜けがちです。
ラバーダックは見るだけ。粗探しにも境界がある
ラバーダックは組み込みの Agent で、読み取り専用、ファイルは変えません。意見を出すだけ。直すかは主 Agent とあなたが決めます。意見は 3 段階。ブロッカー(直さないと完了しない)、非ブロッカー(直すべきだが、動かないわけではない)、提案(優先度は低いが本当に有用)。書式、命名、コメント文法など、実害のない指摘はしないよう明示されています。問題がなければ「なし」と明言します。
最後専用でもありません。プロトタイプも計画も見られます。その段で第 2 の AI の意見が欲しいかどうか次第です。
いちばん効くタイミングは計画が終わり、コードをまだ書いていない瞬間。方向転換がいちばん安い。ほかに 3 つ。途中で盲点を洗う、テストを書いたあとでカバレッジを確かめる、失敗が続くときに頭を切り替えて分析する(同じ発想で何度も試さない)。小さな変更ではだいたいスキップし、邪魔をしません。
手動でいつでも呼べます。/rubber-duck まだ足りない境界ケースは? の一文で足ります。
rubber ducking はソフトウェア業界の古い手法です。コードや思考を、動かない物——伝統的にはゴムのアヒル——に向かって話します。「口に出す」だけで、自分で穴に気づくことがよくあります。違うのは、このアヒルは口答えすること。返ってくる意見はそのまま直せます。
さらに厳しく:2 モデルに互いを磨かせる
ラバーダックと Autopilot は、1 本のループにつなげられます。
/autopilot rubber duck this date picker implementation. When you have the result, review it carefully and make any necessary adjustments. Repeat the rubber duck review until both you and the reviewing model agree that the only items that remain have diminishing returns.
代償はトークン消費の増加です。彼の言い方では、2 モデルに交互に叩かせてコードを硬くすること。未来の自分が落とし穴にハマる時間を買っている、という感覚です。
第 8 ステップ:コミット。話題が変わったら新セッション
終わったらコミットするか、同じ変更の中に次の機能を足します。セッション管理についての助言がもう 1 つ。次の仕事がこれと無関係なら、新セッションを開く。セッションはテーマ単位に分ける。話がそれ切ったら、だいたい切り替えどきです。
彼が仕上げた成果物です。年 → 月 → 日と段階ズームし、左のコンポーネントと右の設定パネルがリアルタイム連動します。
彼自身、この例は少し作為的だと言います。それでも一瞬立ち止まる価値はあります。日付ピッカーは、かつてフロントエンドでいちばん手強い仕事の 1 つでした。経験者に聞けばすぐわかります。
「スキルは不要」と言いながら、自分で 2 つ入れた
記事の冒頭は「今 AI に圧倒されているなら、あなたは一人じゃない」から始まり、毎日タイムラインを埋める新ツール、新 MCP、新スキル、新ワークフロー、そして必ずセットになる「見て!この変なプロンプト 1 本で AI を完全に理解した」を並べます。彼の返事は一言です。
……信じないね。
I…don't believe you.
毎日 AI で仕事をして出た結論は、足さないほど理解が深く、効率も上がるということ。どんなプラグインを入れるか、どんなルールを書くか、Agent をどうだまして余分に働かせるか——面白いけれど、彼から見れば小技に近い。本当に効率を一段上げたのは、このハーネスをどう使い、どれだけ理解しているかでした。
今の市場に溢れる粗製乱造についても一言あります。Agent にスキルを 1 つ生成させれば、文句なく何かは作ってきます。それが使えるかは別問題。しかもそういうものが、各種スキル市場や MCP 市場にすぐ出せます。
断言し切ってはいません。明確に書いています。あとで複雑なワークフローを定義し、チーム向けに自動化するなら、スキル、MCP、カスタム Agent はもちろん重要になる——「実際、この記事でもいくつか使った!」と。言いたいことは 1 つだけ。それなしでも、AI は十分うまく使える。
最後のまとめは 3 層です。
第一に、大半の人にはシンプルな流れで足ります。シンプルには副次効果もあります。複数の仕事を同時に回すとき、どの Agent がどんな状態で、自分が前回どこまでやったかが把握しやすい。コンテキストウィンドウは有限で、モデルが一度に覚えられる量も有限です。
第二に、AI 周りで遊べるものに上限はありません。MCP、スキル、指示、カスタム Agent、ワークフロー、ループ、Agent に Agent を促させ、仮想開発チームを丸ごと組む——全部ありです。
第三に、最後に置いた一文:
いま誰も、自分が何をしているのか本当にはわかっていない。みんな手探りで作っている。今日の魔法の呪文の多くは、明日の反面教師になる。
nobody really knows what they are doing right now.
振り返ると、原文タイトル末尾の mostly には重みがあります。記事の最初から最後まで、彼はスキルを 2 つ使いました。Matt Pocock の grill-me で計画を徹底的に問い、自作の Postrboard でデザインのトーンを決める。冒頭の免責にも、本人が認めています。
だから「ハーネスだけで足りる」の本当の意味はこうです。毎日湧く新ものに追い回されなくていい。手元のツールの既存機能だけで、仕事は十分うまくできる。本当に自動化が要る複雑な流れに当たってから、そのとき足せばいい。
GitHub公式が毎日回しているAIコーディング8工程を全公開:プラグイン不要、標準機能だけで完結
GitHubのデベロッパーアドボケイト Burke Holland が、日付ピッカーをゼロから作る例で8工程を1つも飛ばさず書き切った。この1ページで図つきで解説する。
↓ 1ページで読了 · 動く図つき
毎日のように新しいプラグイン、スキル、プロンプトが出て、追いきれない。GitHub公式ブログは7月27日、逆方向の答えを出した。追うな。手元のAIコーディングツールそのものを使い込め。効果はそちらのほうが高い。彼の言う「ツールそのもの」とはハーネス(外壳)のことだ。大モデルを包む外側のシステムで、どのツールを呼べるか、いつ止まって聞くか、仕事を何段に割るかを決める。
8工程を最初から最後まで回す
複数の小さな助手に別モデルを割り振って自動連携
別会社のモデルに自分のコードを審査させる
複雑な多段ワークフローを定義したい
チーム全体の自動化を組みたい
例に使ったのは「日付ピッカーをゼロから作る」こと。ウェブで開いて日付を選ぶ、あの小さなUIだ。簡単に見えるが、実際は答えが要る問いが山ほどある。年・月・日の切り替え方、期間選択の見た目、手入力の可否などだ。
かつての原型づくりはプロジェクト内の一段階そのものだった。1案でも贅沢だったから、多くの人は頭の中の想像のまま書き始める。いまは一言で山ほど出せる。
1案つくるにも工程に載せる必要があり、大半は省いて想像どおりに書き始める。途中で「欲しかったのはこれじゃない」と気づく。
日付ピッカーのモックを20案。全部1つのHTMLにまとめて、比較できるようにして。
20案のうち1つは年ビューから始まるものだった。それを見て初めて、本当に欲しいのは「年→月→日と段階的に拡大する」だと気づいた。見なければ思いつかない類の話だ。画面のない「APIを1本足す」仕事でも、彼はまずAIに5通りのやり方を樹形図に描かせてから選ぶ。
彼の提案は、「この一歩を許可するか」の承認を全部切り、AIが走らせたいコマンドは走らせることだ。一歩ごとに聞くくらいなら自分でやったほうが早い。しかも何度も押すうち、中身を見ずに押す癖がつき、関門が形骸化する。前提は、実行場所を変えることだ。
納得できるまで直したあとも、もう一関ある。平たい一言で「ラバーダックレビュー」を1回呼べば、ツールが現在のセッションと別系統のモデルを自動で選んで審査する。彼は GPT-5.6 Terra でコードを書き、審査に回したのは Claude Sonnet だ。別データで育ったモデルは盲点が違う。自分で自分を見ると、だいたい同じ穴を見落とす。
名前はソフトウェア業界の古いやり方に由来する。考えをラバーダック(ゴムのアヒル)に語り聞かせると、口に出しただけで穴が見えることが多い。違うのは、このアヒルが口を返すことだ。いちばん呼ぶべきタイミングは、計画が終わり、コードをまだ書いていない瞬間。方向転換がいちばん安いときだ。
この一連の流れ、そのままコピーできる7本のプロンプト原文、20案の原型や境界条件7つといった数字は、すべて Burke Holland が GitHub ブログに書いた自述だ。権限の段階とラバーダックの3段階指摘は GitHub 公式ドキュメントに基づく。彼は GitHub でデベロッパーアドボカシーをしており、語るのは自社製品だ。手法そのものは、どのツールを使うかには依存しない。
- × 新しいMCP、今日も3つ
- × 新しいスキル、入れないと遅れを取る
- × 新しいワークフロー、1日設定しても動かない
逆の答えを出した:
手元のツールを使い倒せ。
ゼロから日付ピッカーを作る
同じ画面に並べて比較。
年→月→日と絞れる。これが欲しかった。
再帰削除が1時間21分走り続け、
ホームのファイルがほぼ消えた。
使い捨て環境なら、
消し飛んでも自分のファイルは無事。
レビューはClaude Sonnet。
盲点も違う
読み取り専用。
ファイルは一切触らない
「たいていの場合」
1つはデザインのトーンを決める。
冒頭の免責で認めている。
動く前に境界を詰め切る。
出す前に、別の目で粗を探す。