I Spent 24 Hours with GitHub Copilot Workspaces

https://every.to/chain-of-thought/i-spent-24-hours-with-github-copilot-workspaces

Was this newsletter forwarded to you? Sign up to get it in your inbox.


GitHub Copilot is like autocomplete for programmers. 

As you type, it guesses what you’re trying to accomplish and suggests the block of code it thinks you’re going to write. If it’s right—and very often it is—you press Tab and it’ll fill in the rest for you. Launched in 2021, a year or so before ChatGPT’s arrival, Copilot was the first breakthrough generative AI use case for programming that really took off.

If GitHub Copilot is like autocomplete, GitHub Copilot Workspace—currently in limited technical preview—is like an extremely capable pair programmer who never asks for coffee breaks or RSUs.

It’s a tool that lets you code in plain English from start to finish without leaving your browser. If you give it a task to complete, Copilot Workspace will read your existing codebase, construct a step-by-step plan to build it, and then—once you give the green light—it’ll implement the code while you watch.

Put another way, it’s an agent. It’s similar to Devin, the AI agent for programming whose launch announcement went viral a few months ago, and which was reportedly seeking a $2 billion valuation in a new fundraising effort. I haven’t gotten access to that yet (shakes fist in Devin’s general direction!), but I do have access to Copilot Workspace. 

Over the past 24 hours, I’ve put Copilot Workspace through some of its paces. I tried to have it build a large, complex feature on its own, but I also asked it to do smaller, better-defined tasks. My goal was to see what I could ask of it, what kinds of tasks it could handle, and when I might choose to use this instead of ChatGPT.

The short answer is: This kind of product is the future of programming. The long answer is below.

How Copilot Workspace works

I’ve been working on an internal tool that we use at Every called Spiral. It allows users to build and share prompts for common AI tasks—but more on that in a future essay. I fashioned an ugly tribal tattoo-looking logo, and I wanted to replace it with a new one created by Keshav, one of our talented designers. 

This is one of those changes that isn’t very hard to code, but it’s a little annoying. You have to make sure the logo looks right in context and doesn’t break any of the styles of the elements around it. It’s one of those all-too-simple tasks that I also usually procrastinate doing until I really need to.

So, I figured it was perfect for an AI. I decided to try Copilot Workspace—from here, simply referred to as CW—to see how it would do.

Create a task

First, I opened up CW and created a task. A task is a natural language description of what you want CW to build:

Source: Screenshots courtesy of the author.

You’ll notice that the task description I gave it has details such as the file I want it to modify, where I want the logo to appear, and the file name of the logo image. I experimented with different prompts (and looked through the GitHub documentation) and learned that giving it more detail should lead to better results.

Once I inputted the task, CW processed it and created a specification: a map of the current state of the codebase, and a set of criteria for what success looks like.

Specifying out your idea of success

CW creates a specification through a process that is sort of like what I do before I leave the house to grab coffee: I tap both of my pants pockets to make sure I have my phone, AirPods, wallet, and keys. In a sense, I am asking my pants, “Do you contain all of the essentials I need in order to leave the house, purchase a coffee, and make sure I don’t get locked out?” 

Depending on how they reply—bear with me—I know whether each item is either present or missing. This helps me to create a plan to gather the things I need to find in order to successfully complete my mission. (Note to self: Your wallet is always wedged in some physics-defying configuration between the couch and the wall. Look there. Not there? Look again.)

In a sense, CW does this, too. Given the task you assigned it, it attempts to figure out the current state of your codebase (to put it in pants terms, it taps the codebase and finds the wallet and keys are missing). Then it proposes a set of tests for what your codebase should look like when the task has been completed properly (the wallet and keys are now safely slotted in their proper pockets). 

To make it even easier, it does this in normal English:

Plus, you can edit each step of this process and, if you want to, add your own ideas in natural language. Basically, you can give CW your own test criteria for what success should look like so that it will check against it as it writes code.

Once you’re satisfied with the specification, you move on to the plan.

Creating your plan

If the specification stage is about figuring out what needs to be done in your codebase, the planning step is how it will be done. At this stage, CW gets into the nitty-gritty details of your codebase and writes out the changes it will make to each file:

Create a free account to continue reading

The Only Subscription
You Need to
Stay at the
Edge of AI

The essential toolkit for those shaping the future

"This might be the best value you
can get from an AI subscription."

- Jay S.

Mail Every Content

AI&I Podcast AI&I Podcast

Monologue Monologue

Cora Cora

Sparkle Sparkle

Spiral Spiral

Join 100,000+ leaders, builders, and innovators

Community members

Email address

Email

Already have an account? Sign in

What is included in a subscription?

Daily insights from AI pioneers + early access to powerful AI tools

Pencil Front-row access to the future of AI

Sparks Bundle of AI software

