CAPABILITY · CORPUS
A flow solved by someone else can give you a warm start
Compiled paths are sanitized down to their action structure and pooled, so a first run on a widely-automated surface can start from a shared scaffold instead of a cold compile.
GET /api/v1/library?q=… · { "mode": "cache-adapt" }Capability
Inside cross-tenant skill corpus
Most browser tasks are not unique. Thousands of teams automate the same login, the same export, the same paginated list on the same popular surfaces. When a compile produces a path the engine can sanitize — action structure with every input, credential and identifier stripped — that sanitized path is promoted into a shared pool. A later dispatch with no tenant match but a close shared one seeds discovery from that scaffold and explores only the delta.
Structure only, stripped at promotion
What crosses the tenant boundary is the shape of the actions. Inputs, secret values and identifiers are removed before anything is promoted; tenant data stays behind default-deny row-level security.
An adapt, not a blind replay
A shared scaffold is never trusted as-is. It seeds a run that replays what still fits and explores the difference — which is why it costs more than a hit and less than a compile.
A higher bar than your own cache
A cross-tenant scaffold has to clear a stricter similarity floor than a same-tenant match before it is considered at all. A vague resemblance is a miss, not an adapt.
Disclosed in the response
An adapt returns mode: "cache-adapt" together with `source` — the name of the shared skill it started from — and how many of its steps were replayed before the delta.
How it works
The mechanism, in execution order
4 stages, in the order the runtime performs them — not a summary of them.
- 1Compile in your tenantA successful compile stores the skill privately, scoped to your workspace, with its intent embedding.
- 2SanitizeThe engine emits a sanitized twin of the path with inputs, secrets and identifiers stripped. Only that twin is eligible for promotion.
- 3PromoteThe sanitized path is upserted into the shared pool alongside the embedding, so it can be found by meaning rather than by name.
- 4Adapt elsewhereAnother tenant's dispatch with no local match but a close shared one runs a seeded compile: replay the scaffold, explore the delta, store the result as their own skill.
In practice
A call you can paste and run
The corpus is searchable for free; an adapt discloses the shared skill it started from and how much of it was reused.
# Search the shared corpus — metadata only, no key charge
curl "https://twin-browser.com/api/v1/library?q=export%20invoices" \
-H "Authorization: Bearer $TWIN_API_KEY"
# A dispatch that had no local match but a close shared one:
# {
# "mode": "cache-adapt",
# "skill": "export-invoices",
# "version": 1,
# "source": "invoice-export", // the shared scaffold it started from
# "replayed": 3, // steps taken from the scaffold
# "steps": 5,
# "credits_charged": 5
# }- Compile in your tenantdone
- Sanitizerunning
- Promotequeued
- Adapt elsewherequeued
What it costs, how to switch it on
Priced from the same rate card the API serves
Every credit figure on this page is read from the rate card behind GET /api/v1/pricing — it is not typed into the copy, so it cannot drift from what you are billed.
5 credits for an adapt · free to search
An adapt bills 5 credits against 10 for a cold compile — you pay for the delta, not the whole discovery. Searching the corpus (GET /api/v1/library) is metadata-only and free. Promotion costs nothing: it happens as a by-product of a compile you were already paying for.
Turning it on
- 1Compile normallyPromotion is a side effect of a successful compile — POST /api/v1/skills, or a dispatch miss.
- 2Search before you buildGET /api/v1/library?q=… tells you whether a scaffold for the flow already exists, for free, before you spend a compile.
- 3Dispatch, do not nameA corpus adapt can only happen on POST /api/v1/dispatch. Calling a skill by name never reaches the shared pool.
- 4Read the provenanceCheck `mode` and `source` on the response so you know when a run started from someone else's structure.
At a glance
The contract, in the fewest rows that say it
| Property | Twin Browser |
|---|---|
| Shared content | Sanitized action structure |
| Never shared | Secrets, inputs, identifiers |
| Search | GET /api/v1/library?q= (free) |
| Consumption | Seeded compile, not blind replay |
| Disclosure | mode: "cache-adapt" + `source` |
| Isolation | Default-deny RLS per tenant |
Limits
Where it stops, and what it deliberately does not do
A capabilities page with no limits section is a brochure. These are the ceilings, the defaults that will surprise you, and the things this capability is not.
Limits and defaults
- Only a path the engine could sanitize is eligible. A compile that returns no sanitized twin is stored privately and never promoted.
- A shared scaffold must clear a stricter similarity floor than your own skills before it is considered.
- The corpus is keyed by host and intent. It will not offer you a scaffold from an unrelated site.
- An adapt is a compile: it opens a browser, runs the delta live, and can fail like any other discovery.
What it does not do
- It does not share your data. Inputs, credentials and identifiers are stripped before promotion — what is pooled is the shape of the clicks.
- It does not let another tenant read, list or run your private skills. GET /api/v1/library returns corpus metadata, not your library.
- It does not replay a shared path blindly. Cross-tenant reuse is always a seeded compile that verifies as it goes.
- It does not carry your session. A shared scaffold gives you the steps; the login is still yours, from your own vault or connect handoff.
FAQ
Questions about cross-tenant skill corpus
Could my data leak into another tenant through the corpus?
How do I know when a run used a shared skill?
Why is an adapt more expensive than a hit?
Can I search the corpus before spending anything?
Keep reading
The rest of the platform
The capabilities this one works with, the tools that expose it, the guides that use it end to end, and the vocabulary behind it.
Semantic dispatch cache
A re-phrased request is embedded, vector-matched against the skills you have already compiled, and replayed deterministically — so the second ask and every one after it skips the planner.
Skill library & catalog
Every compiled skill is stored per tenant with a version and a run contract — the params it takes, the secrets it fills, and whether your stored auth is ready for its host.
Credential vault
A write-only per-tenant vault: a stored secret is referenced in a goal as {{secret:NAME}}, resolved inside the browser at fill time, and redacted from every step, frame and log.
Tools that expose it
Put your agent to work. Keep the decision.
Start free. Hand your agent a goal on a site you authorize, set the guardrails, and let the first successful run compile the skill every run after it replays.