From 7eff6c0e5a6ae4b3552765bb9eac740358b024f8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 16 May 2026 17:33:40 +0000 Subject: [PATCH 1/2] Initial plan From 3b8a603de3f22a073fd6b1e0284b2e1da243dddd Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 16 May 2026 17:37:18 +0000 Subject: [PATCH 2/2] Add Rubber Duck guidance to module 2 workshop and slides --- docs/slides/02-modes.md | 23 ++++++++++++++++++++++- docs/workshop/02-modes.md | 30 +++++++++++++++++++++++++----- 2 files changed, 47 insertions(+), 6 deletions(-) diff --git a/docs/slides/02-modes.md b/docs/slides/02-modes.md index ff0adac..75e8772 100644 --- a/docs/slides/02-modes.md +++ b/docs/slides/02-modes.md @@ -94,6 +94,28 @@ Perfect for: learning, debugging, iterating --- +## Rubber Duck in Interactive Mode + +Use Copilot as a thinking partner to clarify problems step by step + +``` +copilot +``` + +``` +> Rubber duck with me: I expected this script to parse JSON, +> but it fails on some inputs. Ask one diagnostic question at a time. +``` + +``` +# Optional side question without adding to session context +/ask What JSON edge cases should I test first? +``` + +Outcome: clearer reasoning, better hypotheses, faster debugging + +--- + ## Programmatic Mode **One prompt, one answer, done.** @@ -203,4 +225,3 @@ Open **Module 2** in `docs/workshop/02-modes.md` - **Exercise 8–9** — Delegate & comparing modes ⏱️ You have **~16 minutes** - diff --git a/docs/workshop/02-modes.md b/docs/workshop/02-modes.md index b295bec..add01e4 100644 --- a/docs/workshop/02-modes.md +++ b/docs/workshop/02-modes.md @@ -12,6 +12,7 @@ - Use `/plan`, `/review`, and `/diff` for structured workflows - Use the delegate (`/delegate`) command to hand off to cloud agents - Control tool approval during interactions +- Use interactive mode for rubber duck debugging and clarification - Choose the right mode for different scenarios ## Concepts @@ -30,6 +31,20 @@ Interactive mode starts a conversational session where you chat with Copilot in copilot ``` +#### Rubber Duck Debugging in Interactive Mode + +Copilot CLI can act as your rubber duck during interactive chat. Describe your problem, assumptions, and expected behavior, then let Copilot ask clarifying questions that help you isolate the root cause. + +``` +Rubber duck with me: I expected this script to parse a JSON file, but it fails on some inputs. Ask me one diagnostic question at a time. +``` + +If you want to ask a quick side question while keeping your main thread focused, use: + +``` +/ask What edge cases should I check for JSON parsing errors? +``` + ### Interactive-with-Prompt Mode The `-i` flag starts an interactive session **and** automatically executes a prompt — combining the best of both modes. The session stays open for follow-up after the initial prompt completes. @@ -395,14 +410,19 @@ You can bootstrap Copilot configuration with `/init`, rename sessions, and confi ``` 6. Continue the conversation: - ``` - Add error handling if no argument is provided - ``` + ``` + Add error handling if no argument is provided + ``` + +7. Use a rubber duck prompt to clarify your thinking: + ``` + Rubber duck with me on this script and ask me one diagnostic question at a time. + ``` -7. Exit with `/exit` or `Ctrl+C`. +8. Exit with `/exit` or `Ctrl+C`. **Expected Outcome:** -A Python script evolves through multiple iterations with your guidance. +A Python script evolves through multiple iterations with your guidance, and you can use interactive conversation to reason through problems step by step. ### Exercise 5: Tool Approval Workflow