skill.manifest

Page actions AI-ready formats and sharing
Open LLM text
Share with AI
Ask Claude Ask ChatGPT Ask Gemini Ask Copilot

Skill packaging manifest — identity metadata for a mounted skill.

Manifestis assembled from a skill's name, semver, tool list, public key, provider-key names (not secrets), and a content digest. Atapp.freeze()…

Skill packaging manifest — identity metadata for a mounted skill.

Manifestis assembled from a skill's name, semver, tool list, public key, provider-key names (not secrets), and a content digest. Atapp.freeze() the digest is finalized over tool schemas + template sources + public key and the manifest is immutable thereafter.

skill.manifest

Name Type Default Description
type
qualified_name
element_type
description
source_file
line_number
is_autodoc
autodoc_element
_autodoc_template
_autodoc_url_path
_autodoc_page_type
title
doc_content_hash

Symbols on this page

Manifest
class

Serializable skill identity record.

encode_public_key
function
def encode_public_key(public_key: Any) -> str

Encode an Ed25519 public key as url-safe base64 (no padding).

Parameters

Name Type Default Description
public_key Any
compute_content_digest
function
def compute_content_digest(*, tool_schemas: Mapping[str, Mapping[str, Any]], template_sources: Mapping[str, str], public_key: str) -> str

SHA-256 digest over tool schemas + template sources + public key.

Canonical JSON (sorted keys, compact separators) so identical inputs yield a stablesha256:...digest across freezes.

Parameters

Name Type Default Description
tool_schemas Mapping[str, Mapping[str, Any]]
template_sources Mapping[str, str]
public_key str
assemble_manifest
function
def assemble_manifest(*, name: str, version: str, tools: tuple[str, ...], public_key: Any, provider_keys: tuple[str, ...] = (), content_digest: str | None = None, tool_schemas: Mapping[str, Mapping[str, Any]] | None = None, template_sources: Mapping[str, str] | None = None) -> Manifest

Build aManifest.

Whencontent_digestis omitted, a digest is computed from tool_schemas + template_sources+ the encoded public key when schemas are provided; otherwise a provisional identity digest is used (pre-freeze convenience — freeze replaces it viacompute_content_digest()).

Parameters

Name Type Default Description
name str
version str
tools tuple[str, ...]
public_key Any
provider_keys tuple[str, ...] ()
content_digest str | None None
tool_schemas Mapping[str, Mapping[str, Any]] | None None
template_sources Mapping[str, str] | None None

View source · /home/runner/work/chirp/chirp/site/../src/chirp/skill/manifest.py:1