Transcription
All right, fam. Welcome back. You know what we're going to be talking about today. Of course, it is spec kit. And specifically, I'm going to be talking about the things that we've improved in the last couple of weeks since release because there's quite a bit.
We've seen a lot of community feedback. We've seen a lot of adoption. We've seen a lot of fun stories and videos being published. And I just wanted to highlight some of these changes to show you that the tooling is growing and improving. We're making it easier for you. And just wild how fast it is growing. Look at these numbers. Look at this. 22.6,000 stars, y'all. This is a lot. This is a lot. I'm pleasantly surprised. I'm excited to see how fast you're adopting this. You're trying this out. You're building apps. I'm seeing the examples. I'm seeing all the messages coming in. So, keep that coming. Keep the issues coming. Keep the pull requests coming. There's more goodness coming with SpecKit.
Now, some of the things that we're going to be talking about today is the improvements. I'll keep it short. I'm not going to bore you with another long tutorial video. This is literally just highlighting the things that we've changed to make your life easier.
So, first of all, I want to say that we introduced support for more agents. That's important, right? Like, we're going to copy our command here that we are all used to seeing by now. By the way, I'm still working on publishing this package to the Python package registry py. So, it's coming. I promise you.
Now also if we go to the terminal, we're going to paste this command here and we're going to call it multi-agent. All right, we're going to bootstrap this project. This will sound familiar to you, right? You might think like, "Ah, I've seen this window." What are you talking about? But look at the list of agents here, right? We have Copilot, which is we've seen Copilot before. Claude, Gemini, Cursor, but now we also have Quen, Open Code, and Windserve. That's right. We've added three new agents with more on the way and you can pick any of these and it's going to provide the templates for that. So, we're going to use Copilot.
The second improvement here is that now it works on Windows. That is right. It works on vanilla Windows. You don't actually need to install WSL 2 or run this only on Linux or Mac OS. You can just run this on vanilla Windows because you can just run PowerShell scripts. When specify bootstraps your project and it bootstraps all the content around the project, it invokes helper scripts to help it, right? To get the context of the branches as you've seen in other tutorial videos that I made on this topic. Now, that used shell script. So, if you did not have WSL configured or you're running this in a VM that doesn't have the capability to run WSL, you're out of luck because you now need a Linux machine. No longer. It runs with vanilla PowerShell. And that's kind of neat. I like this. I like optionality. I like the freedom to choose here. So you can do this.
Also, we kind of cleaned up a little bit this command view here, right? You might notice that this just shows you the commands. It doesn't give you all the crust around like, "Oh, you can run these things with different IDs." Like, you just use these commands in your agent. And for the eagle-eyed viewers of this video, you might notice that we now have two new commands. That's right. We have constitution and we have implement. And those were some very, very interesting community feedback items. Like we've talked about this before, but people wanted to establish the constitution for the project.
And for that to actually see this in action, let's go to our project here. So let's go to multi-agent and let's open this in VS Code. And if you remember, if I go to my specify folder memory, I have a constitution file. The constitution is a non-negotiable. These are the things about my project that I do not want to change. This is like, whatever I'm building, the constitution defines the fixed things that the AI should not be guessing. This is how it works. And previously, I showed you in examples that you would have to go in and you would say, "Okay, like, hey Claude, can you like update the constitution and make sure that you follow these things?" Now you can just use one slash command because it's now a prompt. It's constitution.prompt. Super easy. It defines all the requirements for this. It defines the process. It makes it super easy for you to define this in one command.
So now if I go to my constitution file, I'll say /constitution, right? I see "static website with minimal dependencies optimized for mobile and desktop." And we'll put parenthesis "responsive" because that's what it really is, with accessibility standards, right? So I just use this. It's using the constitution prompt. And now it's going to go ahead and establish the constitution for me based on this because the constitution is not just about updating the constitution document. There's also other dependencies. The plan is using the constitution. A lot of other pieces of the templating engine is using the constitution. So this simplifies. You don't need to worry about making sure that the prompt is correct or you've established the right thing and everything like that. It's just going to do it for you. Uh, convenience. It's all about convenience, right? When it comes to SpecKit and Specify, we're trying to make this as convenient and as simple as possible for you to go and experiment and start building with spec-driven development. That's what this is all about. It is simplicity, it is convenience, and it is speed. Although the speed is debatable depending on which model you choose. As you can see, Sonnet right now can be thinking quite a bit.
So, we're going to give Sonnet here a minute until we actually see the constitution being produced and ready for us to consume.
>> Wait for it.
All right, I think it actually completed the job. So, let's take a look here. So, we have a bunch of changes. We notice that four files changed. It's not just the constitution. So, as I mentioned, there's dependencies that it actually went after, which is great. So, we have the constitution file. We're going to keep all the changes because I'm lazy right now. We're going to take a look at what changed here. So we have a constitution: static first architecture, responsive design, accessibility standards, minimal dependencies, performance optimization. Fantastic. That is a constitution that reflects what we just asked.
But we also saw that it changed the templates. Let's take a look here at our templates. And because we see they're highlighted in yellow in my VS Code theme, it highlights them in yellow. I'm sure it might highlight them differently for you. But let's take a look at the plan template. Let's go to the changes here and notice that I actually inserted the constitution check into the plan template. So when we work on the technical details, the technical plan, the constitutional checks are going to be updated here. Also, if I look at the spec template, that should be embedded here as well. We'll see it here: "Constitutional requirements." Fabulous. I did not prompt this. It's all embedded in a slash command. Same for task template, which embedded a bunch of them. And these are again simulated tasks because it's basically a template that's not yet the final task list. But it provides the grounding that it needs to go and proceed with this.
And you can also update the constitution with the same command. So I can just do const. I just created it. I literally just made it and I can update it with just one command. And I say, "Hmm, using Next.js because maybe I decided that in my organization we're only using Next.js." And I want to make sure that that's actually encoded in the constitution. So we're going to go back and we'll notice that it's going to update the constitution with Next.js requirements, right? So we're going to wait and we're going to wait a little bit longer and we're going to see the changes flow in.
And by the way, I talk about model differences, but this is the part that I really enjoy about Sonnet 4 compared to say GPT-5 is the fact that it does things iteratively. It does things in a way that I can actually track changes and it's not waiting for the whole blob to finish. GPT-5 on the other hand, it's waiting for the whole blob to finish. But notice that, okay, so it updated the constitution here. And we see that it actually encoded it, changed the version as it should. This is what the constitutional prompt does and it ensures that, you know, it's a multi-agent Next.js website constitution. Great, great, great, great, great. So it added some additional items for Next.js and I can tweak these. Remember, this is a markdown file. Like if I don't like this, tweak it. But it actually updated it to make sure that it uses Next.js and follows Next.js framework standards. This is exactly what I wanted. Now available to you in one slash command inside your editor. That's kind of neat. I like that. Simplify. Simplify. Simplify.
Now we're also going to take a look at another improvement here when it comes to commands. And this is one of their more in-demand items is that when you go through the entire process, when you go through the completion of the specify, the plan, the tasks, now you need to implement. And people were kind of confused. It's like, "Well, it's like, if I do, do I need to ask the implement the plan? Do I need to ask it to implement the spec? How do I do this?" No more guessing. And I'll tell you why.
>> Wait for it.
>> Keep waiting.
>> Keep waiting for all of eternity only to discover there's no escape.
When you have all the work done, you have all the artifacts created, you have all the contracts, the data model, the plan, the spec, and the tasks that are created, right? Like it's time for implementation. It's time for you to actually get the code up and out there with the help of the LLM. What do you do? Do you just ask the LLM to go and build this out? Absolutely not. Do not do that. And to actually implement this, you can now just use /implement. That's right. One command. That's all it takes. Just one command, /implement. Boom. Now it's implementing it. It's just that easy. That's it. It's checking for prerequisites. It's making sure that you have all the things completed, that they have all the tasks. It's reading the task. It's going to go through them. It's going to build the stuff out for you. And there you go. It's just getting easier and easier to use Specify and SpecKit and spec-driven development. There we go. That's the implementation part.
Now I also want to give a special shout out to another community contributor here that has added a capability inside Specify because there is an interesting scenario here that we have not really thought about. And that is to download a lot of the templates that Specify is using. Right? If you go, like I mentioned before, like you go to releases, you can just get these manually. That's all it takes. You can just download this and extract it for your agent. But the problem here is that if you do this to the Specify CLI, sometimes you hit the GitHub API quota because we're not actually using any authentication with the GitHub API and we're using the GitHub API to determine the releases to download it. So naturally, if you are a part of a large organization that has a bunch of these, you know, developers running SpecKit or maybe they're have CI jobs running, download releases with no authentication, you're going to run out of kind of that initial open API quota. So how do you bypass that?
Well, if you look at the change log here, you can see that our contributor here introduced a change. That change is specifically related, and the contributor is Zish. Yeah. Introduced a change in number 243. And that there is APR. We can just go to that, right? And that allows you to specify, pun intended, a GitHub token or maybe I'm looking at the H. Interesting. Let's see. Let's take a look at the GitHub token. Maybe I'm misremembering. GitHub. And let's look at closed.
There we go. It is 343. I just messed up. It's pull, not pools. There we go. So ZFish introduced a change that allows you to actually provide the GitHub token. And maybe you're using the environment variables like GH_TOKEN or GITHUB_TOKEN in your environment that you can just specify, and then it just magically works. This is all the way documented in the README. So you can just check out the README, right? If you scroll all the way here, you'll notice that there's a GH_TOKEN option now that you can use in the CLI. So you can just pass the token directly. Use that in case you're running into API challenges.
So that's it. These are the major changes that are happening right now with our favorite SpecKit. As I said, there's a lot more coming. So make sure to stay tuned for more of these videos. There's probably going to be a blog post for me that is going to be talking more about all the things that are changing. We have more agents coming for you. OpenAI Codex, Ruode, Kilo Code, there is a bunch of them that I know that the community has requested there. We're actively working on finalizing the pull requests and getting them in the pipeline.
And as always, if you have any feedback, any comments, go to github.com/github/spec-kit and add your issues, your open your pull request. And remember, if it's something a big rewrite, open an issue first. Do not open a pull request. It will get rejected.
So, I'm excited to see where this goes. Tell me what you're building. Go to the discussions. By the way, this is a forgotten area of the GitHub repositories that I also want to call out that you should absolutely check out. Discussions, right? Like, if you go to discussions here, see this button here? Very easy to spot. It's called discussions. If you go there, there's a lot of folks that are actually discussing a lot of things about SpecKit. Like there's, you know, they added like ad support for Ader and a bunch of other conversations here. But go there, get engaged with the community, see what people are talking about. If you have any questions, go there.
And by the way, next week I'm going to be talking more about the documentation for SpecKit because we're building that out as well. We do not want you to go guessing. We want you to go to Google and easily, you know, search for SpecKit and find the right docs, the right guides. So stay tuned for next week's update. I will see you then.