captp

Implement CapTP for capability-secure distributed object invocation across heterogeneous transports.

60|13|Updated Dec 22, 2025
One-click install
npx skills add https://github.com/plurigrid/asi --skill captp
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: captp
Source: https://github.com/plurigrid/asi/tree/main/skills/captp
Command: npx skills add https://github.com/plurigrid/asi --skill captp

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

CapTP enables distributed object programming with capability security, allowing objects to reside anywhere on the network while interactions are governed by unforgeable references.

Core Features & Use Cases

  • Vats & Actors: Isolated containers for distributed objects.
  • Promise Pipelining: Reduce round-trips by chaining promises.
  • GF(3) Triads: Balance between capabilities across components.

Quick Start

Create a small vat, spawn an actor, and perform a simple message exchange using CapTP primitives.

Frequently Asked Questions about captp

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I enable distributed objects to communicate across network boundaries?

CapTP is a capability-based protocol that enables remote object invocation across networks. It allows objects to reside anywhere while interactions remain governed by unforgeable capability references, supporting heterogeneous transports like TCP, WebSocket, and Tor.

What is promise pipelining and how does it reduce latency in distributed systems?

Promise pipelining chains multiple remote calls without waiting for intermediate results, reducing round-trips. CapTP implements this by allowing promises to be passed as arguments, so dependent operations queue locally and execute on the remote end in sequence.

How do vats and actors provide isolation in capability-based systems?

Vats are isolated containers where distributed objects and actors reside. CapTP manages lifecycle semantics for vats, ensuring capability references remain unforgeable and interactions occur only through authorized channels, preventing unauthorized cross-vat access.

Can CapTP work with different transport protocols simultaneously?

Yes, CapTP abstracts transport through pluggable layers. It supports TCP, WebSocket, NATS, Tor onion services, and Tailscale, allowing distributed objects to communicate using the most appropriate transport for each network segment.

What are sturdy references and when should I use them instead of live references?

Sturdy references are persistent, unforgeable capabilities that survive vat restarts and enable reconnection. CapTP uses them for long-lived distributed relationships; live references are ephemeral and work within active vat sessions.

How does POLA-based attenuation prevent unauthorized capability escalation?

CapTP implements Principle of Least Authority by allowing capabilities to be attenuated—restricted to a subset of operations before delegation. This ensures distributed objects receive only the minimal authority needed, reducing security risk across trust boundaries.