Specification
Look System
kanonak.org
capabilities@2.0.0
capabilities
Action
A behavior that the Kanonak CLI knows how to perform on behalf of a capability subcommand. Actions decouple the CLI's behavior set from the verb that a…
Agent Skill Deployment
Deployment target that transforms Kanonak Skill instances into SKILL.md files and places them in agent discovery directories. Supports client-specific and…
Argument Name
The argument name. For positional arguments, this is the display name. For options, this becomes the --flag name.
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…
Capability
A Kanonak-defined CLI command group. Discoverable, versioned, and distributed through Kanonak publishers. Each capability manages instances of a specific…
Capability Command
A subcommand within a capability's command group. Defines the name, description, and arguments for a single CLI operation.
Cargo
Rust package manager.
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…
Command
Shell command that performs the install on the step's platform. Present when the install can be fully automated from a terminal.
Command Argument
A positional or option argument for a capability command. Positional arguments are required by position; option arguments use --flag syntax.
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.
Cross-platform
Applies on any supported OS - used for version managers and standalone installer scripts that work identically everywhere.
Debian/Ubuntu
Debian, Ubuntu, and derivatives using the apt package manager.
Default Value
Default value used when the argument is not provided.
Dependency
An external package dependency required by a capability. Declares which package manager to use and what package to install.
Deployment Target
Defines how instances managed by a capability are deployed to the local system after download. Subclasses specify concrete deployment strategies.
Deployment Target
Specifies how instances are deployed to the local system after download. If not specified, instances are cached only.
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…
Download URL
URL to a graphical installer, archive, or release page. Present when there is no single shell command that performs the install.
Fedora/RHEL
Fedora, RHEL, CentOS Stream, Rocky, Alma, and derivatives using dnf.
Fetch and Deploy
Fetch a package from a publisher and deploy it through the capability's deploymentTarget. The CLI expects one positional argument naming the package to fetch.
For Platform
The platform that this install step applies to.
Has Argument
Arguments and options accepted by this subcommand.
Has Command
The subcommands available in this capability's command group. Each command defines a distinct CLI operation.
Has Dependency
External dependencies that must be installed for this capability to function. Resolved during capability installation.
Has Install Step
A step describing how to install this package manager on a specific platform. An agent selects the step whose forPlatform matches the current environment and…
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.
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.
Install Step
A single instruction for installing a package manager (or other tool) on a specific platform. An install step names its platform and carries either a shell…
Is Option
If true, this argument uses --flag syntax. If false, it is a positional argument. Defaults to false.
List Deployed
List the items that are currently deployed through this capability. Takes no positional arguments.
macOS
Apple macOS.
Manages Type
The Kanonak type this capability manages. CLI commands operate on instances of this type. For example, the skill capability manages instances of the Skill…
npm
Node.js package manager.
NuGet
.NET package manager.
OCI
Open Container Initiative artifact registry. Distributes container images and generic artifacts through OCI-compliant registries.
Package ID
The package identifier in the target package manager's format (e.g., "@kanonak-protocol/cli" for npm, "requests" for pip).
Package Manager
A system that resolves and installs external dependencies. Predefined instances include npm, pip, cargo, nuget, and oci.
Package Manager
The package manager that resolves this dependency.
Performs
The action that this subcommand performs. The CLI dispatches based on this action, so capability authors are free to choose any verb they like for…
pip
Python package manager.
Platform
A target platform, operating system, or OS family for which install steps may be defined. Shared across package managers so the same platform instance can be…
Remove Deployed
Remove a previously-deployed item from the local system. The CLI expects one positional argument naming the item to remove.
Required
Whether this argument must be provided. Defaults to false.
Search Available
Search publishers for packages that match a query. Query is typically supplied as an option rather than a positional argument.
Show Info
Display information about a specific package or deployed item. The CLI expects one positional argument naming the target.
Subcommand Name
The CLI subcommand name (e.g., "add", "remove", "list"). Must be lowercase letters and hyphens only.
Update Deployed
Update a previously-deployed item to its latest compatible version. The CLI expects one positional argument naming the item to update.
Windows
Microsoft Windows.