Comment by matt_s

4 days ago

Agents, skills and rules are just text files with instructions to the LLMs on how you like your output. At this point I don't think it really matters what you call anything or where you put them in your system, as long as you tell the agent/clanker of your choice where these files are located.

The key point is you are breaking up the context of what you are building into smaller areas of focus. The smaller contexts allow agents to do work with only the context of what their tasks are, so you have less of a chance of hallucinations and they each get a larger context window than they would if you had all of your context written out into a single text file.

This is why a lot of folks call them junior engineers. You wouldn't ask a junior engineer to "act as a senior expert JS developer and build a front end for a SaaS project management app" and expect them to do it with good output. You need to define specific things you want done and how you want them done - "use react, call APIs for data, APIs should be RESTful, etc." You can add personas to them if you like and personalities but thats more for entertainment.

> text files with instructions to the LLMs

this is true for both mardown and normative specs

what's meaningfully different is that normative specs is something you can deterministically check for conformance with, use generative tests, etc and feed that information back into the agent loop

letting the same LLM generate both implementation and tests from markdown prompt is a) completely meaningless, because once the agent is done and test suite is green you still have no idea if the right thing was implemented and if the right thing is being tested; b) useless waste of tokens, because why would you spend them on probabilistic generation of tests that likely contain hallucinations if you could instead deterministically generate them from normative spec using external tool