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, …).
You do not hand-author ISL or the app.
a-isl-spec-author``*.isl.md only
a-isl-compile`` bin-<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).
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.
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.
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.
Modules, evolution via Spec, multi-stack. For a one-shot script, a normal prompt is enough — Spec→Compile costs more turns on purpose.
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
Tutorial: docs/tutorial-first-project.md