Spec to Compile for coding agents: A-ISL (experimental)
Repo: fra00/a-isl-agents. I got tired of two extremes: one-shot prompts that disappear into the chat, and hand-written specs nobody maintains. A-ISL is an experiment in the middle: you describe the product in natural l
Repo: fra00/a-isl-agents.
I got tired of two extremes: one-shot prompts that disappear into the chat, and hand-written specs nobody maintains.
A-ISL is an experiment in the middle: you describe the product in natural language; a coding agent writes a reviewable Spec in classic ISL (.isl.md); you accept it; then you explicitly ask another skill to compile that Spec into bin-\<stack>/ (React, Blazor, WinForms, C# library, β¦).
The agentic part (easy to miss)
You do not hand-author ISL or the app.
- Skill
a-isl-spec-authorβ agent writes*.isl.mdonly - You review (product sense first β you donβt need to know the grammar)
- Skill
a-isl-compileβ agent regeneratesbin-<stack>/via a small runtime (builder β queue β packet β lock)
Spec never auto-chains into bin/. Thatβs the whole point: human gate, not autopilot.
Same Spec can compile to more than one stack without rewriting intent β see the sheet demo (React / Blazor / WinForms).
Who decides what
A-ISL does not invent the product. You decide behavior and accept the Spec. Wrong Spec that compiles is still βfaithful.β That boundary is intentional.
What we measured
Internal bench (tariffe-v2, closed Domain/Logic rules, N=5):
| Campaign | Stack | First full-pass | Final |
|---|---|---|---|
| A-ISL | react-js | 5/5 | 5/5 |
| Single prompt | react-js | 5/5 | 5/5 |
| A-ISL | csharp | 5/5 | 5/5 |
| Prompt (open DTO style) | csharp | 1/5 | 5/5 |
| Prompt + same βprefer recordsβ rule | csharp | 5/5 | 5/5 |
Regression check, not a leaderboard. On a small closed-rules task, Spec β Compile matches a single prompt (5/5 vs 5/5 on JS). On C#, a prompt that left DTO style open dropped to 1/5 on first pass; adding the same βprefer recordsβ rule closed the gap. The expected payoff is on large or multi-module projects and on change-via-Spec. This bench does not demonstrate that; it only supports non-regression on a small closed oracle.
Full honesty: evaluation.md.
Hosts
Runtime is agent-agnostic. Skills ship for Cursor, Claude Code, and GitHub Copilot (same text, synced). Day-to-day use and the bench were on Cursor; other hosts are not separately tested yet.
When it might pay off
Modules, evolution via Spec, multi-stack. For a one-shot script, a normal prompt is enough β SpecβCompile costs more turns on purpose.
Try it
Prerequisites: Node.js 18+; for Blazor / WinForms sheet demos, a .NET SDK (WinForms needs Windows targeting).
git clone https://github.com/fra00/a-isl-agents.git
cd a-isl-agents && npm install && npm --prefix runtime/lint install
# open in your agent β /a-isl-spec-author β review β /a-isl-compile
Tutorial: docs/tutorial-first-project.md
Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes β full credit and traffic to the original publisher.