Pure-Agentic Application: Behavior in Markdown, Primitives in Code
The one-sentence claim
An application counts as "pure-agentic" not because it has zero compiled code, but because its behavior lives entirely in markdown the agent reads and reasons over — compiled code is reserved for the OS primitives markdown genuinely cannot reach.
Why this is in the vault
Three IndyDevDan sources converge on the same partition line, and it's a partition RDCO's own skill library keeps bumping into without a name for it. [[2026-04-20-indydevdan-library-meta-skill]] is the clean case: a "library" skill implements add/use/push/list/search/sync entirely as agent reasoning over markdown files plus git operations — no application code at all, because none of those six verbs need anything the OS doesn't already expose through the shell. [[2026-04-20-indydevdan-agent-experts-self-improving]] pushes the same idea into self-improvement: an expertise.yml plus agent reasoning is the whole mechanism, no training loop, no code. [[2026-04-20-indy-dev-dan-mac-mini-agents-openclaw-nightmare-skills-instead]] is the source that sharpens the boundary rather than just restating it: a device-control agent needs macOS Accessibility APIs, tmux, and network listening, none of which markdown can call directly — so that source ships 4 compiled CLIs for OS-primitive access and only 2 SKILL.md files for behavior. The pattern isn't "avoid code," it's "code is for primitives, markdown is for behavior," and the mac-mini-agent source is the one that makes this falsifiable — you can point at a specific capability and ask which side of the line it's on.
Mapping against Ray Data Co
RDCO's own /process-newsletter is the mixed case worth naming explicitly: it has an editorial markdown layer (the assessment template, the bias/sponsor framing) and a Python audit script (audit-newsletter-outputs.py) doing structural checks. Per the pattern, the audit script is legitimate — frontmatter completeness, tag presence, and cross-link density are closer to OS-primitive-style deterministic checks than to behavior — but the boundary should be checked deliberately rather than accreted by habit. The generalizable test for any new skill, before the first line of Python gets written: does this need an OS primitive (filesystem locking, network calls, GUI control, anything markdown can't express) or is it reasoning over structured text? If the latter, it should be a SKILL.md, full stop — every line of code beyond that is dependency surface that makes the skill less portable across Claude Code, Cursor, and any other agent harness. This is the same criterion [[skills-as-building-blocks]] argues for at the composition level; CA-020 is the finer-grained version that applies inside a single skill's implementation.
Related
- [[2026-04-20-indydevdan-library-meta-skill]] — canonical fully pure-agentic exemplar
- [[2026-04-20-indydevdan-agent-experts-self-improving]] — expertise.yml + reasoning, no training loop
- [[2026-04-20-indy-dev-dan-mac-mini-agents-openclaw-nightmare-skills-instead]] — the OS-primitive vs behavior-layer partition, the source that makes the line falsifiable
- [[skills-as-building-blocks]] — companion concept at the composition (multi-skill) level; CA-020 operates one level down, inside a single skill
- [[CANDIDATES]] — parent backlog; CA-020 origin trace
Confidence
Three sources, canon-tier minimum. All three are IndyDevDan — one voice, one community. The pattern is plausible on priors (it matches how Unix philosophy separates syscalls from shell scripts) but the vault doesn't yet have an independent confirming source from outside that cluster. Treat the "code for primitives, markdown for behavior" rule as a working heuristic for RDCO skill design, not as settled doctrine — a second source (an Anthropic engineering post on skill-only patterns, or a contrasting counter-example where the partition breaks down) would meaningfully harden this.