skillscript-runtime 0.5.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -32
- package/dist/compile.js +28 -1
- package/dist/compile.js.map +1 -1
- package/dist/lint.js +14 -9
- package/dist/lint.js.map +1 -1
- package/dist/parser.d.ts +26 -1
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +258 -24
- package/dist/parser.js.map +1 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +80 -15
- package/dist/runtime.js.map +1 -1
- package/examples/classify-support-ticket.skill.md +13 -13
- package/examples/cut-release-tag.skill.md +14 -14
- package/examples/doc-qa-with-citations.skill.md +3 -3
- package/examples/feedback-sentiment-scan.skill.md +13 -13
- package/examples/hello.skill.md +2 -2
- package/examples/hello.skill.provenance.json +1 -1
- package/examples/morning-brief.skill.md +6 -6
- package/examples/queue-length-monitor.skill.md +4 -4
- package/examples/service-health-watch.skill.md +7 -7
- package/examples/youtrack-morning-sweep.skill.md +4 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*A language for agents to write themselves in.*
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/skillscript-runtime)
|
|
6
|
-
[](#)
|
|
7
7
|
[](LICENSE)
|
|
8
8
|
[](#status)
|
|
9
9
|
|
|
@@ -59,13 +59,13 @@ A skillscript skill is a declarative recipe, a small program with a dependency D
|
|
|
59
59
|
# Vars: WHO=world
|
|
60
60
|
|
|
61
61
|
greet:
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
emit(text="Hello, ${WHO}!")
|
|
63
|
+
emit(text="Welcome to Skillscript.")
|
|
64
64
|
|
|
65
65
|
default: greet
|
|
66
66
|
```
|
|
67
67
|
|
|
68
|
-
That's a complete, runnable skill. Five lines, no dependencies, no boilerplate. The same shape scales to multi-stage DAGs that classify inputs, dispatch to
|
|
68
|
+
That's a complete, runnable skill. Five lines, no dependencies, no boilerplate. The same shape scales to multi-stage DAGs that classify inputs, dispatch to LLMs, query memory stores, branch on conditions, and orchestrate sub-agents, all in the same declarative grammar.
|
|
69
69
|
|
|
70
70
|
## Why a new language
|
|
71
71
|
|
|
@@ -128,23 +128,23 @@ This is what makes *"Headless monitor → wake agent with context"* a real compo
|
|
|
128
128
|
|
|
129
129
|
### Local models as tools for the frontier
|
|
130
130
|
|
|
131
|
-
Most agent systems treat local models as *substitutes* for frontier inference. Call them instead of the frontier when latency or cost matters. Skillscript treats them as something different: *delegation targets the frontier orchestrates*. The frontier composes the workflow; each
|
|
131
|
+
Most agent systems treat local models as *substitutes* for frontier inference. Call them instead of the frontier when latency or cost matters. Skillscript treats them as something different: *delegation targets the frontier orchestrates*. The frontier composes the workflow; each LLM dispatch is the frontier handing off a bounded sub-task (classify a message, extract a field, judge whether two strings refer to the same thing, summarize a chunk, format a response) to a local or smaller model and consuming the result.
|
|
132
132
|
|
|
133
|
-
In skillscript, this isn't a separate "local-model interplay" pattern adopters bolt on — it's a
|
|
133
|
+
In skillscript, this isn't a separate "local-model interplay" pattern adopters bolt on — it's just **MCP dispatch through a connector named whatever your substrate calls it**. `$ llm prompt="..." -> RESULT` (Tradita's `llm` connector points at amp's local model; an OpenAI-shop wires `openai_chat`, a Pinecone-shop wires `claude_messages`) lives next to any other `$ tool args -> RESULT` in the skill body, with the same op-level discipline, the same trace surface, the same lint coverage. The language has no built-in LLM keyword — adopters wire their substrate.
|
|
134
134
|
|
|
135
|
-
The cost shape that follows: routine work runs at local-model cost (free at scale, fast, private to the host); the frontier model intervenes only at orchestration boundaries and ambiguous cases. Customer data flowing through
|
|
135
|
+
The cost shape that follows: routine work runs at local-model cost (free at scale, fast, private to the host); the frontier model intervenes only at orchestration boundaries and ambiguous cases. Customer data flowing through bounded sub-tasks never reaches an external API when the wired connector is local. The local-model layer becomes the privacy boundary, not a separate add-on.
|
|
136
136
|
|
|
137
137
|
### Composition: skills calling skills
|
|
138
138
|
|
|
139
|
-
A skill can invoke another skill via
|
|
139
|
+
A skill can invoke another skill via `execute_skill(...)`:
|
|
140
140
|
|
|
141
141
|
```
|
|
142
142
|
parent:
|
|
143
|
-
|
|
144
|
-
|
|
143
|
+
execute_skill(skill_name="extract-json-number", JSON_BLOB="${RAW}", FIELD_PATH="total_count") -> RESULT
|
|
144
|
+
emit(text="Extracted: ${RESULT.final_vars.VALUE|trim}")
|
|
145
145
|
```
|
|
146
146
|
|
|
147
|
-
The child skill runs to completion against the runtime's wired connectors, returns its full execution record (final vars, transcript, outputs), and binds to the parent's named variable. Field access on the bound result (`$
|
|
147
|
+
The child skill runs to completion against the runtime's wired connectors, returns its full execution record (final vars, transcript, outputs), and binds to the parent's named variable. Field access on the bound result (`${RESULT.final_vars.X}`) lets the parent reach into whatever the child produced.
|
|
148
148
|
|
|
149
149
|
Composition is what makes skill libraries accumulate. Utility skills (`extract-json-number`, `summarize-thread`, `classify-urgency`) get authored once and orchestrated forever. The composition primitive is symmetric across the MCP surface — `execute_skill({skill_name, inputs?, mechanical?})` works the same way at the runtime entry point as it does inside a skill body. `mechanical: true` previews the dispatch graph without firing real ops, propagating through nested composition calls. TestFlight your multi-skill chains before commitment.
|
|
150
150
|
|
|
@@ -152,7 +152,7 @@ Composition is what makes skill libraries accumulate. Utility skills (`extract-j
|
|
|
152
152
|
|
|
153
153
|
Skills have an execution model orthogonal to their kind. A **dynamic skill** requires the Skillscript runtime to execute — the runtime walks the DAG, fires dispatches against wired connectors, threads outputs. A **static skill** compiles to a portable artifact that any agent capable of reading prose can execute without the runtime.
|
|
154
154
|
|
|
155
|
-
The static case matters for shareable artifacts. A skill whose body has only
|
|
155
|
+
The static case matters for shareable artifacts. A skill whose body has only `emit(...)` ops (no `$ tool` MCP dispatches, no `shell(...)`, no `file_read`/`file_write`) compiles to a self-contained recipe. Email it, post it, hand it to a frontier agent in a different environment — they read the compiled output and execute the steps using their own tools. The skill becomes the deliverable.
|
|
156
156
|
|
|
157
157
|
Template-kind skills are the canonical static shape; their compiled artifact is the prompt the receiving agent acts on. Headless and Augmenting skills are usually dynamic. The axes are independent — author the combination the work calls for.
|
|
158
158
|
|
|
@@ -163,9 +163,9 @@ Template-kind skills are the canonical static shape; their compiled artifact is
|
|
|
163
163
|
# Vars: TICKETS_JSON=[...]
|
|
164
164
|
|
|
165
165
|
walk:
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
166
|
+
emit(text="For each ticket in the input, classify urgency as critical/normal/low.")
|
|
167
|
+
emit(text="For critical tickets, suggest immediate owner from the runbook.")
|
|
168
|
+
emit(text="Input: ${TICKETS_JSON}")
|
|
169
169
|
|
|
170
170
|
default: walk
|
|
171
171
|
```
|
|
@@ -207,7 +207,7 @@ mkdir -p ./skills && cat > ./skills/hello.skill.md <<'EOF'
|
|
|
207
207
|
# Vars: WHO=world
|
|
208
208
|
|
|
209
209
|
greet:
|
|
210
|
-
|
|
210
|
+
emit(text="Hello, ${WHO}!")
|
|
211
211
|
|
|
212
212
|
default: greet
|
|
213
213
|
EOF
|
|
@@ -232,16 +232,16 @@ docker run -p 7878:7878 -v $(pwd)/skills:/skills \
|
|
|
232
232
|
|
|
233
233
|
## Connector model
|
|
234
234
|
|
|
235
|
-
Skills don't know what they're talking to.
|
|
235
|
+
Skills don't know what they're talking to. The language ships with two intrinsic contracts; everything else is MCP dispatch through adopter-wired connectors.
|
|
236
236
|
|
|
237
237
|
| Contract | Purpose | Routes |
|
|
238
238
|
|---|---|---|
|
|
239
239
|
| `SkillStore` | Skill source persistence | `.skill.md` files (filesystem default) |
|
|
240
|
-
| `
|
|
241
|
-
| `LocalModel` | Local LLM dispatch (Ollama default) | `~` ops |
|
|
242
|
-
| `McpConnector` | MCP tool invocation | `$` ops |
|
|
240
|
+
| `McpConnector` | MCP tool invocation — all external dispatch | `$ <connector> args` ops |
|
|
243
241
|
| `AgentConnector` | Delivery to a frontier agent | `prompt-context:` and `template:` outputs |
|
|
244
242
|
|
|
243
|
+
**v0.7.0 substrate framing:** the language no longer treats LLM calls or memory queries as language-special operations. They're MCP dispatch through whatever connector names you wire. Tradita uses `llm` (pointing at amp's local model) and `memory` (pointing at amp's memory store); an OpenAI shop might wire `openai_chat`, a Pinecone shop `pinecone_query`. Skill source is portable — only `connectors.json` changes per adopter.
|
|
244
|
+
|
|
245
245
|
Wire your own by implementing the interface and registering in `connectors.json`. See [`docs/language-reference.md`](docs/language-reference.md) §10 for full contracts.
|
|
246
246
|
|
|
247
247
|
### `connectors.json` (v0.4.0)
|
|
@@ -309,17 +309,17 @@ This is the "agent reaches MCP" path — an external agent (Claude, GPT, anythin
|
|
|
309
309
|
|
|
310
310
|
## Examples
|
|
311
311
|
|
|
312
|
-
|
|
312
|
+
Nine curated example skills in [`examples/`](examples/), migrated to canonical v0.7.0 syntax, covering:
|
|
313
313
|
|
|
314
314
|
- Multi-target DAG with `needs:` dependencies
|
|
315
315
|
- Cron triggers with `# OnError:` fallback
|
|
316
316
|
- Session-start `prompt-context:` delivery
|
|
317
|
-
-
|
|
317
|
+
- `ask(prompt=...)` interactive pattern
|
|
318
318
|
- `# Requires:` cascade for compile-time data
|
|
319
|
-
-
|
|
320
|
-
-
|
|
319
|
+
- `inline(skill=...)` skill composition
|
|
320
|
+
- `execute_skill(...)` skill-to-skill composition
|
|
321
321
|
|
|
322
|
-
Each example is annotated with the language pattern it demonstrates.
|
|
322
|
+
Each example is annotated with the language pattern it demonstrates. The pre-v0.7.0 cold-author harness corpus (R1/R2/R3 from v0.2.9 production) was retired in the v0.7.0 syntax revamp — pre-adoption means no external users depend on backwards-compat regression coverage. The R4 harness round will produce fresh canonical-form fixtures.
|
|
323
323
|
|
|
324
324
|
## Architecture and deep documentation
|
|
325
325
|
|
|
@@ -328,15 +328,19 @@ Each example is annotated with the language pattern it demonstrates. Authored fr
|
|
|
328
328
|
|
|
329
329
|
## Status
|
|
330
330
|
|
|
331
|
-
**v0.
|
|
331
|
+
**v0.7.0** — pre-1.0, breaking changes still expected through the v0.7→v1.0 arc. The language is stable enough to author production skills; v0.7.0 locks the canonical surface (`${VAR}` substitution, function-call op grammar, substrate-portable connectors) ahead of external adoption.
|
|
332
332
|
|
|
333
|
-
Test coverage:
|
|
333
|
+
Test coverage: 896/896 passing (10 skipped, 1 env-gated YouTrack). Narrow-core LOC under the 7150/20-file ceiling per ERD.
|
|
334
334
|
|
|
335
|
-
What's coming next:
|
|
336
|
-
-
|
|
337
|
-
- **
|
|
338
|
-
- **
|
|
339
|
-
-
|
|
335
|
+
What's coming next (per the locked v0.7→v1.0 roadmap):
|
|
336
|
+
- **v0.7.x** — tier-2 `deprecated-symbol-op` + `deprecated-substitution-shape` lints (visibility nudges during grace period); `unconfirmed-mutation` broadened to use the captured `approved="..."` kwarg + cover `file_write` / `$ memory_write`
|
|
337
|
+
- **v0.8** — tool-schema introspection: `runtime_capabilities({schemas: true})` exposes per-tool JSON-Schema from MCP `tools/list`; compile-time `mcp-arg-out-of-range` + `mcp-unknown-kwarg` lints
|
|
338
|
+
- **v0.9** — pagination / `while` loop primitive
|
|
339
|
+
- **v0.10** — `foreach parallel` dispatch
|
|
340
|
+
- **v0.11** — Phase 2 trigger sources (event + agent-event)
|
|
341
|
+
- **v0.12** — output routers (slack + card)
|
|
342
|
+
- **v0.13** — emit-as-binding + op-level `(fallback:)` uniformity
|
|
343
|
+
- **v1.0** — API stability commitment, gates on real-user adoption (not just harness rounds)
|
|
340
344
|
|
|
341
345
|
## Contributing
|
|
342
346
|
|
package/dist/compile.js
CHANGED
|
@@ -370,7 +370,11 @@ function substitute(body, resolved) {
|
|
|
370
370
|
// include `|fallback:"X"` parse here too. Compile-time substitution only
|
|
371
371
|
// applies the first filter (chain support stayed runtime-only); refs
|
|
372
372
|
// with chained filters pass through verbatim for runtime to handle.
|
|
373
|
-
|
|
373
|
+
// v0.7.0: accepts both `$(REF)` (legacy) and `${REF}` (canonical).
|
|
374
|
+
// Capture groups: 1+2 = paren form, 3+4 = brace form.
|
|
375
|
+
return body.replace(/\$(?:\(([^|)\s]+)\s*(?:\|\s*([A-Za-z_]\w*)(?:\s*:\s*"[^"]*")?)?\s*\)|\{([^|}\s]+)\s*(?:\|\s*([A-Za-z_]\w*)(?:\s*:\s*"[^"]*")?)?\s*\})/g, (match, name1, filter1, name2, filter2) => {
|
|
376
|
+
const name = (name1 ?? name2);
|
|
377
|
+
const filter = filter1 ?? filter2;
|
|
374
378
|
if (!resolved.has(name))
|
|
375
379
|
return match;
|
|
376
380
|
const raw = resolved.get(name);
|
|
@@ -445,6 +449,17 @@ function renderOpPrompt(op, targetName, resolved, prefix = "") {
|
|
|
445
449
|
}
|
|
446
450
|
return lines;
|
|
447
451
|
}
|
|
452
|
+
case "file_read": {
|
|
453
|
+
const p = op.fileParams;
|
|
454
|
+
const pathSub = substitute(p.path, resolved);
|
|
455
|
+
return [`${prefix}- Read file: ${pathSub} — bind contents to $(${op.outputVar ?? `${targetName}.output`})`];
|
|
456
|
+
}
|
|
457
|
+
case "file_write": {
|
|
458
|
+
const p = op.fileParams;
|
|
459
|
+
const pathSub = substitute(p.path, resolved);
|
|
460
|
+
const contentPreview = (p.content ?? "").length > 40 ? (p.content ?? "").slice(0, 40) + "..." : (p.content ?? "");
|
|
461
|
+
return [`${prefix}- Write file: ${pathSub} (${(p.content ?? "").length} chars) — content: ${contentPreview}`];
|
|
462
|
+
}
|
|
448
463
|
}
|
|
449
464
|
}
|
|
450
465
|
function renderPrompt(parsed, resolved, order) {
|
|
@@ -540,6 +555,18 @@ function renderOpProse(op, resolved) {
|
|
|
540
555
|
}
|
|
541
556
|
return [parts.join(" ")];
|
|
542
557
|
}
|
|
558
|
+
case "file_read": {
|
|
559
|
+
const p = op.fileParams;
|
|
560
|
+
const pathSub = substitute(p.path, resolved);
|
|
561
|
+
const bindTail = op.outputVar !== undefined ? `; binds to $(${op.outputVar})` : "";
|
|
562
|
+
return [`Reads file ${pathSub}${bindTail}.`];
|
|
563
|
+
}
|
|
564
|
+
case "file_write": {
|
|
565
|
+
const p = op.fileParams;
|
|
566
|
+
const pathSub = substitute(p.path, resolved);
|
|
567
|
+
const len = (p.content ?? "").length;
|
|
568
|
+
return [`Writes file ${pathSub} (${len} chars).`];
|
|
569
|
+
}
|
|
543
570
|
}
|
|
544
571
|
}
|
|
545
572
|
function renderProse(parsed, resolved, order) {
|
package/dist/compile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"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"}
|
package/dist/lint.js
CHANGED
|
@@ -658,7 +658,7 @@ const UNPARSED_JSON_FIELD_ACCESS = {
|
|
|
658
658
|
remediation: "Replace with `$ json_parse $(VAR) -> P` then access `$(P.field)`. The op binds the parsed structure so dotted descent works in conditions + emit. See help({topic: \"ops\"}).",
|
|
659
659
|
check: (ctx) => {
|
|
660
660
|
const findings = [];
|
|
661
|
-
const BAD =
|
|
661
|
+
const BAD = /\$(?:\([^)]*\|\s*json_parse\s*\)|\{[^}]*\|\s*json_parse\s*\})\.([A-Za-z_]\w*)/;
|
|
662
662
|
const reportIfMatches = (text, targetName) => {
|
|
663
663
|
const m = BAD.exec(text);
|
|
664
664
|
if (m === null)
|
|
@@ -1445,7 +1445,7 @@ const APPEND_TO_NON_LIST = {
|
|
|
1445
1445
|
const findings = [];
|
|
1446
1446
|
for (const [targetName, target] of ctx.parsed.targets) {
|
|
1447
1447
|
walkOps(target.ops, (op) => {
|
|
1448
|
-
if (op.kind === "$set" && op.setName !== undefined && op.setValue !== undefined &&
|
|
1448
|
+
if (op.kind === "$set" && op.setName !== undefined && op.setValue !== undefined && !/\$[(\{]/.test(op.setValue)) {
|
|
1449
1449
|
staticInits.set(op.setName, op.setValue);
|
|
1450
1450
|
}
|
|
1451
1451
|
});
|
|
@@ -1485,7 +1485,7 @@ function buildBindingOrigins(parsed) {
|
|
|
1485
1485
|
// v0.5.0 item 3: $set RHS interpolates $(REF) at bind time. If the
|
|
1486
1486
|
// RHS is a static literal (no $(REF)), record its value for the
|
|
1487
1487
|
// whitespace check. If it contains $(REF), treat as suspect.
|
|
1488
|
-
if (
|
|
1488
|
+
if (/\$[(\{]/.test(op.setValue)) {
|
|
1489
1489
|
origins.set(op.setName, { kind: "set-ref" });
|
|
1490
1490
|
}
|
|
1491
1491
|
else {
|
|
@@ -1692,14 +1692,17 @@ function extractVarRefs(op) {
|
|
|
1692
1692
|
// suppressed from undeclared-var. The author has explicitly opted into
|
|
1693
1693
|
// "may not resolve at runtime" semantics — making this a lint error
|
|
1694
1694
|
// would defeat the purpose.
|
|
1695
|
-
|
|
1695
|
+
// v0.7.0: alternation matches both `$(REF|chain)` and `${REF|chain}`.
|
|
1696
|
+
// Capture groups: 1+2 = paren form, 3+4 = brace form.
|
|
1697
|
+
const re = /\$(?:\(([^|)\s]+)((?:\s*\|\s*[A-Za-z_]\w*(?:\s*:\s*"[^"]*")?)*)\)|\{([^|}\s]+)((?:\s*\|\s*[A-Za-z_]\w*(?:\s*:\s*"[^"]*")?)*)\})/g;
|
|
1696
1698
|
const refs = [];
|
|
1697
1699
|
let m;
|
|
1698
1700
|
while ((m = re.exec(text)) !== null) {
|
|
1699
|
-
const
|
|
1701
|
+
const name = m[1] ?? m[3];
|
|
1702
|
+
const chain = (m[2] ?? m[4]) ?? "";
|
|
1700
1703
|
if (/\|\s*fallback(?:\s*:|[\s|)])/.test(chain))
|
|
1701
1704
|
continue;
|
|
1702
|
-
refs.push(
|
|
1705
|
+
refs.push(name);
|
|
1703
1706
|
}
|
|
1704
1707
|
return refs;
|
|
1705
1708
|
}
|
|
@@ -1709,12 +1712,14 @@ function extractVarRefsWithFilter(op) {
|
|
|
1709
1712
|
// Multiple filters in a chain produce one entry per filter (preserves
|
|
1710
1713
|
// the per-filter unknown-filter check that pre-existed for single-filter
|
|
1711
1714
|
// refs).
|
|
1712
|
-
|
|
1715
|
+
// v0.7.0: alternation matches both `$(REF|chain)` and `${REF|chain}`.
|
|
1716
|
+
// Capture groups: 1+2 = paren form, 3+4 = brace form.
|
|
1717
|
+
const re = /\$(?:\(([^|)\s]+)((?:\s*\|\s*[A-Za-z_]\w*(?:\s*:\s*"[^"]*")?)*)\)|\{([^|}\s]+)((?:\s*\|\s*[A-Za-z_]\w*(?:\s*:\s*"[^"]*")?)*)\})/g;
|
|
1713
1718
|
const out = [];
|
|
1714
1719
|
let m;
|
|
1715
1720
|
while ((m = re.exec(text)) !== null) {
|
|
1716
|
-
const name = m[1];
|
|
1717
|
-
const chain = m[2];
|
|
1721
|
+
const name = (m[1] ?? m[3]);
|
|
1722
|
+
const chain = (m[2] ?? m[4]) ?? "";
|
|
1718
1723
|
if (!chain) {
|
|
1719
1724
|
out.push({ name });
|
|
1720
1725
|
continue;
|