Specification
Look System
kanonak.org
core-xsd@1.0.0
string
Datatype
String
The string datatype represents character strings in XML
Datatype
Referenced by
←
Range
Datatype Property
Accent
Primary accent color used for links, badges, type chips, and emphasis. The single most important token to override per class to give a publisher's site visual…
look-tokens
@
1.0.0
Datatype Property
Accent Hover
Hover state for accent-colored interactive elements. CSS color.
look-tokens
@
1.0.0
Datatype Property
Agent ID
Short machine identifier for the agent. Lowercase letters, numbers, and hyphens only. Maps to the name field in Claude Code subagent frontmatter, the name…
agents
@
1.0.0
Datatype Property
Alias
Optional namespace alias for the import
core-kanonak
@
2.0.0
Datatype Property
Alpha Path
`/`-separated path resolving to the Beta distribution's alpha (α) shape parameter, e.g. "wv.confidence/est.betaAlpha".
look
@
1.20.0
Datatype Property
Argument Name
The argument name. For positional arguments, this is the display name. For options, this becomes the --flag name.
capabilities
@
2.0.0
Datatype Property
Backend URI
Stable string identifier the runner uses to look up the backend implementation. NOT a Kanonak URI — backends are TS code, not ontology entities.
transformations
@
3.13.0
Datatype Property
Background
Primary page background color. Expected value is a CSS color.
look-tokens
@
1.0.0
Datatype Property
Badge Background
Background color for type badges and chips. CSS color (typically translucent).
look-tokens
@
1.0.0
Datatype Property
Badge Foreground
Text color for type badges and chips. CSS color.
look-tokens
@
1.0.0
Datatype Property
Badge Label
Required visible text for the badge. Backends render it inside the chip / link.
document-ast
@
1.3.0
Datatype Property
Badge Path
Optional `/`-separated path resolved on each referenced resource to a short badge value shown on its detail row (e.g. "wv.evidenceStrength"). Only used when…
look
@
1.20.0
Datatype Property
Badge Tooltip
Optional hover-text for the badge. HTML backends emit as `title=` on the chip; Markdown backends emit as the link-title slot. Conventionally populated with the…
document-ast
@
1.3.0
Datatype Property
Beta Path
`/`-separated path resolving to the Beta distribution's beta (β) shape parameter, e.g. "wv.confidence/est.betaBeta".
look
@
1.20.0
Datatype Property
Body
Full markdown content for this section, including prose, code blocks, tables, and lists. This is rendered directly in the SKILL.md output.
agent-skills
@
1.2.0
Datatype Property
Body
Page content as Markdown. The default universal HTML rendering emits this verbatim inside a paragraph; publisher layout transformations parse it as Markdown…
site
@
1.0.0
Datatype Property
Body Font
Default font stack for body text. CSS font-family value.
look-tokens
@
1.0.0
Datatype Property
Body Line Height
Default line-height for body text. Unitless number expressed as string.
look-tokens
@
1.0.0
Datatype Property
Bootstrap Note
Short prose context about how this package manager is distributed (e.g., "ships with Node.js", "bundled with Python 3.4+"). Helps an agent understand why the…
capabilities
@
2.0.0
Datatype Property
Border
Default border color for cards, dividers, and outlines. CSS color.
look-tokens
@
1.0.0
Datatype Property
Border Radius
Default border-radius for cards, buttons, and inputs. CSS length.
look-tokens
@
1.0.0
Datatype Property
Card Background
Background color for cards, panels, and grouped content. CSS color.
look-tokens
@
1.0.0
Datatype Property
Check Command
Shell command that exits with status 0 when this package manager is already installed and available on PATH. An agent or installer uses this to decide whether…
capabilities
@
2.0.0
Datatype Property
Client ID
Short identifier used on the command line to select a client when installing a skill or agent (e.g., "agents", "claude-code", "codex", "gemini"). Lowercase…
agent-skills
@
1.2.0
Datatype Property
Color
Optional display color used by clients that show running agents in their UI. Recognized values follow the Claude Code palette: red, blue, green, yellow,…
agents
@
1.0.0
Datatype Property
Command
Shell command that performs the install on the step's platform. Present when the install can be fully automated from a terminal.
capabilities
@
2.0.0
Datatype Property
Command
A shell command to execute this script.
agent-skills
@
1.2.0
Datatype Property
Command Name
The top-level CLI command name (e.g., "skill"). Must be 1-32 characters, lowercase letters and hyphens only. This becomes the subcommand under the kanonak CLI.
capabilities
@
2.0.0
Datatype Property
Compatibility
Optional. Max 500 characters. Indicates environment requirements such as intended agent product, required system packages, or network access.
agent-skills
@
1.2.0
Datatype Property
Content
The text content of this resource.
agent-skills
@
1.2.0
Datatype Property
Content
The raw asset content. Authored as a literal string in the Kanonak YAML; layout transformations read it via PropertyRead and emit it into the output document.
site
@
1.0.0
Datatype Property
Created Date
ISO date (yyyy-mm-dd) on which the protocol was first published
protocols
@
2.0.0
Datatype Property
Date Format
Named output format. Supported values: - `iso-date` → 2024-01-15 - `iso-datetime` → 2024-01-15T08:30:00Z - `short-date` → Jan 15 - `long-date`…
transformations
@
3.13.0
Datatype Property
Decided Date
ISO date (yyyy-mm-dd) on which the decision was taken.
provenance
@
1.0.0
Datatype Property
Default Value
Default value used when the argument is not provided.
capabilities
@
2.0.0
Datatype Property
Description
Human-readable description. On a Capability it explains what the command group does; on a CapabilityCommand it explains the subcommand; on an InstallStep it…
capabilities
@
2.0.0
Datatype Property
Description
Required. 1-1024 characters. Describes what the skill does and when to use it. Should include keywords that help agents identify relevant tasks.
agent-skills
@
1.2.0
Datatype Property
Description
Human-readable one-line description telling the host client when to delegate to this agent. The host uses this string to decide whether an incoming task…
agents
@
1.0.0
Datatype Property
Description
Explanation of what the example demonstrates
protocols
@
1.0.0
Datatype Property
Diagram Tier
Declared ON A CLASS — the semantic-zoom tier ("chip"/"icon"/"card"/"full") its instances render at when they appear as NODES in a tile-based diagram (cluster /…
look
@
1.20.0
Datatype Property
Dim Text
Secondary text color — descriptions, captions, dim labels. CSS color.
look-tokens
@
1.0.0
Datatype Property
Direction
"ascending" or "descending". Defaults to "ascending".
look
@
1.20.0
Datatype Property
Display Font
Font stack for headings and large text. CSS font-family value.
look-tokens
@
1.0.0
Datatype Property
Download URL
URL to a graphical installer, archive, or release page. Present when there is no single shell command that performs the install.
capabilities
@
2.0.0
Datatype Property
Edge Label
Static text drawn on each of the facet's edges (connector / DAG) to say WHAT the relationship is. Overrides `labelEdges`.
look
@
1.20.0
Datatype Property
Edge Value
Optional `/`-path resolved PER EDGE to a dynamic value shown on that edge (e.g. "weight" → the actual weight on each "weighs on" relationship). Appended to…
look
@
1.20.0
Datatype Property
Element Var
Name of the variable bound to the current element inside `step`. Required.
transformations
@
3.13.0
Datatype Property
Elevated Background
Background for elements raised above bg-card (nested cards, modals, tooltips). CSS color.
look-tokens
@
1.0.0
Datatype Property
Faint Text
Tertiary text color — metadata, footers, low-emphasis content. CSS color.
look-tokens
@
1.0.0
Datatype Property
Figure Title
Optional caption shown with the diagram. Placed above the figure by default, or below it when `titlePosition` is "bottom".
look
@
1.20.0
Datatype Property
File Extension
Conventional file extension including the leading dot (e.g. `.html`, `.ts`). Optional — some formats are embedded rather than persisted as files.
formats
@
1.2.0
Datatype Property
First Var
Name of the variable bound to the first (earlier) element of each consecutive pair inside `pairBody`. Required.
transformations
@
3.13.0
Datatype Property
From Key
The original key as it appears in the AST.
transformations
@
3.13.0
Datatype Property
Heading
The literal section name shown by a SectionHeading band.
look
@
1.20.0
Datatype Property
Heading Line Height
Default line-height for headings. Unitless number expressed as string.
look-tokens
@
1.0.0
Datatype Property
Homepage URL
Canonical homepage or documentation URL for this package manager. Used as an authoritative fallback when none of the install steps cover the current platform.
capabilities
@
2.0.0
Datatype Property
Hue By
For the metric-series bands: an optional `/`-separated path from each tracked sub-resource to a numeric hue (0..360) used to theme that series. When absent or…
look
@
1.20.0
Datatype Property
Install Command
Shell command template for installing a package once the package manager itself is present. Use {package} as a placeholder for the package ID.
capabilities
@
2.0.0
Datatype Property
Instructions
The agent's system prompt in markdown. Rendered verbatim into the body of the generated Claude Code or Gemini markdown file, and into the…
agents
@
1.0.0
Datatype Property
Key
The string key of a StructuredEntry.
document-ast
@
1.3.0
Datatype Property
Label Path
Optional `/`-separated path used to render each referenced resource's display text (instead of its rdfs.label) in a ReferenceList. Switches the band from…
look
@
1.20.0
Datatype Property
Lane By
Optional `/`-separated path resolved on each plotted resource to a category value; the TimePlot splits points into one lane per distinct value and colors them…
look
@
1.20.0
Datatype Property
Language
The programming language of the script (e.g., bash, python, javascript).
agent-skills
@
1.2.0
Datatype Property
Language
The fence info string this grammar highlights, e.g. "yaml" for a ```yaml block. Matched verbatim against the fence's first word.
code-grammars
@
1.0.0
Datatype Property
Layer Name
The human-readable name of a protocol layer in the agentic stack
protocols
@
1.0.0
Datatype Property
Let Name
The variable name to bind. Required. Subsequent VarRef expressions inside `letBody` with this name resolve to the bound value.
transformations
@
3.13.0
Datatype Property
Link Label
Optional display text for the link. When absent, backends fall back to a label derived from the target's `rdfs.label`, `rdfs.comment`, or local name —…
document-ast
@
1.3.0
Datatype Property
Link Tooltip
Optional hover-text for the link. HTML backends emit this as the anchor's `title=` attribute; Markdown backends emit it as the optional title slot of the link…
document-ast
@
1.3.0
Datatype Property
Loop Var
Name under which each element of `source` is bound while the body expression evaluates. Local to the iterating expression — does not leak into surrounding…
transformations
@
3.13.0
Datatype Property
Lower Path
Optional `/`-separated path (same syntax as metricPath) to a per-point lower bound. When both lowerPath and upperPath resolve, the trajectory chart draws a…
look
@
1.20.0
Datatype Property
Map Path
A `/`-separated path resolving to the numeric value on each node, e.g. "wv.confidence/est.estimateMean" — the same path syntax as a Distribution's metricPath.…
look
@
1.20.0
Datatype Property
Match
Version match operator (*, ~, ^, =)
core-kanonak
@
2.0.0
Datatype Property
Media Type
IANA media type for this format (e.g. `text/html`, `application/json`). Used by runtimes to set Content-Type headers and by file-system consumers to choose…
formats
@
1.2.0
Datatype Property
Media Type
IANA media type of the asset content (e.g. text/css, text/javascript, image/svg+xml, text/html). Layout transformations dispatch on this when deciding how to…
site
@
1.0.0
Datatype Property
Metadata Key
The key portion of a metadata entry.
agent-skills
@
1.2.0
Datatype Property
Metadata Keys
Optional include-list of metadata entry keys to emit, in order. Keys outside this list are skipped. Multi-valued; if absent, the backend emits all metadata…
transformations
@
3.13.0
Datatype Property
Metadata Value
The value portion of a metadata entry.
agent-skills
@
1.2.0
Datatype Property
Metric Path
For the metric-series bands: a `/`-separated path resolved from each tracked sub-resource to the numeric value plotted. Each step matches a statement by…
look
@
1.20.0
Datatype Property
MIME Type
The canonical IANA MIME type string for this MediaType instance (e.g. "text/markdown", "text/html", "application/json"). Useful for interop with systems that…
document-ast
@
1.3.0
Datatype Property
Model
Optional. Model alias or full model id the agent should use (e.g., "sonnet", "opus", "haiku", "claude-opus-4-6", "gpt-5", "gemini-2.5-pro"). When omitted, the…
agents
@
1.0.0
Datatype Property
Monospace Font
Font stack for code, technical labels, and URI displays. CSS font-family value.
look-tokens
@
1.0.0
Datatype Property
Name
Local name of the referenced transformation within its package.
transformations
@
3.13.0
Datatype Property
Name
Required. 1-64 characters, lowercase letters, numbers, and hyphens only. Must not start or end with a hyphen, must not contain consecutive hyphens, and must…
agent-skills
@
1.2.0
Datatype Property
Name
Full human-readable license name.
core-spdx
@
1.0.0
Datatype Property
Node Note
Optional `/`-path resolved on each node to a value shown as small secondary text beside the node label (e.g. "weight" or a short description) — extra…
look
@
1.20.0
Datatype Property
Node Tier
Semantic-zoom tier each node tile renders at — "chip", "icon" (default), "card", or "full". Because a node tile is a responsive SemanticSvg, its rendered size…
look
@
1.20.0
Datatype Property
Note
An optional one-line description shown under a SectionHeading.
look
@
1.20.0
Datatype Property
Output Path
Relative path where the materialized artifact should be written by `kanonak site build`, e.g. `about/index.html` or `snapshot@1.0.4/view.html`. Resolved…
site
@
1.0.0
Datatype Property
Package
Package name segment (e.g. `universal-derivations`).
transformations
@
3.13.0
Datatype Property
Package ID
The package identifier in the target package manager's format (e.g., "@kanonak-protocol/cli" for npm, "requests" for pip).
capabilities
@
2.0.0
Datatype Property
Path Pattern
The filesystem path pattern for this discovery location.
agent-skills
@
1.2.0
Datatype Property
Pattern
A JavaScript-flavored regular expression, applied anchored (sticky) at the current scan position. Plain data, not a Kanonak reference.
code-grammars
@
1.0.0
Datatype Property
Placement
Float placement for ANY visual band: "floatLeft" or "floatRight" pulls the band out of the vertical flow so the following band's prose wraps around it…
look
@
1.20.0
Datatype Property
Project Agent Directory
Relative directory path, from the project root, where this client expects project-scoped agent (subagent) definitions to live. The installer writes one file…
agent-skills
@
1.2.0
Datatype Property
Project Skill Directory
Relative directory path, from the project root, where this client expects project-scoped skills to live. The installer appends the skill's name to this path to…
agent-skills
@
1.2.0
Datatype Property
Property Key
The string key (label) of a PropertyEntry. Rendered as `<dt>` in HTML, bold prefix in Markdown.
document-ast
@
1.3.0
Datatype Property
Property Tooltip
Optional hover-text for the property key — displayed on the `<dt>` in HTML backends. Conventionally populated by the universal renderer with the predicate's…
document-ast
@
1.3.0
Datatype Property
Publisher
Publisher segment of the referenced transformation's URI (e.g. `kanonak.org`).
transformations
@
3.13.0
Datatype Property
Query
The keyword(s) the user searched for.
search
@
1.0.0
Datatype Property
Rationale
The reasoning behind the rule
protocols
@
1.0.0
Datatype Property
Raw Content
The raw, pre-formatted content string of a RawBlock. Interpreted by backends according to the sibling `mediaType` property.
document-ast
@
1.3.0
Datatype Property
Resource Title
A short title describing this resource.
agent-skills
@
1.2.0
Datatype Property
Scope Sources
Package URIs whose instances participate in the aggregation. Each entry is a string of the form `publisher/package[@version]`. The literal string…
site
@
1.0.0
Datatype Property
Second Var
Name of the variable bound to the second (later) element of each consecutive pair inside `pairBody`. Required.
transformations
@
3.13.0
Datatype Property
Separator
transformations
@
3.13.0
Datatype Property
Size
For Figure: how large to render the embedded SemanticSvg — "small", "medium", or "large". Because the SemanticSvg is responsive, the width also selects which…
look
@
1.20.0
Datatype Property
Skill File Name
File name the client reads to discover a skill's frontmatter and instructions inside each skill directory. Defaults to "SKILL.md" for clients that follow the…
agent-skills
@
1.2.0
Datatype Property
Small Border Radius
Smaller border-radius for badges, chips, and inline pills. CSS length.
look-tokens
@
1.0.0
Datatype Property
Soft Border
Subtle border color for low-contrast separation. CSS color.
look-tokens
@
1.0.0
Datatype Property
Source Date
ISO date (yyyy-mm-dd) on which the source was published or last relevant.
provenance
@
1.0.0
Datatype Property
Source URL
The canonical external URL where the source can be read. External links belong here; [[reference]] placeholders in prose resolve only Kanonak resources and…
provenance
@
1.0.0
Datatype Property
Spacing Unit
Base spacing increment. Layouts derive larger spaces as multiples of this. CSS length.
look-tokens
@
1.0.0
Datatype Property
SPDX Identifier
Standard SPDX license identifier (e.g., "MIT", "Apache-2.0"). Optional - only applicable for licenses listed at https://spdx.org/licenses/.
core-spdx
@
1.0.0
Datatype Property
Specification URL
A URL pointing to the canonical specification for the protocol
protocols
@
2.0.0
Datatype Property
Stat Label
The displayed key for a Stat cell (e.g. "μ", "95% CI low").
look
@
1.20.0
Datatype Property
Stat Path
The `/`-separated path (same DSL as metricPath) resolved against the page instance to produce this stat's value. Reaches into embeddeds — e.g.…
look
@
1.20.0
Datatype Property
State Var
Name of the variable bound to the running accumulator inside `step`. Initially holds `initialState`; after each step it holds the previous step's result.…
transformations
@
3.13.0
Datatype Property
Steward Name
The human-readable name of a steward organization
protocols
@
1.0.0
Datatype Property
Steward URL
The primary public URL for a steward organization
protocols
@
2.0.0
Datatype Property
String Literal Value
transformations
@
3.13.0
Datatype Property
String Value
The raw unescaped characters of a StringScalar. Backends apply per-EscapeHint escaping at serialization time.
document-ast
@
1.3.0
Datatype Property
Subcommand Name
The CLI subcommand name (e.g., "add", "remove", "list"). Must be lowercase letters and hyphens only.
capabilities
@
2.0.0
Datatype Property
Summary
Brief description of what this convention covers
protocols
@
1.0.0
Datatype Property
Table Column Labels
Ordered list of column header strings. The number of entries sets the table's column count.
document-ast
@
1.3.0
Datatype Property
Text
Literal footer text (license info, copyright). One of the few places in the look vocabulary where a literal string is appropriate — there's no canonical…
look
@
1.20.0
Datatype Property
Text
The raw character data of a Text inline.
document-ast
@
1.3.0
Datatype Property
Text
Primary text color. CSS color.
look-tokens
@
1.0.0
Datatype Property
Text
The normative text of the rule
protocols
@
1.0.0
Datatype Property
Tier Card SVG
Raw SVG fragment for 160-400px renders — ResourceGrid card thumbnails. Same placeholder + CSS-variable rules as tierChip.
look
@
1.20.0
Datatype Property
Tier Chip SVG
Raw SVG fragment shown when the resource's SVG is rendered at <60px wide — favicon, tree node, breadcrumb dot. Placed inside the `<g class="tier-chip">` group.…
look
@
1.20.0
Datatype Property
Tier Full SVG
Raw SVG fragment for >=400px renders — hero figures, embed cards. Same placeholder + CSS-variable rules as tierChip.
look
@
1.20.0
Datatype Property
Tier Icon SVG
Raw SVG fragment for 60-160px renders — sidebar tiles, hover previews. Same placeholder + CSS-variable rules as tierChip.
look
@
1.20.0
Datatype Property
Title
The section heading. Rendered as a level-2 markdown heading (##) in the generated SKILL.md.
agent-skills
@
1.2.0
Datatype Property
Title
Human-readable page title. Renders as the page heading and HTML <title>.
site
@
1.0.0
Datatype Property
Title Position
Where the `figureTitle` sits relative to the figure — "top" (default) or "bottom" (caption style).
look
@
1.20.0
Datatype Property
To
The visual variable the scaled value maps to: "thickness" (connector edge stroke width) or "opacity" (node/edge alpha).
look
@
1.20.0
Datatype Property
To Key
The key to emit in serialized output.
transformations
@
3.13.0
Datatype Property
Token Budget
Recommended token cost for this tier.
agent-skills
@
1.2.0
Datatype Property
Upper Path
Optional `/`-separated path to a per-point upper bound, paired with lowerPath to shade an envelope on the trajectory chart. Example:…
look
@
1.20.0
Datatype Property
URL
The destination the link points to. An external URL lives here; never inside a [[reference]] placeholder, which resolves only Kanonak resources.
link
@
1.0.0
Annotation Property
URL Form
Operator controlling how this property's reference values render as URLs. Four valid values, matching Kanonak's version-compatibility operators: - "*" : any…
look
@
1.20.0
Datatype Property
User Agent Directory
Directory path, rooted at the user home directory, where this client expects user-scoped agent definitions to live. The literal "~" at the start is expanded to…
agent-skills
@
1.2.0
Datatype Property
User Skill Directory
Absolute-ish directory path, rooted at the user home directory, where this client expects user-scoped skills to live. The literal "~" at the start is expanded…
agent-skills
@
1.2.0
Datatype Property
Value
The literal value demonstrated by the example
protocols
@
2.0.0
Datatype Property
Value Label
Optional short prefix shown before each series' value in the trajectory chart legend (e.g. "μ" to render "μ=0.74"). Domain-specific framing the publisher…
look
@
1.20.0
Datatype Property
Var Name
transformations
@
3.13.0
Datatype Property
Version
Pinned semantic version, formatted `M.m.p` (e.g. `1.0.0`). Required — versionless references are intentionally not supported here.
transformations
@
3.13.0
Datatype Property
Version
The semantic version of a package or import constraint. Used on Package and Import instances. No `domain` is asserted (see `publisher` for the rationale).
core-kanonak
@
2.0.0
Annotation Property
Version Info
Provides version information for an ontology or resource
core-owl
@
2.1.0
Datatype Property
Width
Width of a floated band as a CSS length, e.g. "42%" or "320px". Defaults to 42% when omitted. Has no effect unless `placement` floats the band.
look
@
1.20.0
Datatype Property
Window Var
Name of the variable bound to each window inside `windowBody`. The bound value is a list of exactly `windowSize` elements from the source, in source order.…
transformations
@
3.13.0
←
Subclass Of
Datatype
Substitutable String
A string that may embed [[reference]] placeholders. Each placeholder names a Kanonak resource resolved through the containing document's import closure - bare…
core-prose
@
1.1.0