HTML / XHTML element — framework definition
The tag carries the declaration type; the bracket banner inside it pins the version.
<npl-declaration type="npl-definition">
⌜NPL@{version.major.minor}⌝
[___]
⌞NPL@{version.major.minor}⌟
</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.
The same element in both concrete syntaxes — the HTML/XHTML tag form and the plain-markdown bracket form — as defined in the conventions/ YAML.
The tag carries the declaration type; the bracket banner inside it pins the version.
<npl-declaration type="npl-definition">
⌜NPL@{version.major.minor}⌝
[___]
⌞NPL@{version.major.minor}⌟
</npl-declaration>Extensions inherit the base version's constraints and may add qualifiers, size-indicators, or processing flags.
<npl-declaration type="npl-extension">
⌜extend:NPL@{version.major.minor}⌝
[___]
⌞extend:NPL@{version.major.minor}⌟
</npl-declaration>The same declaration without the element wrapper, for plain-text prompts.
⌜NPL@{version.major.minor}⌝
[___]
⌞NPL@{version.major.minor}⌟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).
⌜{agent-name}|{type}|NPL@{version.major.minor}⌝
# {Agent Name}
{description}
[___|behavioral specifications]
⌞{agent-name}⌟The extension inherits the base agent's type and framework version.
⌜extend:{agent-name}|{type}|NPL@{version.major.minor}⌝
[___]
⌞extend:{agent-name}⌟| Attribute | Description |
|---|---|
version required | Version shown in the banner mark (⌜NPL@<version>⌝). |
type | npl-definition | npl-extension | agent-definition | agent-extension. |
extend-target | On extension declarations: the vocabulary being extended. |
Worked threads from the element’s YAML definition — the same source that generates the spec and drives this reference.
NPL declaration with extension
<npl-declaration type="npl-definition">
⌜[email protected]⌝
# Core Framework Rules
[___|Framework rules here]
⌞[email protected]⌟
</npl-declaration>
<npl-declaration type="npl-extension">
⌜extend:[email protected]⌝
Add custom domain qualifiers.
⌞extend:[email protected]⌟
</npl-declaration>Agent definition and extension
<npl-declaration type="agent-definition">
⌜code-helper|tool|[email protected]⌝
# Code Helper
Provides code analysis and suggestions.
⌞code-helper⌟
</npl-declaration>
<npl-declaration type="agent-extension">
⌜extend:code-helper|tool|[email protected]⌝
Adds debugging capabilities.
⌞extend:code-helper⌟
</npl-declaration>All three agent types — persona, tool, service
<npl-declaration type="agent-definition">
⌜dev-expert|persona|[email protected]⌝
# Dev Expert
Senior developer persona.
⌞dev-expert⌟
</npl-declaration>
<npl-declaration type="agent-definition">
⌜git-cli|tool|[email protected]⌝
# Git CLI
Git command emulator.
⌞git-cli⌟
</npl-declaration>
<npl-declaration type="agent-definition">
⌜api-gateway|service|[email protected]⌝
# API Gateway
External API interface.
⌞api-gateway⌟
</npl-declaration><npl-declaration type="definition" version="0.1">
⌜[email protected]⌝
# Core framework rules
[___|rules here]
⌞[email protected]⌟
</npl-declaration>