Skills openserv-agent-sdk
๐Ÿ“ฆ

openserv-agent-sdk

Content revision r1 High Risk โš™๏ธ External commands๐ŸŒ Network access๐Ÿ”‘ Env variablesโšก Contains scripts

Build OpenServ AI Agents

Developers need clear guidance to build OpenServ agents without missing platform requirements. This skill explains SDK patterns, provisioning, deployment, troubleshooting, and agent workflows.

Supports: Claude Codex Code(CC)
โš ๏ธ 38 Poor

Install with my Agent

Copy this request to your Agent. It includes the canonical Skill page and manifest.

Agent request
Review the Skillstore skill "openserv-agent-sdk" from https://skillstore.io/skills/internet-court-openserv-agent-sdk.md and its manifest at https://skillstore.io/api/skills/internet-court-openserv-agent-sdk/manifest. Verify the artifact. Stop and obtain explicit user consent before installing or changing files.

Your Agent should still show its plan and request any confirmation required by the security policy.

Test it

Using "openserv-agent-sdk". I want a webhook agent that summarizes customer notes.

Expected outcome:

A setup plan with the agent purpose, capability list, trigger choice, provisioning sequence, timeout guidance, and deployment notes.

Using "openserv-agent-sdk". My ERC-8004 registration fails after provisioning.

Expected outcome:

A troubleshooting checklist covering wallet funding, private key loading, retry behavior, and how to keep the agent running.

Using "openserv-agent-sdk". Should this capability be runless or runnable?

Expected outcome:

A recommendation that compares platform-handled generation against custom code, then explains schema and logging requirements.

Security Audit

High Risk
v2 โ€ข 7/21/2026 Open versioned report

This is a documentation-only skill teaching how to build agents with the OpenServ TypeScript SDK (@openserv-labs/sdk); it ships Markdown reference docs and .ts example files, not an executable installer. Of 248 static hits, 237 are false positives: the "shell backtick execution" flags are JavaScript template literals and Markdown code fences, and the "API/secret key" and ".env" flags are placeholder names in an env.example and configuration prose with no real secrets embedded. 11 findings are kept at low severity for visibility because the documented provision() flow persists a crypto WALLET_PRIVATE_KEY to .env for on-chain (ERC-8004 / x402 / USDC) payments โ€” a transparent, documented behavior a reviewer should be aware of, not exfiltration.

12
Files scanned
1,559
Lines analyzed
6
Review items
0
False positives ignored

Confirmed security concerns (6)

