<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Rubber Duck Thursdays on Chris Reddington</title><link>https://chrisreddington.com/series/rubber-duck-thursdays/</link><description>Recent content in Rubber Duck Thursdays on Chris Reddington</description><generator>Hugo</generator><language>en-GB</language><lastBuildDate>Thu, 29 Jan 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://chrisreddington.com/series/rubber-duck-thursdays/index.xml" rel="self" type="application/rss+xml"/><item><title>Rubber Duck Thursdays - Let's build with GitHub Copilot SDK</title><link>https://chrisreddington.com/video/2026-01-29-rubber-duck-thursdays/</link><pubDate>Thu, 29 Jan 2026 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2026-01-29-rubber-duck-thursdays/</guid><description>&lt;p&gt;Join us for Rubber Duck Thursdays! A lighthearted and informal stream where we live code on some projects. This week we explore how to bring the power of GitHub Copilot into your apps with the GitHub Copilot SDK, building hands-on examples and discussing patterns for integrating AI-powered coding assistance directly into developer tools and workflows.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - It's time to build!</title><link>https://chrisreddington.com/video/2026-01-08-rubber-duck-thursdays/</link><pubDate>Thu, 08 Jan 2026 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2026-01-08-rubber-duck-thursdays/</guid><description>&lt;p&gt;Chris showcases Timestamp (gh.io/timestamp), an open-source countdown timer app that evolved from the 2025 holiday streams into a fully extensible project with multiple themes, comprehensive testing, and GitHub automation.&lt;/p&gt;
&lt;h2 id="timestamp--open-source-countdown-timer"&gt;Timestamp — Open Source Countdown Timer&lt;/h2&gt;
&lt;p&gt;The app is built with vanilla TypeScript and Vite, featuring:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Multiple themes&lt;/strong&gt; — contribution graph (GitHub-style squares that fill as midnight approaches), fireworks celebration (powered by fireworks.js), and a scaffoldable ring theme&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;World map wall clock&lt;/strong&gt; — an interactive SVG map using Natural Earth public domain data with day/night visualization&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Time zone support&lt;/strong&gt; — countdown to midnight in any city worldwide with a drop-down and map selector&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Light/dark mode&lt;/strong&gt; — system-aware theme switching with per-theme styling&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Accessibility&lt;/strong&gt; — built-in reduced motion support, keyboard navigation, and WCAG considerations&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="copilot-custom-instructions-vs-agents-vs-prompt-files"&gt;Copilot Custom Instructions vs Agents vs Prompt Files&lt;/h2&gt;
&lt;p&gt;Chris shares key lessons learned from structuring his Copilot configuration:&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Let's build our way into 2026!</title><link>https://chrisreddington.com/video/2025-12-18-rubber-duck-thursdays/</link><pubDate>Thu, 18 Dec 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-12-18-rubber-duck-thursdays/</guid><description>&lt;p&gt;In the last European-timezone-friendly stream of 2025, Chris builds a New Year countdown app from scratch — and reveals a GitHub contribution graph-themed countdown he built earlier.&lt;/p&gt;
&lt;h2 id="building-a-countdown-app-from-scratch"&gt;Building a Countdown App from Scratch&lt;/h2&gt;
&lt;p&gt;Chris scaffolds a new project using Vite with vanilla TypeScript and Tailwind CSS v4, using GitHub Copilot to generate the initial countdown logic, HTML structure, and styling. The app counts down to midnight on New Year&amp;rsquo;s with large digits and subtle animations.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Let's build down tech debt</title><link>https://chrisreddington.com/video/2025-12-11-rubber-duck-thursdays/</link><pubDate>Thu, 11 Dec 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-12-11-rubber-duck-thursdays/</guid><description>&lt;p&gt;Chris reviews the latest GitHub changelog and explores the major VS Code December release, then continues building custom agents for a game MCP server project.&lt;/p&gt;
&lt;h2 id="github-changelog-highlights"&gt;GitHub Changelog Highlights&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;CodeQL 2.23.6&lt;/strong&gt; adds Swift 6.2.1 and new C# security queries&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GPT-5.1 Codex Max&lt;/strong&gt; now in public preview for GitHub Copilot across VS Code, GitHub.com, and GitHub Mobile&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Workflow dispatch inputs&lt;/strong&gt; limit increased from 10 to 25&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot code generation metrics&lt;/strong&gt; now available in the enterprise insights dashboard&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enterprise teams&lt;/strong&gt; limits increased over 10x — up to 2,500 teams and 5,000 users per team&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dependabot-based dependency graphs for Go&lt;/strong&gt; now provide more complete transitive dependency trees&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;npm classic tokens revoked&lt;/strong&gt; — replaced with session-based and CLI token management&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Repository custom properties&lt;/strong&gt; now support GraphQL management and a URL type with built-in validation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub MCP server&lt;/strong&gt; adds tool-specific configuration, lockdown mode for untrusted contributors, and default content sanitization against prompt injection&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Enterprise Server 3.19&lt;/strong&gt; GA with rule set history import/export, SSH/TLS cipher configuration, and OpenTelemetry metrics&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Auto model selection&lt;/strong&gt; GA in VS Code for all Copilot plans&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="vs-code-december-release--agent-features"&gt;VS Code December Release — Agent Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Agent HQ&lt;/strong&gt; for managing multiple coding agents — background, cloud, or local — working simultaneously&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Background agents with git worktrees&lt;/strong&gt; for isolated workspaces, enabling multiple agents to work in parallel without file conflicts&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Custom agents for organizations&lt;/strong&gt; — share agents at the org level via &lt;code&gt;.github-private&lt;/code&gt; repositories&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sub-agents via run sub agent&lt;/strong&gt; — delegate tasks to specialized sub-agents with their own context windows to avoid context bloat&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Claude skills support&lt;/strong&gt; — reuse existing Claude Code skills within VS Code agents&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Session management improvements&lt;/strong&gt; — integrated sessions view, compact and side-by-side layouts, and persistent local agent sessions&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="live-coding--custom-agents-and-background-agents"&gt;Live Coding — Custom Agents and Background Agents&lt;/h2&gt;
&lt;p&gt;Chris demonstrates the new VS Code agent features by continuing work on a tic-tac-toe game with an MCP server backend. He creates a testing specialist agent using a TDD workflow, experiments with background agents running in git worktrees, and explores sub-agent delegation for specialized tasks like code quality review.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Let's build with custom agents (again!)</title><link>https://chrisreddington.com/video/2025-12-04-rubber-duck-thursdays/</link><pubDate>Thu, 04 Dec 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-12-04-rubber-duck-thursdays/</guid><description>&lt;p&gt;Chris continues building custom agents for the SDLC, exploring the awesome-copilot repository for inspiration and live-building a GitHub Actions workflow agent with plan mode.&lt;/p&gt;
&lt;h2 id="topics-covered"&gt;Topics Covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub Changelog Roundup&lt;/strong&gt; — Blocking repo admins from installing GitHub Apps now GA, Copilot Spaces with public spaces and code view support, secret scanning updates for November 2025, GitHub Enterprise Server 3.19 RC, assigning issues to Copilot via GraphQL and REST APIs, and Claude Opus 4.5 availability across more IDEs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Agent Inspiration from awesome-copilot&lt;/strong&gt; — Reviewing partner-built agents and the awesome-copilot repository for ideas including test writers, security reviewers, tech debt analyzers, documentation generators, PR review assistants, and onboarding guides.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Agent Consolidation&lt;/strong&gt; — Discussing whether to keep agents separate or consolidate them based on shared tool access, output formats, and domain overlap.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Building a GitHub Actions Agent&lt;/strong&gt; — Using plan mode to design a custom agent for authoring and updating GitHub Actions workflows, including monorepo build order awareness and minimal permissions guidance.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Actions Instructions File&lt;/strong&gt; — Creating a companion instructions file with repository-specific CI/CD conventions, build order, environment variables, and recommended practices for workflow definitions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Plan Mode Workflow&lt;/strong&gt; — Demonstrating the iterative plan-then-implement workflow where Copilot asks clarifying questions before generating code, and switching between plan and agent modes.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rubber Duck Thursdays - Let's build with custom agents</title><link>https://chrisreddington.com/video/2025-11-27-rubber-duck-thursdays/</link><pubDate>Thu, 27 Nov 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-11-27-rubber-duck-thursdays/</guid><description>&lt;p&gt;Chris explores Copilot custom agents and custom instructions, restructuring project context files and creating meta instruction files for a more effective AI-assisted development workflow.&lt;/p&gt;
&lt;h2 id="topics-covered"&gt;Topics Covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub Changelog Roundup&lt;/strong&gt; — Enterprise bring-your-own-key for Copilot, linter integration with Copilot code review (ESLint, PMD), GitHub Actions cache size exceeding 10 GB, Claude Opus 4.5 in public preview, and secret scanning updates.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Custom Instructions Deep Dive&lt;/strong&gt; — Restructuring &lt;code&gt;copilot-instructions.md&lt;/code&gt; to include monorepo tech stack details, build order, service boundaries, security guidelines, and testing conventions using recommended practices from the docs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Meta Instruction Files&lt;/strong&gt; — Creating instruction files that teach Copilot how to write better custom instructions and custom agents, pulling in recommended practices from the GitHub and VS Code documentation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Plan Mode for Agent Design&lt;/strong&gt; — Using Copilot&amp;rsquo;s plan mode to iterate on ideas before implementation, demonstrating how follow-up questions help refine requirements like rubber duck debugging.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Context Engineering&lt;/strong&gt; — Discussion on supplying the right context to Copilot, balancing context window size, and the importance of being requirements-driven for high-quality code generation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Community Q&amp;amp;A&lt;/strong&gt; — Topics including sustainable engineering pace, avoiding burnout, handling merge conflicts, and the fundamentals of software quality.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rubber Duck Thursdays - Let's build</title><link>https://chrisreddington.com/video/2025-11-20-rubber-duck-thursdays/</link><pubDate>Thu, 20 Nov 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-11-20-rubber-duck-thursdays/</guid><description>&lt;p&gt;Chris catches up on several weeks of GitHub releases and then returns to the turn-based game MCP server project to fix a dependency upgrade issue.&lt;/p&gt;
&lt;h2 id="topics-covered"&gt;Topics Covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub Changelog Roundup&lt;/strong&gt; — Managing Copilot coding agent tasks in VS Code, new OIDC token claims for GitHub Actions, GPT-5.1 and Codex models, configuring the coding agent as a bypass actor for rulesets, MCP registry and allowlist controls in VS Code Stable, plan mode and isolated sub-agents in public preview, Gemini 3 Pro, and CodeQL updates.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MCP Server for Games&lt;/strong&gt; — Revisiting the tic-tac-toe MCP server project and demonstrating how tool calls allow natural language game interaction with a backend API.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fixing Dependency Upgrades with Copilot&lt;/strong&gt; — Using agent mode across multiple models (Codex, Gemini 3 Pro) to diagnose and resolve a type check failure caused by a Dependabot SDK version bump.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rubber Duck Thursdays - Time to build!</title><link>https://chrisreddington.com/video/2025-09-04-rubber-duck-thursdays/</link><pubDate>Thu, 04 Sep 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-09-04-rubber-duck-thursdays/</guid><description>&lt;p&gt;Join us for Rubber Duck Thursdays! A lighthearted and informal stream where we live code on some projects.&lt;/p&gt;
&lt;p&gt;In this stream, we explore adding a 3D visualization to the turn-based game MCP server using Three.js, built with help from Copilot coding agent. We demo switching between 2D and 3D views of tic-tac-toe games while playing against the MCP server, and discuss the iterative process of prompting Copilot — including the importance of specifying requirements like piece orientation and camera controls.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Let's keep building!</title><link>https://chrisreddington.com/video/2025-08-28-rubber-duck-thursdays/</link><pubDate>Thu, 28 Aug 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-08-28-rubber-duck-thursdays/</guid><description>&lt;p&gt;Join us for Rubber Duck Thursdays! A lighthearted and informal stream where we live code on some projects.&lt;/p&gt;
&lt;p&gt;In this stream, we recap the turn-based game MCP server and demo the elicitation feature for gathering user preferences, then shift gears into a deep dive on GitHub Actions. Starting from an empty repository, we build workflows from scratch — covering YAML structure, event triggers (issues, issue_comment, push, pull_request, workflow_dispatch), jobs running in parallel, job dependencies using the &lt;code&gt;needs&lt;/code&gt; property, conditional steps with &lt;code&gt;if&lt;/code&gt;, and matrix strategies for cross-platform builds across multiple OS and Node.js versions.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Building a turn-based-game MCP server</title><link>https://chrisreddington.com/video/2025-08-07-rubber-duck-thursdays/</link><pubDate>Thu, 07 Aug 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-08-07-rubber-duck-thursdays/</guid><description>&lt;p&gt;Join us for Rubber Duck Thursdays! A lighthearted and informal stream where we live code on some projects.&lt;/p&gt;
&lt;p&gt;In this stream, we continue building our turn-based game MCP server, focusing on implementing elicitation — a Model Context Protocol feature for gathering additional user input when creating games. We consolidate duplicate tool calls (create game, play game) into generic handlers, reducing code duplication and improving maintainability. The session also covers using Copilot coding agent to automate refactoring tasks like extracting shared constants and removing duplicated difficulty badge logic.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Build for the love of code</title><link>https://chrisreddington.com/video/2025-07-24-rubber-duck-thursdays/</link><pubDate>Thu, 24 Jul 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-07-24-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this episode, we recap the latest GitHub changelog including GitHub Spark entering public preview and coding agent support for instructions.md files. We introduce the &lt;a href="https://gh.io/love-of-code"&gt;Build for the love of code&lt;/a&gt; hackathon, prototype a rubber duck debugging app with GitHub Spark, and build an MCP server from scratch using TypeScript while exploring tools, prompts, and resources.&lt;/p&gt;
&lt;h2 id="topics-covered"&gt;Topics covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub changelog recap&lt;/strong&gt; — M2 Pro hosted runners, GitHub Issues quality-of-life updates, Azure endpoint deprecation for GitHub Models, PR files changed improvements, Copilot code review policy changes, GitHub Spark public preview for Copilot Pro Plus, coding agent support for instructions.md custom instructions, and base branch selection for coding agent tasks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Build for the love of code hackathon&lt;/strong&gt; — Introduced the &lt;a href="https://gh.io/love-of-code"&gt;gh.io/love-of-code&lt;/a&gt; hackathon running July 16 to September 22 with six categories: hardware projects, AI agents, terminal tools, games, web apps, and wildcard entries. Brainstormed duck-themed project ideas with Copilot.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Spark prototyping&lt;/strong&gt; — Used GitHub Spark (now in public preview) to rapidly prototype a rubber duck debugging web app with animated duck companions and different debugging personalities.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Building an MCP server from scratch&lt;/strong&gt; — Scaffolded a TypeScript MCP server project from an empty repository, covering server initialization with the MCP SDK, registering tools with Zod schema validation, defining prompts and resources, and setting up repository foundations including dev containers, Dependabot configuration, and GitHub Actions CI workflows.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rubber Duck Thursdays - Copilot agent mode, coding agent and MCP servers</title><link>https://chrisreddington.com/video/2025-07-10-rubber-duck-thursdays/</link><pubDate>Thu, 10 Jul 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-07-10-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this episode, we review the latest GitHub changelog including remote MCP server support for coding agent and Copilot code review on mobile. We use the Playwright MCP server with Copilot agent mode to debug and fix UI issues in the Octo Arcade project, discuss the differences between ask, edit, and agent modes in VS Code, and explore MCP server concepts like tools, prompts, and resources.&lt;/p&gt;
&lt;h2 id="topics-covered"&gt;Topics covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub changelog recap&lt;/strong&gt; — Agents page for Copilot coding agent, CodeQL Rust support, improved repository creation experience, dependency auto-submission for Python, Copilot code review on GitHub Mobile, remote MCP server support for coding agent, and delegating tasks via the GitHub MCP server.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Playwright MCP server for UI debugging&lt;/strong&gt; — Used Copilot agent mode with the Playwright MCP server to debug and fix game sizing issues in the Octo Arcade project, including viewport overflow, header overlap, and mobile responsiveness for pong, brick breaker, and matching games.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ask vs Edit vs Agent mode&lt;/strong&gt; — Walked through the practical differences between VS Code Copilot modes: ask for conversational code suggestions that must be manually applied, edit for targeted file changes, and agent mode for autonomous multi-step workflows that can run builds, tests, and use MCP tools.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MCP server concepts&lt;/strong&gt; — Explored MCP server fundamentals including the three main primitives: tools (executable functions), prompts (predefined conversation templates), and resources (contextual data for the AI).&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rubber Duck Thursdays - Let's build</title><link>https://chrisreddington.com/video/2025-07-03-rubber-duck-thursdays/</link><pubDate>Thu, 03 Jul 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-07-03-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this stream, Chris returns from vacation to catch up on weeks of GitHub updates and demonstrates adding internationalization to apps using Copilot coding agent, custom VS Code chat modes, and agent mode in Xcode.&lt;/p&gt;
&lt;h2 id="topics-covered"&gt;Topics Covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub Changelog Review&lt;/strong&gt; — Updates including model evaluations CLI for GitHub Models, remote GitHub MCP server in public preview, Copilot coding agent now available for business users, GitHub Models pay-as-you-go billing, Claude Sonnet 4 and Opus 4 GA, CodeQL updates for Go and Swift, Actions Runner Controller release, and Copilot code review with custom instructions support&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Custom Chat Modes in VS Code&lt;/strong&gt; — Creating a custom planning mode in VS Code Insiders to generate implementation plans and create GitHub issues, integrating the GitHub MCP server as a tool within the chat mode&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Remote GitHub MCP Server&lt;/strong&gt; — Setting up and authenticating with the new remote GitHub MCP server, eliminating the need for local Docker containers and personal access tokens via OAuth&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot Coding Agent for Internationalization&lt;/strong&gt; — Assigning a GitHub issue to Copilot to add English, French, and Spanish language support to the Copilot Airways Next.js web app, reviewing the AI-generated pull request&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Xcode Agent Mode&lt;/strong&gt; — Demonstrating agent mode in Xcode to add internationalization to a Swift iOS version of the Copilot Airways app with a language selector&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Issue Creation with Copilot&lt;/strong&gt; — Using Copilot on github.com to draft well-structured GitHub issues from natural language descriptions&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rubber Duck Thursdays - Let's build with agents</title><link>https://chrisreddington.com/video/2025-06-19-rubber-duck-thursdays/</link><pubDate>Thu, 19 Jun 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-06-19-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this episode, we recap the latest GitHub changelog updates including Copilot coding agent availability for pro users and the new Playwright MCP browser capability. We update Copilot custom instructions and setup steps for a GitHub Action project, use the Playwright MCP server to build interactive UI features on a trend radar app, and leverage Copilot coding agent to identify and fix technical debt.&lt;/p&gt;
&lt;h2 id="topics-covered"&gt;Topics covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub changelog recap&lt;/strong&gt; — Copilot coding agent for Copilot Pro users, GitHub Actions fine-grain permissions, upgraded Llama models, improved PR file experience, Dependabot minimum package age configuration, and Copilot coding agent Playwright MCP browser support.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot custom instructions and setup steps&lt;/strong&gt; — Updated custom instructions for a validate-file-exists GitHub Action project and created a Copilot setup steps YAML to configure the coding agent environment with Node.js and dependencies.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Playwright MCP server for UI development&lt;/strong&gt; — Used the Playwright MCP server with Copilot coding agent to build drag-and-drop functionality and point editing on a trend radar web app, demonstrating how the agent can interact with a running application.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Technical debt with Copilot coding agent&lt;/strong&gt; — Prompted Copilot to identify technical debt in the project, then created GitHub issues for package metadata fixes, documentation inconsistencies, and input validation improvements. Copilot coding agent autonomously submitted a PR addressing all three items with new tests.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rubber Duck Thursdays - Copilot coding agent and Copilot agent mode</title><link>https://chrisreddington.com/video/2025-06-05-rubber-duck-thursdays/</link><pubDate>Thu, 05 Jun 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-06-05-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this stream, Chris returns after Microsoft Build to dive deep into Copilot coding agent, demonstrating how to assign GitHub issues to Copilot and review the resulting pull requests.&lt;/p&gt;
&lt;h2 id="topics-covered"&gt;Topics Covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Microsoft Build Recap&lt;/strong&gt; — Highlights from the event including Copilot coding agent announcements, agent mode availability in Eclipse, Xcode, and IntelliJ editors, and GitHub Models updates&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Changelog Review&lt;/strong&gt; — Three weeks of updates including Claude Sonnet 4 and Opus 4 in GitHub Copilot, Copilot Spaces, GPT-4o Copilot model update, coding agent on GitHub Mobile, secret scanning pattern expansions, and GitHub Enterprise Server 3.17&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot Coding Agent Deep Dive&lt;/strong&gt; — Live demo with Copilot Airways app showing how to assign issues to Copilot, review AI-generated pull requests for refactoring and CI/CD deployment, and iterate through code review comments&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MCP Integration with Notion&lt;/strong&gt; — Demonstrating Model Context Protocol by connecting Copilot coding agent to a Notion MCP server to pull requirements from external tools and implement features automatically&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Issue Scoping Best Practices&lt;/strong&gt; — Structuring GitHub issues with overview, problem statement, acceptance criteria, implementation details, and file pointers for optimal Copilot coding agent results&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot Code Review&lt;/strong&gt; — Using automated code review on pull requests with actionable suggestions for code quality&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rubber Duck Thursdays - Building from requirements with Agent Mode</title><link>https://chrisreddington.com/video/2025-05-15-rubber-duck-thursdays/</link><pubDate>Thu, 15 May 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-05-15-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this stream, Chris walks through building a GitHub CLI extension in Go from scratch, taking a spec-driven and test-driven development approach powered by Copilot Agent Mode.&lt;/p&gt;
&lt;h2 id="topics-covered"&gt;Topics Covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub Changelog Review&lt;/strong&gt; — Model updates in GitHub Models (Mistral, Cohere, Llama), GPT-4.1 as the new default Copilot model, updated rate limits for unauthenticated requests, and the VS Code April release with MCP support and prompt files&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Microsoft Build Preview&lt;/strong&gt; — A look ahead at sessions and events for the following week&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Building gh-demo from Scratch&lt;/strong&gt; — Bootstrapping a new Go-based GitHub CLI extension using VS Code&amp;rsquo;s new workspace creation with Copilot, the Cobra library, and a spec-driven approach starting from a product requirements document&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Test-Driven Development with Copilot&lt;/strong&gt; — Writing tests first for a hydrate subcommand that reads JSON files to create GitHub issues, discussions, and pull requests, with content type filtering and label collection&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Actions CI&lt;/strong&gt; — Creating a build, test, and lint workflow for the new CLI extension&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Custom Instructions&lt;/strong&gt; — Setting up a copilot-instructions.md file to guide Copilot&amp;rsquo;s behavior around path handling and project conventions&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rubber Duck Thursdays - Agent mode and custom instructions</title><link>https://chrisreddington.com/video/2025-05-08-rubber-duck-thursdays/</link><pubDate>Thu, 08 May 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-05-08-rubber-duck-thursdays/</guid><description>&lt;p&gt;Chris continues exploring Copilot Agent Mode and custom instructions by building a memory sequence game for the GitHub CLI extension project in Go. The changelog segment covers GitHub CLI accessibility improvements, Copilot Code Review expanding to all languages, and the introduction of Copilot premium requests.&lt;/p&gt;
&lt;h2 id="changelog-highlights"&gt;Changelog Highlights&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub CLI accessibility improvements&lt;/strong&gt; — speech synthesis, screen reader support, enhanced prompting and progress indicators&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot Code Review&lt;/strong&gt; now supports all languages with AI-powered suggestions and contextual feedback&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot Autofix&lt;/strong&gt; updates for automated pull request suggestions&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot premium requests&lt;/strong&gt; — announcement of upcoming premium model usage limits and visibility controls in VS Code and Visual Studio&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub CLI extension repo&lt;/strong&gt; transferred to the github-samples organization&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="live-coding--memory-game-with-agent-mode"&gt;Live Coding — Memory Game with Agent Mode&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Recapped custom instructions from the previous week and their impact on Copilot output quality&lt;/li&gt;
&lt;li&gt;Built a &lt;strong&gt;memory sequence game&lt;/strong&gt; (colors: red, yellow, green, blue) as a new subcommand in the Go-based GitHub CLI extension using Copilot Agent Mode&lt;/li&gt;
&lt;li&gt;Used the Cobra command library and Bubble Tea for terminal UI interactions&lt;/li&gt;
&lt;li&gt;Wrote detailed specs in chat — game mechanics, lives system, sequence display timing — and let Agent Mode scaffold the implementation and tests&lt;/li&gt;
&lt;li&gt;Played live demos of coin toss, higher/lower, and word guess games from the CLI&lt;/li&gt;
&lt;li&gt;Discussed potential future projects including VS Code extension development&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rubber Duck Thursdays - The one with custom instructions</title><link>https://chrisreddington.com/video/2025-05-01-rubber-duck-thursdays/</link><pubDate>Thu, 01 May 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-05-01-rubber-duck-thursdays/</guid><description>&lt;p&gt;This episode dives deep into Copilot custom instructions — what they are, how to write them, and why they matter for guiding AI-assisted development. Chris reviews the GitHub Changelog and then live codes a higher/lower game for a Go-based GitHub CLI extension using Agent Mode with detailed custom instructions.&lt;/p&gt;
&lt;h2 id="changelog-highlights"&gt;Changelog Highlights&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Copilot Code Review&lt;/strong&gt; now supports C, C++, Kotlin, Swift, and more&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CodeQL&lt;/strong&gt; improves JavaScript and Ruby analysis in version 2.21.1&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Models playground&lt;/strong&gt; adds a prompt improvement feature to refine prompts with AI&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot Edits&lt;/strong&gt; for JetBrains IDEs is now generally available&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Credential revocation API&lt;/strong&gt; for exposed tokens is now GA — supports bulk revocation via REST API&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Task lists retirement&lt;/strong&gt; on April 30th — code scanning alert references deprecated&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mistral Small 3.1&lt;/strong&gt; replaces Mistral Small in GitHub Models&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Actions Runner Controller&lt;/strong&gt; now supports running Dependabot on self-hosted Kubernetes runners&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="live-coding--custom-instructions-deep-dive"&gt;Live Coding — Custom Instructions Deep Dive&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Explored how &lt;strong&gt;Copilot custom instructions&lt;/strong&gt; provide repository context, coding standards, and structural guidance to every Copilot request&lt;/li&gt;
&lt;li&gt;Demonstrated writing detailed instructions for a Go-based GitHub CLI extension — specifying test commands, linting rules, folder structure, and game design patterns using the Cobra library&lt;/li&gt;
&lt;li&gt;Live coded a &lt;strong&gt;higher/lower guessing game&lt;/strong&gt; using Copilot Agent Mode with Claude 3.7 Sonnet, showcasing how rich instructions lead to higher quality scaffolded code&lt;/li&gt;
&lt;li&gt;Showed the Copilot Airways app built with Agent Mode from a screenshot, demonstrating vision capabilities and custom instruction-guided development&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rubber Duck Thursdays - Back to building GitHub CLI Extensions</title><link>https://chrisreddington.com/video/2025-04-24-rubber-duck-thursdays/</link><pubDate>Thu, 24 Apr 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-04-24-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this episode, Chris reviews the GitHub Changelog covering organization-level Copilot custom instructions, CodeQL for Actions workflow security analysis, Copilot Code Review language expansion, secret scanning alert dismissals, and GitHub Mobile updates. The coding segment tackles theme switching for the Copilot Airways web app and a Tailwind CSS upgrade using GitHub Codespaces and Copilot Agent Mode.&lt;/p&gt;
&lt;h2 id="changelog-highlights"&gt;Changelog Highlights&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Organization custom instructions&lt;/strong&gt; for Copilot enterprise customers&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MAI-DSR1&lt;/strong&gt; — Microsoft AI-refined version of DeepSeek R1 available in GitHub Models&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot Code Review&lt;/strong&gt; now supports C, C++, Kotlin, and Swift — covering over 90% of file types&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CodeQL for GitHub Actions&lt;/strong&gt; workflow security analysis is now generally available&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Secret scanning alert dismissal requests&lt;/strong&gt; with REST API support&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot for Xcode&lt;/strong&gt; adds @workspace context, Claude 3.7 Sonnet, and GPT-4.5&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Mobile&lt;/strong&gt; updates including multi-model Copilot Chat and sub-issues&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dependabot&lt;/strong&gt; scheduling with cron expressions&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="live-coding"&gt;Live Coding&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Fixed dark mode and light mode theme switching on the &lt;strong&gt;Copilot Airways&lt;/strong&gt; web app&lt;/li&gt;
&lt;li&gt;Attempted a &lt;strong&gt;Tailwind CSS upgrade&lt;/strong&gt; in a fresh GitHub Codespace&lt;/li&gt;
&lt;li&gt;Discussion of Copilot Agent Mode workflows and custom instructions for guiding AI-assisted development&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rubber Duck Thursdays - Building with Agent Mode and MCP</title><link>https://chrisreddington.com/video/2025-04-17-rubber-duck-thursdays/</link><pubDate>Thu, 17 Apr 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-04-17-rubber-duck-thursdays/</guid><description>&lt;p&gt;An especially announcement-heavy week focused on new AI model availability across GitHub Copilot and GitHub Models, plus hands-on experiments with those models in agent mode and GitHub Actions workflows.&lt;/p&gt;
&lt;p&gt;The extensive changelog review covers GPT-4.1 rolling out to all Copilot plans, Gemini 2.5 Pro entering public preview, O3 and O4 mini availability, Meta Llama 4 Scout and Maverick models in GitHub Models, macOS 15 and Windows 2025 GA for Actions runners, Windows ARM64 hosted runners in preview, expanded vision support beyond GPT-4o to Claude and Gemini models, CodeQL 2.21.0 with TypeScript 5.8 support, Copilot Chat for Eclipse GA, secret scanning pattern expansions, and the new Codespaces agent mode button on pull requests.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Building with Agent Mode and MCP</title><link>https://chrisreddington.com/video/2025-04-10-rubber-duck-thursdays/</link><pubDate>Thu, 10 Apr 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-04-10-rubber-duck-thursdays/</guid><description>&lt;p&gt;A big announcements week — this episode unpacks Copilot Agent Mode going stable in VS Code and the launch of the official GitHub MCP server, then puts both to work building a real app from scratch.&lt;/p&gt;
&lt;p&gt;The GitHub Changelog segment covers the VS Code Copilot March release (agent mode GA, MCP support, next edit suggestions), the GitHub MCP server launch, Copilot Pro Plus tier, Copilot Code Review GA, security campaigns GA with automated issue creation, GitHub Issues and Projects improvements (sub-issues, issue types, 50K item limit), Helm support for Dependabot version updates, and more.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Sshh, let's talk about secrets.</title><link>https://chrisreddington.com/video/2025-04-03-rubber-duck-thursdays/</link><pubDate>Thu, 03 Apr 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-04-03-rubber-duck-thursdays/</guid><description>&lt;p&gt;This episode focuses on why secrets should never exist in source code and how GitHub&amp;rsquo;s newly unbundled security products help prevent and detect secret leaks.&lt;/p&gt;
&lt;p&gt;After the weekly GitHub Changelog review — covering the new GPT-4o Copilot completions model, repository ownership limits, GitHub Desktop updates, Copilot mobile multi-model support, and GitHub Issues dashboard improvements — Chris dives into the headline topic: GitHub Advanced Security splitting into two standalone products, Secret Protection ($19/month) and Code Security ($30/month), now available for GitHub Team plans without requiring Enterprise.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Creating a brickbreaker walkthrough</title><link>https://chrisreddington.com/video/2025-03-27-rubber-duck-thursdays/</link><pubDate>Thu, 27 Mar 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-03-27-rubber-duck-thursdays/</guid><description>&lt;p&gt;Chris live-codes a GitHub-themed brick breaker game walkthrough using Copilot agent mode, demonstrating how prompt framing and context shape AI-generated code. The session covers bootstrapping project structure from an existing Game of Life template, Copilot custom instructions, and the latest GitHub changelog including enterprise rulesets, Copilot edits in JetBrains, and dependency label improvements.&lt;/p&gt;
&lt;p&gt;In this episode, Chris sets out to build an educational walkthrough — similar to an existing Conway&amp;rsquo;s Game of Life sample — but for a brick breaker game styled with GitHub&amp;rsquo;s contribution graph colors. Using Copilot agent mode, he bootstraps the project structure by referencing the Game of Life walkthrough as context, then iterates on lesson pages focused on teaching prompt engineering for agent mode. The live coding demonstrates key concepts: how vague prompts produce incomplete results, how adding specific requirements (responsive containers, keyboard and mouse controls, bouncing physics) improves output, and how Copilot custom instructions (including a fun &amp;ldquo;talk like a pirate&amp;rdquo; experiment) modify agent behavior. Chris also briefly showcases the OctoSnap arcade concept and discusses ideas for making brick breaker use GitHub contribution data for brick colors and scoring. The changelog segment covers Mistral Small 3.1 in GitHub Models, upcoming GitHub Actions cache service changes, Copilot edits in JetBrains IDEs, enterprise custom properties and rulesets going GA, and Maven dependency labeling in the dependency graph.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Exploring GitHub Models</title><link>https://chrisreddington.com/video/2025-03-20-rubber-duck-thursdays/</link><pubDate>Thu, 20 Mar 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-03-20-rubber-duck-thursdays/</guid><description>&lt;p&gt;Chris explores GitHub Models as an AI prototyping playground, demonstrates Copilot on the command line for learning Linux commands, and shows off a new leaderboard system for the OctoSnap card game. The session also covers two weeks of GitHub changelog updates including fine-grained personal access tokens going GA, enterprise-owned GitHub Apps, instant semantic code search indexing, and Copilot updates across VS Code, JetBrains, Xcode, and Eclipse.&lt;/p&gt;
&lt;p&gt;Returning from a week off, Chris opens by demonstrating the GitHub CLI Copilot extension — using &lt;code&gt;gh copilot suggest&lt;/code&gt; and &lt;code&gt;gh copilot explain&lt;/code&gt; to translate natural language into shell commands, explain complex terminal commands, and learn Linux tooling interactively. He then showcases the OctoSnap leaderboard backed by Cosmos DB on Azure, and uses Copilot agent mode live to fix a bug where usernames with the &lt;code&gt;@&lt;/code&gt; symbol caused issues, including adding backend validation and tests. The second half focuses on GitHub Models, where Chris walks through the model catalog and playground, comparing models like GPT-4o and DeepSeek V3 for a computer science quiz scenario. He demonstrates system prompts, prompt presets, the prompt editor, quick actions for switching between cheaper and faster models, and how to generate integration code for JavaScript and Python. The changelog roundup covers Copilot custom instructions going GA, code referencing in JetBrains, enterprise-owned GitHub Apps, fine-grained PATs reaching general availability, actions performance metrics, and Copilot for Xcode chat becoming generally available.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Building a scoring system</title><link>https://chrisreddington.com/video/2025-03-06-rubber-duck-thursdays/</link><pubDate>Thu, 06 Mar 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-03-06-rubber-duck-thursdays/</guid><description>&lt;p&gt;Chris walks through building &amp;ldquo;OctoSnap,&amp;rdquo; a GitHub-themed memory card matching game using Next.js and JavaScript. The session dives deep into designing a scoring model with GitHub Copilot — covering difficulty multipliers, time-based rewards, and penalty mechanics — and reviews the latest GitHub changelog including new AI models, GitHub Advanced Security pricing changes, secret scanning push protection APIs, and code scanning improvements for GitHub Actions workflows.&lt;/p&gt;
&lt;p&gt;In this episode, Chris steps away from the Go-based CLI game extension built in previous weeks and introduces OctoSnap, a browser-based card matching game featuring artwork from the GitHub Octodex. He demonstrates the game across easy, medium, and hard difficulty modes, showing how image transformations like rotation and color filters increase challenge. The core focus is on iterating with Copilot to build a nuanced scoring system that balances mode difficulty multipliers, time duration bonuses, perfect play ratios, and random click penalties. Chris shares how he broke the problem into granular prompts for Copilot and visualized the scoring curves to ensure fair overlap between difficulty tiers. The changelog segment covers new models in GitHub Copilot and GitHub Models, GitHub Advanced Security being split into Secret Protection and Code Security standalone products, delegated alert dismissal, expanded CodeQL support for GitHub Actions and Go 1.24, and GitHub Mobile updates including Copilot chat and sub-issues.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Lizard, Spock</title><link>https://chrisreddington.com/video/2025-02-27-rubber-duck-thursdays/</link><pubDate>Thu, 27 Feb 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-02-27-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this episode, the team extends the Rock Paper Scissors game to include Lizard and Spock using GitHub Copilot Vision — feeding an image of the game&amp;rsquo;s relationship diagram directly into Copilot, which interprets it and generates the extended game logic without explicitly naming the game. The stream also adds a hidden flag for the extended mode, demonstrating prompt engineering with Copilot&amp;rsquo;s multimodal capabilities.&lt;/p&gt;
&lt;p&gt;The GitHub changelog review covers Copilot autofix expansion for CodeQL alerts, Claude 3.7 Sonnet availability in Copilot, Docker Compose support in Dependabot, Copilot code review in public preview, and Copilot in Windows Terminal Canary. The latter portion demonstrates Dependabot version updates configured for Go modules and GitHub Actions ecosystems, with a live review of a dependency update pull request. A GitHub Codespaces session is used to verify the gh-skyline CLI extension still works after a dependency bump, and repository settings for auto-deleting branches and auto-merging pull requests are configured.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Rock, Paper, Scissors</title><link>https://chrisreddington.com/video/2025-02-20-rubber-duck-thursdays/</link><pubDate>Thu, 20 Feb 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-02-20-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this episode, I add a Rock Paper Scissors game to the gh-game GitHub CLI extension. The stream begins with a comprehensive GitHub changelog review covering the new GPT-4o Copilot code completion model, Copilot availability in Eclipse and Xcode, repository ruleset enhancements, secret scanning improvements, Copilot Workspace updates, and GitHub Issues and Projects feature updates.&lt;/p&gt;
&lt;p&gt;The coding session uses GitHub Copilot Agent Mode to build the Rock Paper Scissors game in Go, taking advantage of Next Edit Suggestions and the new GPT-4o code completion model. A significant portion of the stream focuses on improving test coverage using Copilot&amp;rsquo;s inline chat in the terminal, progressing from 42.6% to 100% statement coverage by generating targeted test cases for uncovered functions. The episode also covers merging the Tic Tac Toe pull request from the previous week and shipping a new release of the CLI extension.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Tic, Tac, Toe</title><link>https://chrisreddington.com/video/2025-02-13-rubber-duck-thursdays/</link><pubDate>Thu, 13 Feb 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-02-13-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this episode, the team continues building the gh-game GitHub CLI extension by adding a Tic Tac Toe game written in Go. The stream kicks off with a demo of GitHub Spark, a GitHub Next experiment for creating micro apps from natural language prompts, followed by a walkthrough of the latest GitHub changelog updates including Gemini 2.0 Flash availability, Copilot Vision, and Agent Mode in VS Code Insiders.&lt;/p&gt;
&lt;p&gt;The main coding session uses GitHub Copilot Agent Mode, Copilot Chat, and Copilot Edits to scaffold and iterate on the Tic Tac Toe implementation. Along the way, CodeQL code scanning is enabled on the repository, catching issues with missing workflow permissions and unpinned GitHub Actions versions. The episode also covers the CI/CD pipeline setup with build and test steps in GitHub Actions, and improving code readability through Copilot-assisted refactoring.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Actions, Codespaces and Coin Toss</title><link>https://chrisreddington.com/video/2025-02-06-rubber-duck-thursdays/</link><pubDate>Thu, 06 Feb 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-02-06-rubber-duck-thursdays/</guid><description>&lt;p&gt;Continuing the gh-game CLI extension project, this episode covers setting up a complete development workflow. Chris creates a GitHub Codespace with a dev container configuration, installs Go and the GitHub CLI as features, and demonstrates how Codespaces provide a consistent environment for contributors.&lt;/p&gt;
&lt;p&gt;The stream then covers creating a CI workflow using GitHub Actions with build and test steps, followed by writing Go tests for the coin toss game. A key segment focuses on refactoring the coin toss input from manual text entry to interactive selection menus using the &lt;code&gt;go-gh&lt;/code&gt; prompter package, demonstrating how context and accurate prompting is essential when working with GitHub Copilot. Chris uses multiple Copilot models including Gemini 2.0 Flash and O3 Mini throughout the session.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Creating gh-game CLI extension</title><link>https://chrisreddington.com/video/2025-01-30-rubber-duck-thursdays/</link><pubDate>Thu, 30 Jan 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-01-30-rubber-duck-thursdays/</guid><description>&lt;p&gt;This episode dives into GitHub Actions, starting with a walkthrough of the build, linter, and release workflows configured for the GitHub Skyline CLI extension. Chris explains workflow triggers, permissions, and demonstrates cutting a live release using semantic versioning and the &lt;code&gt;cli/gh-extension-precompile&lt;/code&gt; action to generate cross-platform binaries.&lt;/p&gt;
&lt;p&gt;The second half focuses on creating a brand new GitHub CLI extension from scratch. Using &lt;code&gt;gh extension create&lt;/code&gt;, Chris bootstraps the gh-game project and builds a coin toss game in Go with the Cobra package. GitHub Copilot assists with scaffolding the command structure, applying code changes, and generating commit messages. The stream also covers publishing the repository using &lt;code&gt;gh repo create&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - GitHub Skyline</title><link>https://chrisreddington.com/video/2025-01-23-rubber-duck-thursdays/</link><pubDate>Thu, 23 Jan 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-01-23-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this inaugural Rubber Duck Thursdays episode, Chris introduces GitHub Skyline — a GitHub CLI extension written in Go that generates 3D STL models and ASCII art visualizations of your GitHub contribution history. The stream demonstrates the &lt;code&gt;gh skyline&lt;/code&gt; command, including the &lt;code&gt;--full&lt;/code&gt; flag for rendering your entire contribution history across all years as a single 3D model suitable for 3D printing.&lt;/p&gt;
&lt;p&gt;The main coding activity focuses on refactoring the Skyline Go codebase using GitHub Copilot. Chris uses Copilot Chat for rubber ducking on code structure, then leverages Copilot Edits to split a monolithic &lt;code&gt;main.go&lt;/code&gt; into modular components — separating the root command, browser interface, GitHub client, and skyline generation logic into individual files. The stream also covers GitHub Codespaces and dev containers for setting up a consistent development environment, and discusses community files like CODE_OF_CONDUCT, CONTRIBUTING, and LICENSE for open source projects.&lt;/p&gt;</description></item></channel></rss>