71 comments

[ 0.92 ms ] story [ 117 ms ] thread
I adopted a couple of these, the api design and ui testing ones have been particularly helpful.
Thanks for this, going to steal a lot of this. I would install your plugin, but I worry about being able to delete it later. I also think that each one of these is better served customized to a developer. That said, I'm still going to grab some of these, thanks!
I've been using Agent Skills on a new side project and I'm really impressed so far! It really holds my hand a lot of the way and really lets me focus on developing a product instead of figuring out how to build it. I get to focus much more energy on high level architecture and product design.

Very grateful for this repository and everyone who contributed to it!

I wonder how does this compare to superpowers
> This isn’t a coincidence. It’s the same SDLC every functioning engineering organisation runs, just in different vocabulary. [...] Amazon calls it the working-backwards memo and the bar raiser. Every healthy team has some version of this loop.

This (sdlc == working backwards & bar raiser) is so horribly wrong, that I hope this was an LLM hallucination.

In general, I'm starting to see these agent scaffolding systems as an anti-pattern: people obsess over systems for guiding agents and construct elaborate rube-goldberg machines and then others cargo-cult them wholesale, in an effort to optimize and control a random process and minimize human involvement.

All of these articles about setting up the perfect agent environments with skills, plugins, MCP servers, markdown files, etc. etc. reminds me so much of the culture around setting up the perfect "productivity stack". You need the perfect note-tacking app, ticketing app, calendar integrations, yada yada before you can really do anything meaningful. The reality is that you're going to get beat by someone with a few things written down on a piece of paper who is just getting stuff done.
Naming things is such a hard problem that many devs don't even bother trying.

That being said, this post is full of reasonable assertions, so I'm looking forward to experimenting with this... whatever it is.

The best way to prompt an LLM is to describe the outcome you want, that's it. They are trained as task completers. A clear outcome is way better than a process.

If the LLM fails, either you didn't describe your outcome sufficiently or is misinterpreted what you said or it couldn't do it (rare).

Common errors should be encoded as context for future similar tasks, don't bloat skills with stuff that isn't shown to be necessary.

I was surprised how long some of these skills are. They are pages and pages long with tables and checkbox lists and code examples, etc.

Curious how normal that is - it would only take a couple of these to really fill the context alot.

This is why I created the /do router, to route to all skills. I also have anti rationalization, progressive context discovery etc.

I only make it for me, so it's a bit complex and targeted towards me, and what I do, but it's pretty easy to adjust things.

https://github.com/notque/vexjoy-agent

Working on reading through Agent Skills, it seems we've converged on a lot of the same points, and I've never seen it, so trying to get an understanding of it.

Edit 1: I don't like all the commands. I just rely on a single router to automatically decide what I want, and that feels like the most reasonable way to me to communicate with it.

I don't want to remember things. And that's the way for me to scale the number of skills and activities. I don't have to think about them.

Edit 2: We have very different routers.

https://github.com/addyosmani/agent-skills/blob/f504276d8e07...

vs

https://github.com/notque/vexjoy-agent/blob/main/skills/do/S...

I personally wouldn't call theirs an intelligent router. They are dancing between a few different skills. We have extremely different setups there.

But of course, I'm using way more context to get it done. I'm even sending it out to Haiku to build the route choices.

I choose to use tokens to make things better for myself, not everyone would make the same choice, so I certainly see why they are using a few skills, and composing them.

Edit 3: This is much easier for a user to wrap their head around because there's much less.

I am only focused on the best improvements I can make that show value for my use cases. This is straight foward to reason about.

This seems like a nice way to get the best concepts for people trying to understand them. I commend them for a clean, simple approach.

Edit 4: Yeah, I think there are some things I can learn from them which is always good.

I especially like simple decisions like collapsing the install details for each harness in the readme.

I'm going to read over the entire thing and look for opportunities to improve my stuff.

We are all working together, learning, testing, building, trying to find the best way to implement things.

Everyone who writes this kind of stuff skips the boring parts: science and engineering.

Yep, benchmarks, comparisons of with/without, samples of generated code with/without. This kind of stuff matters, and you may be making your agent stupider or getting worse results without real analysis.

Also this prose reads like the author has drunk the Google kool-aid and not much else.

Cant wait for everyone to realize they've wasted a year + messing with agents and experiencing a feeling of psuedo productivity.
if i wanted to find out the answer to my question, i would need to:

- open the browser

- google "john repo"

- find the website

- copy the repo name

- open the terminal

- cd

- git clone

- try to find the file i want

- read the whole file to find the answer

= answer

i now do:

- "john repo question" = answer

