Skip to content

Commit 5d7c866

Browse files
committed
Add post on executable Markdown specs
1 parent 0fddf8d commit 5d7c866

6 files changed

Lines changed: 365 additions & 0 deletions

File tree

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
---
2+
published: true
3+
layout: post
4+
image: /assets/article_images/2026-05-13-executable-markdown-specs-agentic-coding/section-5-bdd-ai-loop.svg
5+
image_width: 1400
6+
image_height: 788
7+
title: Executable Markdown Specs Are the Control Surface for Agentic Coding
8+
context: Lightning Talk
9+
---
10+
11+
Agentic software is changing how we build.
12+
13+
As agentic coding becomes more common, **specifications are becoming the control surface**. The goal is longer autonomous execution loops: give an agent intent, let it plan, let it build, let it run checks, and keep going.
14+
15+
The constraint is also obvious: **agents need precise intent**.
16+
17+
The workflow many of us are moving toward is:
18+
19+
> **Spec as prompt → Plan → Build → Automated tests → CI validates behaviour**
20+
21+
Weak specs lead to unreliable autonomy. Strong, executable specs make autonomy safer.
22+
23+
That is why I think the practical future of spec-driven development is not only new tooling. It is also a proven software engineering pattern becoming much more important again:
24+
25+
> **Executable Markdown specifications enforced in CI.**
26+
27+
## 1. Agentic software is changing how we build
28+
29+
![Tool-card image showing Claude Code, OpenCode, Cursor, and Goose around autonomous coding loops](/assets/article_images/2026-05-13-executable-markdown-specs-agentic-coding/section-1-agentic-software.svg)
30+
31+
Agentic coding is increasingly common. Tools like Claude Code, OpenCode, Cursor, and Goose point at the same direction: longer loops where the system can take intent and move from analysis into implementation.
32+
33+
But the key constraint remains intent.
34+
35+
The emerging workflow is simple:
36+
37+
1. **Spec as prompt**
38+
2. **Plan**
39+
3. **Build**
40+
4. **Automated tests**
41+
42+
That fourth step matters. Without automated tests, the loop depends too much on human review. With tests, the agent has a feedback signal it can use while working.
43+
44+
Weak specs still produce weak outcomes. LLMs do not remove ambiguity. They often scale it.
45+
46+
## 2. The industry is converging on “spec-first”
47+
48+
![Tool-card image showing SpecKit, spec-driven development, structured prompts, and prompt to plan to build pipelines](/assets/article_images/2026-05-13-executable-markdown-specs-agentic-coding/section-2-spec-first-convergence.svg)
49+
50+
The industry is already converging on “spec-first”.
51+
52+
You can see it in SpecKit-style workflows, spec-driven development tools, and structured prompt → plan → build pipelines.
53+
54+
These approaches work best for:
55+
56+
* greenfield setup
57+
* initial decomposition of features
58+
* turning a rough idea into a first plan
59+
60+
But they still struggle with the harder part of software development:
61+
62+
* iterative development
63+
* evolving systems
64+
* ongoing spec maintenance
65+
66+
Generating a plan from a spec is useful. Keeping the spec correct as the system changes is the real problem.
67+
68+
That problem remains unsolved at scale.
69+
70+
## 3. The proven pattern already exists
71+
72+
![Tool-card image showing Specification by Example, BDD, Cucumber, Gauge, Gherkin, and Markdown specs as executable contracts](/assets/article_images/2026-05-13-executable-markdown-specs-agentic-coding/section-3-executable-contracts.svg)
73+
74+
The proven pattern already exists: **behaviour-driven, example-based specifications**.
75+
76+
This is the core idea behind BDD and Specification by Example:
77+
78+
* define behaviour as concrete examples
79+
* express scenarios of system behaviour
80+
* execute them as part of CI
81+
82+
The key idea is simple:
83+
84+
> **Specifications are not documents. They are executable behaviour contracts.**
85+
86+
That directly solves the problems agentic development exposes:
87+
88+
* **Ambiguity** — examples make intent concrete.
89+
* **Misalignment** — humans and agents can work from the same behaviour contract.
90+
* **Spec drift** — the build fails when behaviour no longer matches the spec.
91+
92+
The important part is not BDD ceremony. It is the feedback loop.
93+
94+
If the spec is continuously validated by the build, it does not silently rot.
95+
96+
## 4. Why this matters more with AI
97+
98+
![Diagram showing LLMs amplifying strong specifications into reliable autonomy and weak specifications into incorrect behaviour](/assets/article_images/2026-05-13-executable-markdown-specs-agentic-coding/section-4-ai-amplifies-spec-quality.svg)
99+
100+
LLMs amplify spec quality.
101+
102+
Strong specs make autonomous execution more reliable. Weak specs create scalable incorrect behaviour. Ambiguity gets amplified, not resolved.
103+
104+
So the bottleneck moves.
105+
106+
It is no longer only about how quickly we can generate code. The bottleneck becomes the **quality and executability of the specification itself**.
107+
108+
This is why CI-enforced specs matter.
109+
110+
A Markdown document in a repo can still drift. A ticket can go stale. A Confluence page can become archaeological evidence.
111+
112+
But an executable spec that runs in CI fails loudly.
113+
114+
That loud failure is the point. It tells humans and agents that either the implementation is wrong, or the behaviour contract must be updated deliberately.
115+
116+
## 5. BDD + AI = spec-driven development loop
117+
118+
![Loop diagram showing Spec as prompt to Plan to Build to Automated tests to CI validates behaviour](/assets/article_images/2026-05-13-executable-markdown-specs-agentic-coding/section-5-bdd-ai-loop.svg)
119+
120+
Put together, the practical workflow becomes:
121+
122+
1. **Spec as prompt**
123+
2. **Plan**
124+
3. **Build**
125+
4. **Automated tests**
126+
5. **CI validates behaviour**
127+
128+
This is where BDD and AI fit together naturally.
129+
130+
The spec gives the agent intent. The plan gives it structure. The build changes the system. Automated tests give fast feedback. CI enforces the behaviour contract over time.
131+
132+
Gauge fits this model well:
133+
134+
* specs are Markdown-based
135+
* scenarios are human-readable and LLM-readable
136+
* executable scenarios are tied to code
137+
* Markdown lives naturally in the repo
138+
* CI can enforce the behaviour continuously
139+
140+
Markdown itself becomes a superpower in LLM workflows. It is readable by humans, easy for LLMs to consume, reviewable in pull requests, and close enough to code to become part of the engineering system.
141+
142+
The final point:
143+
144+
> **The future is not only new spec-driven tools. It is executable Markdown specs enforced in CI.**
Lines changed: 42 additions & 0 deletions
Loading
Lines changed: 42 additions & 0 deletions
Loading
Lines changed: 47 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)