Thanks for rating this post—join the conversation by commenting below.

{
"by": "dshipper",
"descendants": 72,
"id": 40248514,
"kids": [
40249388,
40249675,
40250133,
40249425,
40250002,
40249924,
40251140,
40249935,
40250937,
40250300,
40249167,
40249408,
40256827,
40250945,
40249616,
40249654,
40249421,
40255070,
40250159,
40254210,
40250246,
40250265,
40249353
],
"score": 136,
"time": 1714748759,
"title": "I Spent 24 Hours with GitHub Copilot Workspaces",
"type": "story",
"url": "https://every.to/chain-of-thought/i-spent-24-hours-with-github-copilot-workspaces"
}
{
"author": "Dan Shipper",
"date": "2025-11-13T00:00:00.000Z",
"description": "I spent 24 hours with AI coding assistant Github Copilot Workspace",
"image": "https://d24ovhgu8s7341.cloudfront.net/uploads/post/social_media_image/3089/full_page_cover_Screenshot_2024-05-06_at_1.47.11_PM.png",
"logo": null,
"publisher": "Every",
"title": "The Next Big Programming Language Is English",
"url": "https://every.to/chain-of-thought/i-spent-24-hours-with-github-copilot-workspaces"
}
{
"url": "https://every.to/chain-of-thought/i-spent-24-hours-with-github-copilot-workspaces",
"title": "The Next Big Programming Language Is English",
"description": "Was this newsletter forwarded to you? Sign up to get it in your inbox. GitHub Copilot is like autocomplete for programmers.  As you type, it guesses what you’re trying to accomplish and suggests the block of...",
"links": [
"https://every.to/chain-of-thought/i-spent-24-hours-with-github-copilot-workspaces"
],
"image": "https://d24ovhgu8s7341.cloudfront.net/uploads/post/social_media_image/3089/full_page_cover_Screenshot_2024-05-06_at_1.47.11_PM.png",
"content": "<div>\n <p><em>Was this newsletter forwarded to you? </em><a href=\"https://every.to/account\" target=\"_blank\"><em>Sign up</em></a><em> to get it in your inbox.</em></p>\n<hr />\n<p>GitHub Copilot is like autocomplete for programmers. </p>\n<p>As you type, it guesses what you’re trying to accomplish and suggests the block of code it <em>thinks</em> you’re going to write. If it’s right—and very often it is—you press Tab and it’ll fill in the rest for you. Launched in 2021, a year or so before ChatGPT’s arrival, Copilot was the first breakthrough generative AI use case for programming that really took off.</p>\n<p>If GitHub Copilot is like autocomplete, <a href=\"https://github.blog/2024-04-29-github-copilot-workspace/\" target=\"_blank\">GitHub Copilot Workspace</a>—currently in limited technical preview—is like an extremely capable <a href=\"https://en.wikipedia.org/wiki/Pair_programming#:~:text=Pair%20programming%20is%20a%20software,two%20programmers%20switch%20roles%20frequently.\" target=\"_blank\">pair programmer</a> who never asks for coffee breaks or RSUs.</p>\n<p>It’s a tool that lets you code in plain English from start to finish without leaving your browser. If you give it a task to complete, Copilot Workspace will read your existing codebase, construct a step-by-step plan to build it, and then—once you give the green light—it’ll implement the code while you watch.</p>\n<p>Put another way, it’s an agent. It’s similar to Devin, the <span><a target=\"_blank\" href=\"https://every.to/c/ai-frontiers\">AI</a></span> agent for programming whose <a href=\"https://www.cognition-labs.com/introducing-devin\" target=\"_blank\">launch announcement</a> went viral a few months ago, and which was reportedly seeking a <a href=\"https://www.wsj.com/tech/ai/a-peter-thiel-backed-ai-startup-cognition-labs-seeks-2-billion-valuation-998fa39d\" target=\"_blank\">$2 billion valuation</a> in a new fundraising effort. I haven’t gotten access to that yet (shakes fist in Devin’s general direction!), but I do have access to Copilot Workspace. </p>\n<p>Over the past 24 hours, I’ve put Copilot Workspace through some of its paces. I tried to have it build a large, complex feature on its own, but I also asked it to do smaller, better-defined tasks. My goal was to see what I could ask of it, what kinds of tasks it could handle, and when I might choose to use this instead of ChatGPT.</p>\n<p>The short answer is: This kind of product is the future of programming. The long answer is below.</p>\n<h2>How Copilot Workspace works</h2>\n<p>I’ve been working on an internal tool that we use at Every called Spiral. It allows users to build and share prompts for common AI tasks—but more on that in a future essay. I fashioned an ugly tribal tattoo-looking logo, and I wanted to replace it with a new one created by <a href=\"https://twitter.com/keshavchan\" target=\"_blank\">Keshav</a>, one of our talented designers. </p>\n<p>This is one of those changes that isn’t very hard to code, but it’s a little annoying. You have to make sure the logo looks right in context and doesn’t break any of the styles of the elements around it. It’s one of those all-too-simple tasks that I also usually procrastinate doing until I really need to.</p>\n<p>So, I figured it was perfect for an AI. I decided to try Copilot Workspace—from here, simply referred to as CW—to see how it would do.</p>\n<h4><strong>Create a task</strong></h4>\n<p>First, I opened up CW and created a task. A task is a natural language description of what you want CW to build:</p>\n<p><a href=\"https://d24ovhgu8s7341.cloudfront.net/uploads/editor/posts/3089/optimized_NKYLLnOCpHkjwTUIECWyXZUYuF46NziGTCBo1ftV3fHfeDW0iSZLepSG9OwmGknQNCMcRcPS00iNvYufIXueH7i64eVAjrz5lZFFFlY0CF7OmZ3eo4PvtTFB5L5v7IN16QVnfjxg96SG50kCQIuym7M.png?link=true\" target=\"_blank\"><img src=\"https://d24ovhgu8s7341.cloudfront.net/uploads/editor/posts/3089/optimized_NKYLLnOCpHkjwTUIECWyXZUYuF46NziGTCBo1ftV3fHfeDW0iSZLepSG9OwmGknQNCMcRcPS00iNvYufIXueH7i64eVAjrz5lZFFFlY0CF7OmZ3eo4PvtTFB5L5v7IN16QVnfjxg96SG50kCQIuym7M.png\" /></a></p>\n<p><em>Source: Screenshots courtesy of the author.</em></p>\n<p>You’ll notice that the task description I gave it has details such as the file I want it to modify, where I want the logo to appear, and the file name of the logo image. I experimented with different prompts (and looked through the GitHub documentation) and learned that giving it more detail should lead to better results.</p>\n<p>Once I inputted the task, CW processed it and created a specification: a map of the current state of the codebase, and a set of criteria for what success looks like.</p>\n<h4><strong>Specifying out your idea of success</strong></h4>\n<p>CW creates a specification through a process that is sort of like what I do before I leave the house to grab coffee: I tap both of my pants pockets to make sure I have my phone, AirPods, wallet, and keys. In a sense, I am asking my pants, “Do you contain all of the essentials I need in order to leave the house, purchase a coffee, and make sure I don’t get locked out?” </p>\n<p>Depending on how they reply—bear with me—I know whether each item is either present or missing. This helps me to create a plan to gather the things I need to find in order to successfully complete my mission. (Note to self: Your wallet is always wedged in some physics-defying configuration between the couch and the wall. Look there. Not there? Look again.)</p>\n<p>In a sense, CW does this, too. Given the task you assigned it, it attempts to figure out the current state of your codebase (to put it in pants terms, it taps the codebase and finds the wallet and keys are missing). Then it proposes a set of tests for what your codebase <em>should</em> look like when the task has been completed properly (the wallet and keys are now safely slotted in their proper pockets). </p>\n<p>To make it even easier, it does this in normal English:</p>\n<p><a href=\"https://d24ovhgu8s7341.cloudfront.net/uploads/editor/posts/3089/optimized_as8Rl7g48-MU0tVnmJ374yGQ_k9dNcjzmFNiSo5dXqeued67Ba7ecXEaDjyhLKL72rjMnjiHWYyPSL-pEbqfalepEMNDeSb2csQNcD--Biav64oq7Yka_Nae-6ICqZ9HfJJeT3PDUKPxy3lQMPxc4bA.png?link=true\" target=\"_blank\"><img src=\"https://d24ovhgu8s7341.cloudfront.net/uploads/editor/posts/3089/optimized_as8Rl7g48-MU0tVnmJ374yGQ_k9dNcjzmFNiSo5dXqeued67Ba7ecXEaDjyhLKL72rjMnjiHWYyPSL-pEbqfalepEMNDeSb2csQNcD--Biav64oq7Yka_Nae-6ICqZ9HfJJeT3PDUKPxy3lQMPxc4bA.png\" /></a></p><p>Plus, you can edit each step of this process and, if you want to, add your own ideas in natural language. Basically, you can give CW your own test criteria for what success should look like so that it will check against it as it writes code.</p>\n<p>Once you’re satisfied with the specification, you move on to the plan.</p>\n<h4><strong>Creating your plan</strong></h4>\n<p>If the specification stage is about figuring out <em>what</em> needs to be done in your codebase, the planning step is <em>how</em> it will be done. At this stage, CW gets into the nitty-gritty details of your codebase and writes out the changes it will make to each file:</p>\n </div><div>\n <div>\n <p><img src=\"https://every.to/assets/icons/lock_outline-e4a08f6f075d2636d461a53f49de74197467b7ea6aa9258f33347dd880029d20.svg\" />\n <span>Create a free account to continue reading</span>\n </p>\n </div>\n <h2>\n The Only <span>S</span>ubscription<br />You Need to<br /> Stay at the<br /> Edge of AI\n </h2>\n <p>The essential toolkit for those shaping the future</p>\n <div>\n <p>\"This might be the best value you<br />can get from an AI subscription.\"</p>\n <p>- Jay S.</p>\n </div>\n <div>\n <p><a href=\"https://every.to/subscribe?source=post_paywall\" target=\"_blank\">\n <img alt=\"Mail\" src=\"https://every.to/assets/paywall/app_icons/every-7ac34d1cb7bd353d6e701bb00cfc61f798250095ebdcfd12f6d5eaf84386b096.png\" />\n </a>\n <span>Every Content</span>\n </p>\n <p><a href=\"https://every.to/podcast\" target=\"_blank\">\n <img alt=\"AI&amp;I Podcast\" src=\"https://every.to/assets/app_icons/podcasts-05879434e25ad3d087a9c019d2de90fd3620fe81a3d38cc83b8ddca4ab8edb09.png\" />\n </a>\n <span>AI&amp;I Podcast</span>\n </p>\n <p><a href=\"https://monologue.to/?utm_source=every&amp;utm_medium=banner&amp;utm_campaign=post\" target=\"_blank\">\n <img alt=\"Monologue\" src=\"https://every.to/assets/paywall/app_icons/monologue-7095346b162f13e7f142fc9de290b9c7222a65019ec6aa04abdf32bbf2b11cd5.png\" />\n </a>\n <span>Monologue</span>\n </p>\n <p><a href=\"https://cora.computer/?utm_source=every&amp;utm_medium=banner&amp;utm_campaign=post\" target=\"_blank\">\n <img alt=\"Cora\" src=\"https://every.to/assets/paywall/app_icons/cora-c72cf67256dfbe7d1805c701b3d1605954ba559a38cfb021d66c9b350de0a6d3.png\" />\n </a>\n <span>Cora</span>\n </p>\n <p><a href=\"https://makeitsparkle.co/every?utm_source=every&amp;utm_medium=banner&amp;utm_campaign=post\" target=\"_blank\">\n <img alt=\"Sparkle\" src=\"https://every.to/assets/paywall/app_icons/sparkle-b99bd07599520a38c908455679c83a9a1aa3738412b77a38e805c92d0dce5dd6.png\" />\n </a>\n <span>Sparkle</span>\n </p>\n <p><a href=\"https://writewithspiral.com/?utm_source=every&amp;utm_medium=banner&amp;utm_campaign=post\" target=\"_blank\">\n <img alt=\"Spiral\" src=\"https://every.to/assets/paywall/app_icons/spiral-e9c1b877b492911c86921b7d2a9c70c5a2a4d845019b50a4e390999caf48a01d.png\" />\n </a>\n <span>Spiral</span>\n </p>\n </div>\n <div>\n <p>Join 100,000+ leaders, builders, and innovators</p>\n <p><img alt=\"Community members\" src=\"https://every.to/assets/paywall/faces-2b72f553c10b6f8c7042928513f8254f0b1056a695678d112a1159bae5c7b86a.png\" />\n </p></div>\n <div>\n <p>Email address</p>\n <div>\n <p><img alt=\"Email\" src=\"https://every.to/assets/icons/mail_outline-47c8cc2142e2de5d007db742a4a52b036fdedd12fc25e2f14e8e40d9c3ba9d0b.svg\" />\n </p>\n </div>\n </div>\n <p>\n Already have an account? <a target=\"_blank\" href=\"https://every.to/login\">Sign in</a>\n </p>\n <div>\n <div>\n <h3>What is included in a subscription?</h3>\n <p>Daily insights from AI pioneers + early access to powerful AI tools</p>\n </div>\n <div>\n <div>\n <p><img alt=\"Pencil\" src=\"https://every.to/assets/popup/pencil-a7e87ba5ccd69420e5fc49591bc26230cb898e9134d96573dbdc12c35f66cc92.svg\" />\n <span>Front-row access to the future of AI</span>\n </p>\n </div>\n <div>\n <p><img alt=\"Sparks\" src=\"https://every.to/assets/popup/sparks-aad3c464581e04cfaad49e255e463ca0baf32b9403f350a2acdfa2d6a5bdc34e.svg\" />\n <span>Bundle of AI software</span>\n </p>\n </div>\n </div>\n </div>\n</div><p>\n Thanks for rating this post—join the conversation by commenting below.\n</p>",
"author": "Dan Shipper",
"favicon": "https://every.to/favicon-dark.svg",
"source": "every.to",
"published": "2025-11-13",
"ttr": 203,
"type": "article"
}