P373 · Skill authoring

Preserve Literal Examples Across Invocation Templates

Keep example-language syntax separate from the host's invocation-template syntax.

Editorially reviewed

These examples and illustrative results are independently authored teaching materials, not measured model results.

Use case

A skill shows PostgreSQL $1 binding while a host may expand positional invocation markers. /review alice can transform SQL before the model receives it; inspect both language/template layers.

Mechanism

Verify actual preprocessing contracts and preserve source/rendered invocations. Test populated/empty/special arguments. Protect literals with documented escapes or verified nonexpanding references; otherwise explain binding in prose instead of another driver’s placeholder. Keep separate query/values semantics and test reference boundaries too.

Bad example

Assume id=$1 survives, or substitute ? as universal PostgreSQL syntax.

Good example

Compare rendered /review alice and empty calls with intended binding using supported escaping/verified references. If unavailable, explain numbered placeholders/separate values in prose. Retain source/rendered evidence without executing a database.

Why the change matters

Two interpreters assign meaning to the same symbols; valid code can change before receipt. Final rendering checks real input without corrupting driver contracts.

Observable expectation

Teaching $1→alice loses binding; protected output preserves placeholders/separate values in both invocations. These are host-check designs; frozen comments are specific observations, not universal expansion.

Limits

Drivers/templates vary and ? is not universal PostgreSQL syntax. References can expand too. Correct display proves neither safe/authorized execution; no queries ran.

Sources and evidence

Read the editorial criteria