High
Environment file access
**Important:** `provision()` writes `WALLET_PRIVATE_KEY` to `.env` at runtime. If you use `import 'd
Documents that provision() persists a crypto WALLET_PRIVATE_KEY to the .env file at runtime for on-chain (ERC-8004 / x402 / USDC) payments. This is a transparent, documented capability, not exfiltration, but persisting a wallet private key to disk is genuinely sensitive, so it is kept at low severity for reviewer visibility.
High
Crypto seed/private key mention
privateKey: process.env.WALLET_PRIVATE_KEY!,
Documents that provision() persists a crypto WALLET_PRIVATE_KEY to the .env file at runtime for on-chain (ERC-8004 / x402 / USDC) payments. This is a transparent, documented capability, not exfiltration, but persisting a wallet private key to disk is genuinely sensitive, so it is kept at low severity for reviewer visibility.
High
Environment file access
// Reload .env to pick up WALLET_PRIVATE_KEY written by provision()
Documents that provision() persists a crypto WALLET_PRIVATE_KEY to the .env file at runtime for on-chain (ERC-8004 / x402 / USDC) payments. This is a transparent, documented capability, not exfiltration, but persisting a wallet private key to disk is genuinely sensitive, so it is kept at low severity for reviewer visibility.
High
Crypto seed/private key mention
privateKey: process.env.WALLET_PRIVATE_KEY!,
Documents that provision() persists a crypto WALLET_PRIVATE_KEY to the .env file at runtime for on-chain (ERC-8004 / x402 / USDC) payments. This is a transparent, documented capability, not exfiltration, but persisting a wallet private key to disk is genuinely sensitive, so it is kept at low severity for reviewer visibility.
High
Environment file access
**Tip:** After `provision()` runs, the `WALLET_PRIVATE_KEY` is stored in `.env`. Use `dotenv.config(
Documents that provision() persists a crypto WALLET_PRIVATE_KEY to the .env file at runtime for on-chain (ERC-8004 / x402 / USDC) payments. This is a transparent, documented capability, not exfiltration, but persisting a wallet private key to disk is genuinely sensitive, so it is kept at low severity for reviewer visibility.
Low
Documented runtime persistence of a crypto wallet private key to .env
The reference and SKILL docs describe provision() writing WALLET_PRIVATE_KEY into the local .env file at runtime, then reloading it via dotenv.config({ override: true }), so the agent can sign on-chain ERC-8004 registration and x402/USDC payment transactions. This is transparent, intended SDK behavior documented for the developer โ€” not covert exfiltration โ€” but reviewers and users should understand that a spendable private key is stored in plaintext on disk and used to move funds on Base mainnet.
The behavior is explicitly documented as an intended SDK feature for payments, so it is not malicious; the low-but-nonzero confidence reflects the genuine sensitivity of persisting a spendable private key to a plaintext .env rather than any sign of hidden intent.
Capability review items (6)

These are real local capabilities that may be expected for this skill, so they require review but are not counted as confirmed malicious behavior.

High
Generic API/secret keys
WALLET_PRIVATE_KEY=
Documents that provision() persists a crypto WALLET_PRIVATE_KEY to the .env file at runtime for on-chain (ERC-8004 / x402 / USDC) payments. This is a transparent, documented capability, not exfiltration, but persisting a wallet private key to disk is genuinely sensitive, so it is kept at low severity for reviewer visibility.
High
Generic API/secret keys
// Top up credits with USDC (uses WALLET_PRIVATE_KEY env var)
Documents that provision() persists a crypto WALLET_PRIVATE_KEY to the .env file at runtime for on-chain (ERC-8004 / x402 / USDC) payments. This is a transparent, documented capability, not exfiltration, but persisting a wallet private key to disk is genuinely sensitive, so it is kept at low severity for reviewer visibility.
High
Generic API/secret keys
**Important:** `provision()` writes `WALLET_PRIVATE_KEY` to `.env` at runtime. If you use `import 'd
Documents that provision() persists a crypto WALLET_PRIVATE_KEY to the .env file at runtime for on-chain (ERC-8004 / x402 / USDC) payments. This is a transparent, documented capability, not exfiltration, but persisting a wallet private key to disk is genuinely sensitive, so it is kept at low severity for reviewer visibility.
High
Generic API/secret keys
WALLET_PRIVATE_KEY=auto-populated (also used for x402 payments, USDC top-up, and ERC-8004 registrati
Documents that provision() persists a crypto WALLET_PRIVATE_KEY to the .env file at runtime for on-chain (ERC-8004 / x402 / USDC) payments. This is a transparent, documented capability, not exfiltration, but persisting a wallet private key to disk is genuinely sensitive, so it is kept at low severity for reviewer visibility.
High
Generic API/secret keys
// Reload .env to pick up WALLET_PRIVATE_KEY written by provision()
Documents that provision() persists a crypto WALLET_PRIVATE_KEY to the .env file at runtime for on-chain (ERC-8004 / x402 / USDC) payments. This is a transparent, documented capability, not exfiltration, but persisting a wallet private key to disk is genuinely sensitive, so it is kept at low severity for reviewer visibility.
High
Generic API/secret keys
**Tip:** After `provision()` runs, the `WALLET_PRIVATE_KEY` is stored in `.env`. Use `dotenv.config(
Documents that provision() persists a crypto WALLET_PRIVATE_KEY to the .env file at runtime for on-chain (ERC-8004 / x402 / USDC) payments. This is a transparent, documented capability, not exfiltration, but persisting a wallet private key to disk is genuinely sensitive, so it is kept at low severity for reviewer visibility.

Risk Factors

โš™๏ธ External commands (50)
๐ŸŒ Network access (8)
๐Ÿ”‘ Env variables (50)
โšก Contains scripts (4)
Audited by: claude View Audit History โ†’
Share & cite this report

Share the versioned assessment report, neutral badge, embed card, and citations. Skillstore reports evidence without deciding whether this Skill is safe.

Open versioned report
Security Assessment

Copy report link

https://skillstore.io/skills/internet-court-openserv-agent-sdk/audits/2?utm_source=security_passport&utm_medium=share&utm_campaign=versioned_report

Markdown badge

[![Skillstore security assessment](https://skillstore.io/badges/skills/internet-court-openserv-agent-sdk/security.svg)](https://skillstore.io/skills/internet-court-openserv-agent-sdk?utm_source=security_passport_badge)

HTML badge

<a href="https://skillstore.io/skills/internet-court-openserv-agent-sdk?utm_source=security_passport_badge"><img src="https://skillstore.io/badges/skills/internet-court-openserv-agent-sdk/security.svg" alt="Skillstore security assessment" loading="lazy"></a>

Embed card

<iframe src="https://skillstore.io/embed/skills/internet-court-openserv-agent-sdk.html" title="Skillstore Security Assessment" sandbox="allow-popups allow-popups-to-escape-sandbox" loading="lazy" referrerpolicy="no-referrer" width="420" height="180"></iframe>
Academic citations (APA ยท BibTeX ยท CFF)

APA citation

internet-court. (2026). openserv-agent-sdk security audit report (audit version 2) [Author version unspecified]. Skillstore. https://skillstore.io/skills/internet-court-openserv-agent-sdk/audits/2

BibTeX citation

@techreport{internet-court-internet-court-openserv-agent-sdk-2026, author = {internet-court}, title = {openserv-agent-sdk security audit report (audit version 2)}, institution = {Skillstore}, year = {2026}, number = {2}, url = {https://skillstore.io/skills/internet-court-openserv-agent-sdk/audits/2}, note = {Author version unspecified} }

CITATION.cff

cff-version: 1.2.0 message: "If you use this Skill, cite its author and this versioned security audit report." title: "openserv-agent-sdk security audit report (audit version 2)" version: "unspecified" type: report authors: - name: "internet-court" date-released: "2026-07-21" url: "https://skillstore.io/skills/internet-court-openserv-agent-sdk/audits/2" identifiers: - type: other value: "skillstore:internet-court-openserv-agent-sdk:audit:2" description: "Skillstore immutable audit report identifier"

Skillstore Score

Why this score Evidence Confidence: Medium
55
Architecture
85
Maintainability
87
Content
65
Community
83
Spec Compliance

What You Can Build

Create a First Agent

Follow the basic agent pattern to provision and run a TypeScript OpenServ agent.

Deploy Platform Workflows

Prepare agents for webhook, manual, cron, or x402 triggers with correct runtime settings.

Add On-Chain Identity

Use the ERC-8004 guidance to register an agent identity after provisioning.

Try These Prompts

Plan a Basic Agent
Help me design a simple OpenServ agent. Include the agent purpose, one capability, required packages, and provisioning steps.
Convert a Tool to a Capability
Turn this tool idea into an OpenServ runnable capability. Include input fields, validation needs, task logging, and expected output.
Debug Provisioning Errors
Diagnose this OpenServ agent startup error. Explain likely causes, credential checks, and the safest next steps.
Design a Production Workflow
Design a production OpenServ workflow with deployment, trigger choice, credential handling, timeout settings, and ERC-8004 considerations.

Best Practices

  • Use runless capabilities or generate when platform-delegated model calls are enough.
  • Keep user API keys, auth tokens, and wallet private keys out of logs and commits.
  • Call provision before deployment and confirm trigger timeouts match expected workloads.

Avoid

  • Do not use the legacy process method unless direct OpenAI calls are required.
  • Do not reuse agent API keys for PlatformClient management calls.
  • Do not clear wallet state unless you intentionally want a new on-chain identity.

Frequently Asked Questions

Does this skill create an OpenServ account?
No. It explains how provision can create or bind account credentials during agent setup.
Do I need an OpenAI API key?
Usually no. Runless capabilities and generate use platform-delegated model calls.
Can it help with deployment?
Yes. It covers local runtime, OpenServ Cloud deployment, and self-hosted endpoint configuration.
Does it support paid workflows?
Yes. It documents x402 triggers and payment workflows that require careful user approval.
What secrets need protection?
Protect OPENSERV_USER_API_KEY, OPENSERV_API_KEY, OPENSERV_AUTH_TOKEN, and WALLET_PRIVATE_KEY.
Should I read openserv-client too?
Yes. The companion client reference covers platform management and deeper ERC-8004 APIs.

Developer Details

License

MIT

Skillstore revision

r1

Version notice

The author did not declare a version.

Ref

3f6e026a3363e0954ede7bef0cfe88d4475de137

Maintenance freshness

7/21/2026

Usage

1 downloads ยท 0 views

File structure

More from internet-court

View all
View all