All 20 tags

← NPL tag reference

<npl-declaration>

Version banner for an NPL rules document — the element form of ⌜[email protected]⌝ … ⌞[email protected]⌟.

Sets the immutable version boundaries a prompt operates under: everything after the declaration inherits those constraints unless a later block overrides them. A definition declaration pins a framework or agent version; an extension declaration layers additive rules onto an already-declared version without rewriting it.

Establishes immutable version boundaries and operational context for NPL prompts, enabling fine-tuned models to adhere to conventions while logically separating framework rules from prompt content. Declaration blocks set immutable version boundaries, define core syntax elements, constraints and behaviours, and provide a clear operational context for agents, extensions and runtime flags.

Every declaration has two interchangeable spellings: the HTML/XHTML element form (below, for structured prompt hosts) and the plain-markdown corner-bracket banner — ⌜[email protected]⌝ opens, ⌞[email protected]⌟ closes. Both may appear in the same document; the bracket banner is what the reference short form ⌜[email protected]⌝ … ⌞[email protected]⌟ abbreviates.

Syntax

The same element in both concrete syntaxes — the HTML/XHTML tag form and the plain-markdown bracket form — as defined in the conventions/ YAML.

HTML / XHTML element — framework definition

The tag carries the declaration type; the bracket banner inside it pins the version.

HTML / XHTML element — framework extension

Extensions inherit the base version's constraints and may add qualifiers, size-indicators, or processing flags.

Markdown banner — framework definition

The same declaration without the element wrapper, for plain-text prompts.

Markdown banner — agent definition

Header fields are pipe-separated: name | type | version. type is persona (an expert or character voice), tool (a command-style utility), or service (a hosted external system such as an API or vector store).

Markdown banner — agent extension

The extension inherits the base agent's type and framework version.

Attributes

AttributeDescription
version requiredVersion shown in the banner mark (⌜NPL@<version>⌝).
typenpl-definition | npl-extension | agent-definition | agent-extension.
extend-targetOn extension declarations: the vocabulary being extended.

Examples

Worked threads from the element’s YAML definition — the same source that generates the spec and drives this reference.

framework-with-extension

NPL declaration with extension

agent-with-extension

Agent definition and extension

all-agent-types

All three agent types — persona, tool, service

Minimal example