GitHub Copilot works better when it has readable code, clear intent, project structure, and explicit instructions to draw on.
2
Coding agent can take a GitHub issue, work in an isolated GitHub Actions environment, and create a draft pull request for another developer to review.
3
AI does not remove the normal DevOps checks, so teams should keep code reviews, linters, security scans, and tests in place.
Summary
Christopher Harrison presents GitHub Copilot as an AI pair programmer that needs context in the same way a new human developer needs context. Clear names, comments, project structure, detailed issues, Copilot instruction files, and dot instructions files help it understand the work and follow a team's conventions. He walks through Copilot's progression from code completion and chat to edits, agent mode, and coding agent. Coding agent works from a GitHub issue, prepares its own environment in GitHub Actions, runs tasks and tests, and opens a draft pull request. Harrison explains the isolation and approval controls around that process, including the default firewall, branch-only write access, and separate review by another person. He also shows how MCP servers can provide external data or actions, while stressing that teams must review those connections. The talk is delivered as a hands-on lab, with many practical answers about iteration, repository setup, and correcting agent mistakes.
Copilot needs the same context as a new pair programmer
Harrison compares Copilot to a human pair programmer. A conversation about finding brunch changes as new information appears, such as wanting somewhere new or craving waffles. Copilot works through the same kind of back and forth. Context includes more than the prompt. Readable function and variable names, a clear structure, comments, and a navigable project layout help Copilot understand a codebase. Single-letter variables and abbreviations make that harder. Harrison calls this good code 101, since practices that help human developers also help Copilot read and navigate the project.
Clear intent is more useful than terse chatbot-style prompts
Harrison asks developers to be explicit about what they want Copilot to do and how they want it done. He sees people accustomed to older chatbots write prompts like command lines, then wonder why Copilot did not infer an unstated requirement. His advice is, "don't be passive-aggressive with Copilot." If a piece of information matters, include it. A detailed request gives the agent a better chance of considering the right requirements instead of making the user correct assumptions after the fact.
Copilot has several workloads with different levels of control
Harrison distinguishes code completion, chat, edits, agent mode, and coding agent. Completion suggests the next line, function, or class while a developer writes code. Chat can answer a request or generate a file. Edits can change several files, which matters for work such as updating HTML, JavaScript, and CSS together. Agent mode stays inside the IDE, navigates the project, builds code, runs external tasks such as unit tests, and can self-heal after detecting an error. Coding agent runs from github.com, works on an assigned issue in the background, and eventually creates a pull request.
A detailed GitHub issue gives coding agent a workable specification
For the lab, Harrison assigns coding agent an issue with requirements for adding game submission functionality. He explains that the issue contains enough detail to describe what should be built, and that a more involved task could also include a proposed workflow. The issue is the agent's initial context, so requirements that matter should be written down. Developers can iterate by adding a comment after the initial work. Harrison demonstrates a follow-up request to add an endpoint for searching games by name, which starts a new coding-agent session using the existing work.
Coding agent works inside isolated boundaries by default
Harrison describes several controls around coding agent. It runs in GitHub Actions and, by default, a firewall blocks access to external resources. That also means required frameworks and libraries must be installed through the setup workflow or made available by opening firewall access. The Actions environment is temporary and collapses after the work is done. The agent cannot write to the repository except through the branch it creates. Its pull request stays in draft form until a person approves it, and workflow checks such as security scans and tests cannot run until the workflow runs are approved.
A separate developer must review coding agent's work
The current version of coding agent does not allow the person who assigned the issue to review the resulting work. Harrison compares this to a workplace rule that developers should not review their own work. Another person must inspect the changes and approve them. He also says that the normal development safeguards remain necessary. Manual review, security checks, linters, unit tests, and other checks should still run before code enters the codebase. AI changes how code is produced, but it does not change the DevOps flow.
Instruction files turn repository conventions into reusable context
Harrison recommends a copilot-instructions.md file containing an overview of the application, code standards, requirements before commit, language guidance, build specifics, and repository structure. Coding agent reads this file, and Copilot Chat reads it for every chat request inside the IDE. Dot instructions files handle repeated patterns such as creating React components or Flask endpoints. They can describe rules, point to prototype and test files, and apply automatically to matching paths or extensions. Instructions can also reference other instruction files and use folder patterns, so a team does not need one giant file.
MCP servers extend context and require deliberate access
Harrison explains that an MCP server lets Copilot inspect exposed commands, access external data, and perform operations on a user's behalf. This can help with a large repository that needs better search or reasoning over information outside the model's training data. Coding agent and local IDE use have different configuration needs. Coding agent may require firewall access, while MCP servers can be configured at the organization or repository level. Credentials still belong to the user, and tokens can have expiration dates. Harrison advises vetting MCP servers and recording useful server guidance in the instruction file.
"If I ever see Copilot not doing something the way that I expect it to do, what am I going to do?"1:02:57
Who should watch
You are introducing Copilot to a team and need practical guidance on the context it requires from a repository.
You want to assign GitHub issues to coding agent while keeping isolation, approvals, reviews, and existing DevOps checks.
Your generated code follows inconsistent patterns and you need a way to encode repository and file-specific conventions.