skill.mount

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

Skill authoring —Skill.tool + use_skillmount onto an app MCP registry.

Peer dependencies (cryptographyfor envelope signing) are imported lazily inside call paths (milo pattern), soimport chirp.skillstays light.

Skill authoring —Skill.tool + use_skillmount onto an app MCP registry.

Peer dependencies (cryptographyfor envelope signing) are imported lazily inside call paths (milo pattern), soimport chirp.skillstays light.

skill.mount

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

Skill
class

A named, versioned skill whose tools return signedEnvelopevalues.

Decorate handlers withtool(), then mount with use_skill()::

skill = Skill(
    "demo",
    version="1.0.0",
    private_key=private,
    key_id="demo-1",
    public_key=public,
)

@skill.tool("add", description="Add two integers")
def add(a: int, b: int) -> int:
    return a + b

@skill.tool("hook", scopes=("webhook:write",))
def hook(payload: dict) -> dict:
    return payload

use_skill(app, skill)
app.register_scope("webhook:write")
use_skill
function
def use_skill(app: App, skill: Skill) -> Skill

Mountskill's tools onto app's MCP tool registry via app.tool.

Registersskill as an app domain so app.freeze()finalizes an immutableManifestwith a content digest (milo register_domainprecedent). Eagerly verifies the Ed25519 peer dependency when a signing key is present so missingcryptographyfails at setup rather than on the first tool call. Registers the skill_contract app.check()category (chirp_ui register_contract_check pattern). Returns skill.

Parameters

Name Type Default Description
app App
skill Skill

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