New Skills! v1.1 brings /wayfinder, /research, /implement, /to-spec, /to-tickets
By Matt Pocock
Summary
Topics Covered
- Call it what it is: spec, not PRD
- Invoke Fowler's smells; they live in the priors
- When the route is fog, chart a shared map
- Prototype a rough artifact before the spec
- Move refactoring out of the implementation loop
Full Transcript
Hello friends. First video in a while, and that is because I've been working on version 1.1 of my skills repo. It has an astonishing amount of stuff in there.
There is an entire new approach to grilling, which probably deserves its own video, but I'll try and squeeze it in here. There is a bunch of new changes
in here. There is a bunch of new changes to existing skills, including a rename of two main flow skills. There is just really way too much for me to summarize in this intro, so you're just going to
have to watch the video to find out. We
can see the PR is literally ready to merge now. So, why not? Let's actually
merge now. So, why not? Let's actually
freaking merge this thing. And just like that, we have our version 1.1 ready to go. Let's start with the two that are
go. Let's start with the two that are probably going to be most annoying for you, and the most like, why did he do this? And there is a very specific
this? And there is a very specific reason that I did it, which is that two skills have been renamed. For instance,
two PRD has now been renamed to two spec. And if we go up one level, then we
spec. And if we go up one level, then we go to two issues has been renamed to two tickets. The reason I've done this is
tickets. The reason I've done this is that this has just been bugging me for a long time. The thing that we were
long time. The thing that we were creating in two PRD wasn't actually a PRD. It was a spec. A product
PRD. It was a spec. A product
requirements document kind of describes more things about the actual product itself, whereas we were allowing things to leak into the PRD that weren't
necessarily PRDs. So, for a long time
necessarily PRDs. So, for a long time I've wanted to rename it to two spec, cuz that's what we were creating. We
were just creating a specification.
Specification is a much broader term that actually entails what we were building.
for a thing we want to build. That can
be technical, it can be non-technical, and it can blend the two. It doesn't
really matter. When it came to two issues, two issues always felt like it was biased towards GitHub and linear that use issues, but really we want this to be tickets. You have a spec, and then
underneath the spec you have the tickets that are the journey that you take to actually enact the spec and create it. This has been annoying me for
create it. This has been annoying me for a long time, and finally it no longer annoys me. It brings me joy. Now, one
annoys me. It brings me joy. Now, one
irritating thing about this rename is that you will need to probably delete those skills and re-add them. This means
you'll need to run NPX skills add Map Po skills. I'm pretty sure that this
skills. I'm pretty sure that this skills installer won't pick up the rename, so it won't try to update to PRD to turn it into to spec. You get what I mean. And so, running this command is
mean. And so, running this command is the safest way to grab all of these new skills cuz you get to just pick and choose which ones you want. And once
you've done that, you should probably go through a pass through your skills folder and just check that no bad ones are still in there. So, you want to make sure that you're intentionally grabbing all the right skills. The next change is
that I've fixed a couple of bugs that people were having with grill me and grill with docs. Both of them rely on this kind of central reference grilling skill that kind of show shows the LLM
how to grill a person. I've sharpened up this line here saying asking multiple questions at once is bewildering. Even
with this direction to ask questions one at a time, it was still occasionally just going to have multiple questions at once. So,
I've told it why we don't want multiple questions at once. We've also added a confirmation gate on the end. Do not
enact the plan until I confirm we've reached a shared understanding. Lots of
people on different models were reporting that the grilling session would just end and then it would just go straight into implementation. So, this
is just an extra little gate there.
Finally, on some situations, it would just grill itself, which is very, very odd. Not something I've noticed or seen
odd. Not something I've noticed or seen in my personal thing, but I I can only get a small subset of how these skills are actually used. So, I've basically tried to use a couple of leading words
to indicate the difference between facts and decisions. So, sometimes it was
and decisions. So, sometimes it was using the previous phrasing here by just exploring the code base and grilling itself. This was especially happening
itself. This was especially happening with Fable, actually. And so, I've decided to make a distinction between facts, so facts that are things you find yourself by exploring the code base, and
decisions. So, decisions are needed to
decisions. So, decisions are needed to be made by the user. So, just a couple of sentences, added a couple of things changed around, and this has made it a lot more consistent. Definitely getting
a lot fewer complaints about those weird issues happening. The next thing to say
issues happening. The next thing to say is that I've added a couple of skills that really just take the process that was primarily a planning process, didn't really hold your hand into
implementation, and turn it into a proper software development life cycle.
So, many folks ask me, "What is the flow? What is the main flow you're
flow? What is the main flow you're supposed to use with the skills?" And
first of all, I mean, this is it. We
have number one, you're supposed to instead of using plan mode, you get an agent to grill you. And it uses these couple of docs to add a glossary, to kind of understand you better as you go
along, and also add architectural decision records so you can capture the non-obvious stuff. The stuff that goes
non-obvious stuff. The stuff that goes in the growth for docs then goes into a spec, as we saw before. That spec kind of defines the destination, where you're
going. Then, you turn that spec into
going. Then, you turn that spec into individual tickets so you can spread the development of it out over multiple agent sessions. That's the purpose of to
agent sessions. That's the purpose of to tickets. You then implement each one of
tickets. You then implement each one of those tickets with a implement skill.
And the implement skill is very, very simple. It just looks like this.
simple. It just looks like this.
Implement the work described by the user in the spec or tickets. Use TDD where possible at pre-agreed seams. That's a nice one. And run type checking
nice one. And run type checking regularly, single test files regularly, and full test suite once at the end.
Once done, use code review to review the work, and then commit your work to the current branch. I almost didn't make a
current branch. I almost didn't make a skill for this because it's really simple, right? It's just mostly relying
simple, right? It's just mostly relying on the agent's priors, on its, you know, on the harness, kind of teaching it what to do. And I didn't honestly think we
to do. And I didn't honestly think we needed a skill here, but folks kept asking me, "What's the flow? What's the
flow here?" And so, I figured just an implement skill, make it nice and simple, right? At each stage of the
simple, right? At each stage of the process, call this skill. So, that means implement earns its place here because you know, okay, once we got two tickets, then we just got to implement each ticket in a separate coding session.
Implement then itself calls code review.
And code review, I graduated this out of in progress on version one. So, it's
been around for a little bit, but I have made some updates to it in this version two. The theory of the code review skill
two. The theory of the code review skill is that it reviews code on two axes. So,
it does a sub agent for each one of these. The first one is the standards
these. The first one is the standards axis. Does the code conform to this
axis. Does the code conform to this repo's documented coding standards? So,
if you've got a coding standards.md file
somewhere in your repo, then it will read that and check against those. I
generally think that coding standards belong outside of your agents.md file.
They're supposed to be somewhere separate, and the code review point is where they're most useful. And then,
once you've done the standards, you then go on to the spec. Does the code faithfully implement the originating issue or PR or spec? They both run as parallel sub agents, and it does a
process here where it walks through each part. Now, the thing that's cool and new
part. Now, the thing that's cool and new about this skill is that I've been reading Martin Fowler's refactoring again. And what I decided to do is
again. And what I decided to do is Martin Fowler names a bunch of different smells that the agent can identify in bad code. Refactoring is such an old
bad code. Refactoring is such an old book, such a well-cited book, that these uh kind of smells are deep in the agent's priors. And so, all you need to
agent's priors. And so, all you need to do is kind of invoke the idea Okay, mysterious name or duplicated code or feature envy, data clumps, primitive obsession, repeated switches, divergent change, speculative generality, message
chains. You see what I mean? Like, these
chains. You see what I mean? Like, these
are all deep in the agent's kind of knowledge base, and all we got to do is just really describe them in a sentence.
And what I found is that leads the word or leads the agent to repeat that word back to you and say, "Yes, I found some message chains. I need to remove them. I
message chains. I need to remove them. I
found a middle man situation. I need to uh fix that." So, I tested this for a couple of weeks and it was outrageously useful. It was really, really nice at
useful. It was really, really nice at improving the quality of my code and it's really cheap to add here, just kind of like 10 lines. But, let's go and talk about the one that I'm really, really
excited about, which is a whole new change to the way that we kick off and shape specs. So, the pre-spec bit. In
shape specs. So, the pre-spec bit. In
other words, it goes here where it may, in some situations, replace Grill with Docs. And it's called Wayfinder. I will
Docs. And it's called Wayfinder. I will
make an entire post uh entire video about Wayfinder, but uh suffice to say is that I would love for you, in situations where you're thinking about using Grill with Docs, instead to
default to Wayfinder instead. What
Wayfinder does is it's designed for situations where you have a ton of stuff that you want to plan, but and too big for one agent session. In other words, you're going to blow out of the smart
zone of the agent or you might even blow out of the context window of the agent.
You need to split it into multiple parts in order to figure out where you're going. A loose idea has arrived, too big
going. A loose idea has arrived, too big for one agent session and wrapped in fog. The way from here to the
fog. The way from here to the destination isn't visible yet. This
skill charts the way as a shared map on the repo's issue tracker, then works its tickets one at a time until the route is clear. These maps are saved in GitHub
clear. These maps are saved in GitHub issues. For instance, this is one on the
issues. For instance, this is one on the Sandcastle repo where we're doing a spike to think about maybe pulling in the AI SDK as a dependency, a big, big change. And so, you can see there are no
change. And so, you can see there are no decisions that have um been made so far and all of the decisions that need to be made are saved in sub-issues. And these
sub-issues have blocking relationships.
So, we can see that no decision can be made here before we make this key decision at the start. Each one of these decisions is scoped to be the size of an agent session. And we can see that
agent session. And we can see that they're labeled as different types here.
So, for instance, this one is labeled as a research task. So, this is really an AFK task for the agent to go off, do some research, and then come back. This
one I think is a research as well. This
one is a research task, and this one is a grilling task. So, this one needs a grilling session to be done here. I
think these are all grillers. We can see these defined in the ticket types down here. So, we have research, we have
here. So, we have research, we have grilling, we also have prototype as well. So, this is something I've been
well. So, this is something I've been really advocating for recently is doing more prototyping before you get to a spec. The idea is you raise the fidelity
spec. The idea is you raise the fidelity of the discussion by making a cheap, rough, concrete artifact to react to. An
outline, rough tech stub, UI logic code via the prototype skill. We'll get to that in a minute. Links to the prototype as an asset. And it says use when how should it look or how should it behave
is a key question. And this is essential for almost anything that touches front-end code. So, I would definitely
front-end code. So, I would definitely be recommending using Wayfinder for anything that touches the front-end. The
final one here is just tasks. So, config
that needs to be set up, um provisioning access, you know, moving data into the shape, you know, all the sort of boring stuff that doesn't need a grilling decision and can't really be automated
by AI. What you end up with is after all
by AI. What you end up with is after all of these tickets are closed, all of that information gets saved onto the map with the original tickets as kind of primary sources for what was captured. And you
can then take this map and just turn it into a spec in the regular way. What I
found that instead of having the kind of anxiety of managing my session with grill with docs having to hand off, worry about the smart zone. With
Wayfinder, it's kind of all managed for me. I just get to close a session, open
me. I just get to close a session, open up the next Wayfinder ticket. It's all
saved in GitHub, so it's collaborative.
You can share it across your team. And
once the map is done, once it's complete, you just go to to spec, and you're good to go. To support the Wayfinder skill, we have a new research skill, which is very small, very handy
for when you just need to do a research session, or it kind of influences the model in researching in the right way as well, or at least the way that I like.
Spins up a background agent to do the research so you keep working while it reads. Investigate the question against
reads. Investigate the question against primary sources, write the findings to a simple markdown file, and save it where the repo already keeps such notes match the existing convention. So this is useful too if you need to do any research, you can just invoke the
research skill and you're good to go.
The next one, of course, is the prototype, which I've kind of shown off a little bit before. I don't think I've done a full video on it. This is now modeling, folks, so that Wayfinder can invoke it itself, and it essentially
gives you a choice between logic or state. So it's either a logic prototype
state. So it's either a logic prototype or a UI prototype, and they react quite differently. The final change is
differently. The final change is something that people have been asking for for a while, and I finally decided to pull the trigger on it, which is before in my TDD skill, it would recommend a set of steps for you to
follow, and that was a little bit awkward sometimes. The steps were like,
awkward sometimes. The steps were like, it would confirm what tests it wanted to write with you, and then you would, you know, walk it through, walk it through,
and it didn't fit with most people's idea of how TDD should work, which is you should be able to pass an AFK agent the TDD skill, and it should just work.
And so this TDD skill is now reference material only. So it doesn't specify any
material only. So it doesn't specify any particular steps apart from just the order in which you should write tests in, so to do red green refactor. So it's
just says red before green, one slice at a time, and it also splits away refactoring as as not part of the loop.
So it's no longer a red green refactor loop, it's more just red green. I tend
to think that putting the refactoring in the code review part is a lot more productive because then you don't overload the implementation. So that is
all of the changes that have come in on the skills. It is a lot of changes, and
the skills. It is a lot of changes, and if you're nervous about missing any of the updates, then I recommend that you clear out all of your skills and do NPX skills update and grab all of the new ones. If you've made updates to your
ones. If you've made updates to your skills in the meantime, then you can just point your clanker at my repo and just say pull down all of the good new stuff, especially pointing at the release notes. The thing I think this
release notes. The thing I think this release will be remembered for is to spec and to tickets changing because that is just a little bit of friction, but I think good friction cuz it names it properly. And I hope to be the start
it properly. And I hope to be the start of you getting obsessed with Wayfinder.
I'm using Wayfinder for literally everything, even non-coding stuff. I've
actually been planning my next course with Wayfinder and it's really, really good. In fact, why don't I just show you
good. In fact, why don't I just show you that course now? This is the AI coding crash course. This is going to be
crash course. This is going to be different from the cohorts that I usually run. It's going to be much, much
usually run. It's going to be much, much cheaper and it's going to be self-paced so you can purchase it anytime. You get
help from the Discord kind of in the usual way, but it's not going to be gated like a normal cohort. It is going to be the perfect intro for anyone who's looking to get into AI coding, whether
you are a developer or whether you are not a developer. So, for senior engineers, it's going to be a conversion course. For folks who are new to
course. For folks who are new to development, it's going to be the way that you can actually get productive using these crazy new tools. I've not
announced a price yet. I am going to just be adding sign-ups in here and it'll be available once I finish filming it, maybe in about August time, I think. But folks, thank you so much for watching. It's always a
pleasure sharing these skills updates with you. It is really cool to see the
with you. It is really cool to see the usage just absolutely grow and grow.
Everyone tells me I shouldn't show the star counts, but it's up to like 160K stars now. Uh 7 million downloads on
stars now. Uh 7 million downloads on skills.sh. It is just bonkers. So, thank
skills.sh. It is just bonkers. So, thank
you so much for enjoying the skills. I
hope they are helping you ship more and ship more productively and I'll see you very soon.
Loading video analysis...