Skip to main content

Managed capability SDK

skulk-capability-sdk 0.4.0 is the authoring package for capabilities that run as separately supervised processes. Its seven modules provide contracts, local framing, protected storage, durable operations, database transactions, streaming media, and serving rules that a child uses to speak to its host.

The SDK source repository remains private. This site documents the published interface and developer examples. Host management, installation authority, and provider-specific implementations are outside this package.

Package availability

A public SDK download and qualified wheel matrix are not available. See Get the SDK for current availability and how to check an approved package. The interface reference describes SDK 0.4.0.

Choose the right path​

NeedContract
A provider inside Skulk™, including streamingskulk.extensions
A managed process with isolated dependencies and its own settingsThis SDK, paired with a compatible managed host
A whole application with a discoverable UIManaged capability plus declared application surfaces

Managed providers support unary, server streaming, client streaming, and bidirectional calls with one active invocation per child. Streaming requires protocol 4 and a compatible Skulk™ reader. See managed streaming for lifecycle, media and cancellation.

Start with your first managed child for descriptors, startup, authentication, health and invocation.

The module map​

ModuleResponsibilityGuide
contractsDescriptors, manifests, startup and invocation vocabularyContracts
wireBounded asynchronous local IPC framingWire
storageOwner-only files, identities and locksStorage
operationsDurable jobs beyond the unary invocation budgetOperations
databaseExplicit SQLite transaction and reconciliation ownershipDatabase
streamsDuplex lifecycle, raw media and child stream executionStreaming
servingBind addresses, advertised UI URLs and caller admissionServing

What your capability owns​

Implement your operation, validate provider inputs, report readiness, and expose actionable failures. Declare the operations, settings and credentials your application needs. If you create external jobs or resources, implement their cancellation and reconciliation.

The managed host supplies startup, supervision, generic management, settings storage, and installation identity. Use the startup record it supplies rather than inventing a new identity whenever the child restarts.

Compatibility​

SDK 0.4.0 uses protocol 4 and accepts protocols 3 and 4. Protocol 3 unary children retain their startup shape; protocol 2 requires rebuilding. Protocol 4 adds independently authenticated media connections so slow consumers cannot block health. The window contains the current and previous protocol. An unsupported version is refused explicitly.

A protocol match alone does not establish runtime compatibility. Pin the SDK version, a supported Skulk™ release, and the managed-host artifact together. Python requires 3.13 or later in the current package metadata. That minimum does not establish that a qualified wheel exists for your interpreter and platform.

From development to an installable plugin​

Define the manifest, implement the child contract, check readiness, then qualify packaging and signed installation. Manifest and configuration, permissions, signed catalogs, and cleanup describe the host-facing boundaries. The seven module references expose names, types and documented behavior without publishing implementation bodies.