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.
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
| Need | Contract |
|---|---|
| A provider inside Skulk™, including streaming | skulk.extensions |
| A managed process with isolated dependencies and its own settings | This SDK, paired with a compatible managed host |
| A whole application with a discoverable UI | Managed 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
| Module | Responsibility | Guide |
|---|---|---|
contracts | Descriptors, manifests, startup and invocation vocabulary | Contracts |
wire | Bounded asynchronous local IPC framing | Wire |
storage | Owner-only files, identities and locks | Storage |
operations | Durable jobs beyond the unary invocation budget | Operations |
database | Explicit SQLite transaction and reconciliation ownership | Database |
streams | Duplex lifecycle, raw media and child stream execution | Streaming |
serving | Bind addresses, advertised UI URLs and caller admission | Serving |
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.