Install any skill in seconds. Free to start, no credit card required.
Get Started Free →internet-court/openserv-agent-sdk
Build and deploy autonomous AI agents using the OpenServ SDK (@openserv-labs/sdk). IMPORTANT - Always read the companion skill openserv-client alongside this skill, as both packages are required to build and run agents. openserv-client covers the full Platform API for multi-agent workflows and ERC-8004 on-chain identity. Read reference.md for the full API reference.
Passed 22 of 22 test cases with the skill, and 9 of 22 without it.
and 17 more in the full report
13 fixed9 passed either way0 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 13 test cases the skill fixed. Same model, same prompt, with and without the skill.
When creating an agent capability with Zod argument validation in a TypeScript agent project, should parameters be defined under the `schema` key or `inputSchema` key? Write a minimal agent.addCapability call with a Zod string field named query.
| Checked | Without skill | With skill |
|---|---|---|
| Uses inputSchema to define capability parameters instead of schema. | Missed | Passed |
The instructions your model reads when the skill loads.
Build and deploy custom AI agents for the OpenServ platform using TypeScript.
An OpenServ agent is a service that runs your code and exposes it on the OpenServ platform—so it can be triggered by workflows, other agents, or paid calls (e.g. x402). The platform sends tasks to your agent; your agent runs your capabilities (APIs, tools, file handling) and returns results. You don't have to use an LLM—e.g. it could be a static API that just returns data. If you need LLM reasoning, you have two options: use runless capabilities (the platform handles the AI call for you—no API key needed) or use generate() (delegates the LLM call to the platform); alternatively, bring your own LLM (any provider you have access to).
run handler) and runless (just a name and description—the platform handles the AI call automatically). You can also use generate() inside runnable capabilities to delegate LLM calls to the platform.provision() create one for you automatically by creating a wallet and signing up with it (that account is reused on later runs). Call provision() (from @openserv-labs/client): it creates or reuses a wallet, registers the agent, and writes API key and auth token into your env (or you pass agent.instance to bind them directly). In development you can skip setting an endpoint URL; the SDK can use a built-in tunnel to the platform.run(agent). The agent listens for tasks, runs your capabilities (and your LLM if you use one), and responds. Use reference.md and troubleshooting.md for details; examples/ has full runnable code.run() function needed. Optionally define inputSchema and outputSchema for structured I/O.inputSchema, and run() function.generate() method — Delegate LLM calls to the platform from inside any runnable capability. No API key needed—the platform performs the call and records usage. Supports text and structured output.addLogToTask() and uploadFile().Reference: reference.md (patterns) · troubleshooting.md (common issues) · examples/ (full examples)
npm install @openserv-labs/sdk @openserv-labs/client zod
Note:
openaiis only needed if you use theprocess()method for direct OpenAI calls. Most agents don't need it—use runless capabilities orgenerate()instead.
See examples/basic-agent.ts for a complete runnable example.
The pattern is simple:
test cases passed, vs 9 / 22 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.