Docs · Delivery
Getting a bundle onto a client agent
You build a bundle, scope an API key to it, and hand your client one install command. Their agent holds the key and reconciles itself against the bundle from then on. Nothing on the client side carries LoopSkill branding unless you put it there.
LoopSkill never pushes.
There is no button here that reaches a client's machine, and no job whose completion you wait on. The control plane cannot open a connection to an agent — every change travels the other way, when the agent next asks. Practically: after you edit a bundle, expect the client's agent to be running the new version within one poll cycle, not within a second.
Prerequisites
- An active Pro subscription
- At least one bundle created in your library
- An available API key slot
- Your client's agent up and running (Claude Code, Codex, Cline, Cursor, Hermes, or any AgentPact-compatible host)
Step by step
Create a bundle
In /library, click New bundle. Give it a name (visible only to you), and select the skills you want to include. Pin versions or track latest — your choice.
Set visibility to Private if this bundle is client-specific. Public bundles are discoverable by anyone with the URL.
Assign an endpoint API key
From the bundle detail view, click Assign key. You'll create a
labeled API key scoped to this bundle — for example,
acme-client-prod.
This key will only serve skills in this bundle. Even if someone guesses or leaks the key, they can't access your other skills or other bundles.
Give your client the install command
Copy the one-line meta-skill install command from the bundle detail view. It includes the bundle-scoped key pre-filled:
RECIPES_API_KEY=rec_live_cbk_... \
curl -sL https://app.loopskill.io/skill \
-o ~/.claude/skills/loopskill/SKILL.md Your client runs this once in their agent's environment. No other configuration needed.
The agent reconciles on its own cron
The meta-skill re-fetches the bundle manifest each time the client's cron
fires and installs the difference. The cadence is whatever cron the client
installed — the self-host guide's example is
*/30 * * * *, so half an
hour is the number to plan around unless you agreed on something else.
There is no product-side default and nothing to configure here.
Shipping an update
Edit the bundle in your library: add skills, remove skills, or change version pins. Save. That is the whole operator-side action — every agent holding the bundle-scoped key picks the change up on its next cron fire. There is no push command, and nothing for the client to do.
Rolling back is the same motion in reverse: pin the previous version and the agents converge back on their next fire.
What you do not get is a per-agent confirmation. LoopSkill has no terminal "applied" state for a bundle and no callback from the client's machine, so you cannot tell from here whether a given agent has picked up a change. If you need that, the client's cron log is the source of truth.
White-label guidance
The client-side experience is entirely yours to control:
- Skills run locally on the client's machine. No LoopSkill domain appears in agent responses unless a skill description explicitly mentions it — and you control the skill descriptions.
- The bundle-scoped API key URL path does not expose your account name or any identifiable information.
- You bill your client at your rate. LoopSkill charges you $9.95/mo for Pro, regardless of how many agents you operate.
Learn about bundles first
See what a bundle is, visibility options, and how versions work.