Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 22 additions & 1 deletion docs/slides/02-modes.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.**
Expand Down Expand Up @@ -203,4 +225,3 @@ Open **Module 2** in `docs/workshop/02-modes.md`
- **Exercise 8–9** — Delegate & comparing modes

⏱️ You have **~16 minutes**

30 changes: 25 additions & 5 deletions docs/workshop/02-modes.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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.
Expand Down Expand Up @@ -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

Expand Down