Ep 199 Thread 5:44 w/ Jessica & Cathy

Skill Graphs > SKILL

Jessica and Cathy dig into Heinrich's 'Skill Graphs > SKILL.md' post — the argument that a single skill file is a dead end for complex domains, and that wikilink-connected graphs of small markdown files let agents navigate knowledge rather than just receive it. They work through what's genuinely new here versus repackaged context engineering, and whether the arscontexta plugin is a real workflow change or a clever demo.

Embed this episode

Paste this on any site — the player is a self-contained iframe with no cookies or trackers.

<iframe src="https://sandrise.io/exploring-next/embed/199"
  width="100%" height="180" style="max-width:640px;border:0;border-radius:12px;overflow:hidden"
  title="Exploring Next — Episode 199 audio player"
  loading="lazy" allow="autoplay" referrerpolicy="strict-origin-when-cross-origin"></iframe>
Embed & API docs →
Script Sonnet 4.6 Voice Cartesia TTS

Transcript

Jessica Okay so Heinrich drops this post and the headline is basically: your SKILL.md is a dead end. Not a critique of skills as a concept — a critique of the flat file.

Cathy Which, honestly, is a more interesting argument than the usual 'prompts are bad, agents are good' thing. The flat file critique has a real mechanism behind it. One file can hold one thought pretty well. It cannot hold a domain.

Jessica Right, and he's not being abstract about it. His example is a therapy skill — you want cognitive behavioral patterns, attachment theory, active listening, emotional regulation — that's not one thought, that's a whole field with internal relationships.

Cathy Yeah.

Cathy So the graph answer is: don't try to hold it in one file. Build a network of small markdown files connected by wikilinks, each one a complete single thought, and let the agent navigate. Every node has a Y A M L description it can scan without reading the whole file. Most decisions happen before a full file is ever loaded.

Jessica That progressive disclosure framing — index, then descriptions, then links, then sections, then full content — that's the part I kept coming back to. Because the agent isn't just fetching, it's traversing. It knows why to follow a link because the wikilink is woven into prose, not just dropped as a reference.

Cathy Okay, that detail is doing real work. A link in a sentence carries context. 'When the client escalates emotionally, see ]' is different from a lookup table that just lists 'emotional-regulation.md.' The agent knows the condition under which to follow it.

Jessica Which is — I mean, that's the whole thing, right? That's the difference between an agent that has instructions and an agent that has a map.

Cathy Sure. I want to poke at the edges though, because 'skill graphs are the next step' is a big claim and the maintenance story is not free. Every wikilink is a dependency. You update one node, you have to think about what points to it. In a domain that evolves fast — say, compliance requirements, jurisdiction specifics — that graph rots.

Jessica Fair.

Cathy And the arscontexta plugin ships two hundred and forty-nine connected files. That's a worked example, not a demo. But two hundred and forty-nine files of structured knowledge about building knowledge systems is also a thing someone has to maintain.

Jessica He's sort of upfront about that — the plugin is specifically about building skill graphs, so the graph is eating its own cooking. It's teaching the agent how to build the structure it's running on. Which is either elegant or extremely recursive depending on your mood.

Cathy It's genuinely recursive. I'm not even being sarcastic.

Jessica Okay, that's good. I was ready for the eye-roll.

Cathy I mean — the thing I actually find interesting is that this isn't wild new technology. Wikilinks, Y A M L frontmatter, Maps of Content — these are Obsidian primitives. The move Heinrich is making is applying the Zettelkasten insight to agent context. One complete thought per node, links that carry meaning, navigable structure. That's not a new idea about knowledge. It's a new application of it.

Jessica Which maybe makes it more durable? Like, Zettelkasten has been around since Luhmann and it still works. If the primitives are that stable, maybe the maintenance problem is more manageable than it looks.

Cathy Hm.

Cathy Maybe. The friction point I keep landing on is retrieval quality at graph scale. The agent scans Y A M L descriptions to decide which links to follow — that scan is cheap, but it's only as good as how well the descriptions were written. If you have two hundred nodes and ten of them could plausibly match the current context, the agent's traversal path is basically a ranking problem. And nobody in the post is talking about what happens when the graph gets noisy.

Jessica That's the real product question for me — who's actually going to build and maintain one of these at the depth where it pays off. The legal skill graph he sketches, contract patterns, compliance, jurisdiction specifics, precedent chains — that's legitimately useful and it's the kind of thing a law firm's knowledge team might actually invest in. That domain has the internal relationships that make a graph worth it.

Cathy Right, and that's the test I'd apply. Does your domain have REAL internal relationships, or are you just adding structure for its own sake? A summarization skill doesn't need a graph. A therapy skill or a trading strategy might, because the concepts genuinely depend on each other.

Jessica We keep coming back to this with context engineering generally — the wrapper only earns its keep when the structure is doing load-bearing work. Same call as the ontology episode, basically.

Cathy Yeah, this is basically ep nine ninety-six with wikilinks instead of a semantic layer. The move is the same: make the knowledge queryable at runtime instead of dumping it into context.

Jessica The arscontexta repo is on GitHub — three and a half thousand stars, which for a Claude Code plugin is not nothing. If you're already living in Claude Code and you work in a domain with real conceptual depth, I'd at least fork it and see how the traversal actually behaves on something you know well.

Cathy That's the honest experiment. Build a small graph on something you already understand, watch where the agent goes wrong, and then you'll know if the Y A M L scanning is actually doing what he claims.

Jessica Alright, Cathy — episode one ninety-nine and we're still out here arguing about what counts as a skill. Almost a year of this and somehow the answer keeps being 'it depends on the domain.'

Cathy To be fair, 'it depends on the domain' is a correct answer. We just keep finding new ways to rediscover it.