TBH this alone is worth $20 (but don't tell OpenAI that).
I'm with the username like that, I'm sure we're going to get an even-handed, well thought out and reasoned discussion about all of this.
At least we’ll be thankful for all the documentation developers have written in order to feed Claude better context.

Maybe the productivity we were trying to achieve was the friends we made along the way

I've tried these larger agent skillsets in the past and felt it was a waste of time because it was just doing too much. Just like vim it's often better to pick and choose from the community instead of installing skills like they are an IDE. Skills are way too personal because every dev and dev team is different. So better to treat these as a reference for your own config rather than bulk install someone else's config.
Why are people so excited to put themselves out of a job?

Not that these or any "skills" will do that, but just- in principle. This is like alienation from labor at scale.

Survival instincts. If everyone and everything around you (your job included) is shouting "use AI" it's difficult to take any stand or introduce caution. I think it's less about being excited, more about hoping to not miss the wave and get "left behind."

I think both groups (pro vs anti) will be a bit surprised when the long-term data shows productivity gains were modest on average and producing quality software still needs care/human attention, even with the support of advanced, frontier models. Same job as before, now we just have a power drill instead of a screwdriver. Some people build houses that stand for hundreds of years, others less so.

We've been automating stuff for 60 years, and it only leads to more automation.

At the end of the day, the more automation, the more people you need making sure things work.

There's always going to be a minimal bottleneck for how much an engineer can oversee if they need to do zero implementation.

We're not as far from that point as people think.

Most languages most things are developed in are 10x more expensive than languages of yore.

Rust has a bad reputation for being hard, but it is actually quite expressive.

Less than 50% of what engineers do is code.

IBM was famous, in the early 2000s, for the average dev writing one line of code per day on average.

We're just going to move to a world where the average dev spends <10% of their time coding, but there's likely to be x times more work, so it mostly evens out.

There’s so many ways, many redundant, to set up agents for software development that beyond personal/team/org needs+tastes, I need to look into setting up some benchmarks to evaluate what set up is optimal or whether the differences are even worth it.
Recently I have got an access(enterprise)to the latest ChatGPT module with an ability to write skills to automate repeatable taks. Without any prior knowledge I just started tinkering and now after creating and testing multiple skills in real business environment I can confidently say writing a good skill is a skill itself. As the author mentioned it's not an essay but a specific instructions sets organised in steps and in a concise manner.
I really wish he wouldn't use AI to write his posts. It would be faster to just post the prompt he used to write the article
Snake oil. Good to read for sure. Seems all plausible too. But snake oil nevertheless.

Here's why: The slot machine can drop any hard requirement that you specifically in your AGENTS.md, memory.md or your dozens of skill markdowns. Pretty much guaranteed.

These harnesses approaches pretend as if LLMs are strict and perfect rule followers and the only problem is not being able to specify enough rules clearly enough. That's fundamental cognitive lapse in how LLMs operate.

That leaves only one option not reliable but more reliable nevertheless: Human review and oversight. Possibly two of them one after the other.

Everything else is snake oil but at that point, you also realize that promised productivity gains are also snake oil because reading code and building a mental model is way harder than having a mental model and writing it into code.

> The slot machine can drop any hard requirement that you specifically in your AGENTS.md, memory.md or your dozens of skill markdowns. Pretty much guaranteed.

Indeed. That said, I’ve had some success with agent skills, but I use them to make the LLM aware of things it can do using specific external tools. I think it is a really bad idea to use this mechanism to enforce safety rules. We need good sandboxing for this, and promises from a model prone to getting off the rails is not a good substitute.

But I have taught my coding agent to use some ad hoc tools to gather statistics from a directory containing experimental data and things like that. Nobody is going to fine tune a LLM specifically for my field (condensed matter Physics) but using skills I still can make it useful work. Like monitoring simulations where some runs can fail for various reasons and each time we must choose whether to run another iteration or re-start from a previous point, based on eyeballing the results ("the energy is very strange, we should restart properly and flag for review if it is still weird", this sort of things). I don’t give too many rules to the agent, I just give it ways of solving specific problems that may arise.

A slot machine isn't snake oil.

Slot machine give you rewards when star aligns, snake oil never do :)

All these points apply to human devs as well. The test is not infallibility but magnitude
> That leaves only one option not reliable but more reliable nevertheless: Human review and oversight.

Couldn't non-manual oversight also help e.g. sandboxes?

Helps if you both hand to original agent as strong guidance and then to an adversarial agent as a quality reviewer. The adversarial agent is more likely tro loop the work back if it fails the validation criteria.

I do find that just asking the same agent to do and check it's own work is not particularly reliable.

This is like saying a +5 sword is useless because you still miss on a one. We’ve got to think about expected outcomes. Because if ahe’s merging five solid PRs to your three, loudly complaining about the one she saw was rubbish and threw away.
Agree. Human review and iteration. Hooks to gate certain decisions you dont want to happen again, like functional scars.
Lately I keep hearing the same thing over and over: the things that are good for managing a team of devs are good for LLMs.

Good test cases.

Clear and concise documentation.

CI/CD.

Best practices and onboarding docs.

Managing LLMs is becoming more and more similar to managing teams of people.

Yep, I've been saying this for about a year now. Actually gave a presentation on this internally with this exact anecdote :D

There are so many bad analogies I could use to describe it, but they're all bad so I won't try.