@phoenixaihub/openclaw-skill-marketplace
v1.0.0
Published
Full App Store for OpenClaw agent skills — registry, CLI, API, billing, sandboxing, community
Maintainers
Readme
OpenClaw Skill Marketplace
Full App Store for OpenClaw agent skills — discover, install, publish, and monetize skills.
Features
- Registry — Skill discovery, search, semver versioning, dependency resolution
- CLI —
search | install | uninstall | publish | update | info | list | login - REST API — Fastify server for web marketplace frontend
- Billing — Stripe subscription management with 70/30 revenue split
- Sandboxing — Permission model with install-time prompts and runtime enforcement
- Community — Reviews, ratings, featured skills, bundles, abuse reporting
- Analytics — Install tracking, trending algorithm, author dashboard
Install
npm install @phoenixaihub/openclaw-skill-marketplaceCLI Usage
# Search for skills
openclaw-skill-marketplace search trading
openclaw-skill-marketplace search "content creator" --category productivity
# Install a skill
openclaw-skill-marketplace install trading-analyst
openclaw-skill-marketplace install trading-analyst --version 1.2.0
# Publish your skill
cd my-skill/
openclaw-skill-marketplace publish
# Get skill info
openclaw-skill-marketplace info trading-analyst
# List installed skills
openclaw-skill-marketplace list
# Check for updates
openclaw-skill-marketplace update
# Uninstall
openclaw-skill-marketplace uninstall trading-analyst
# Authenticate as author
openclaw-skill-marketplace loginProgrammatic API
import { SkillRegistry, validateManifest, createServer } from '@phoenixaihub/openclaw-skill-marketplace';
// Registry
const registry = new SkillRegistry();
const results = await registry.search('trading');
const skill = await registry.getSkill('trading-analyst');
// Validate a manifest
const manifest = validateManifest({
name: 'my-skill',
version: '1.0.0',
description: 'My awesome skill',
author: { name: 'me' },
});
// Start marketplace API server
const server = createServer({ port: 3000 });
await server.listen({ port: 3000 });Skill Manifest (skill.json)
{
"name": "trading-analyst",
"version": "1.2.0",
"description": "Advanced trading analysis with flow detection",
"author": { "name": "phoenixai", "email": "[email protected]" },
"license": "MIT",
"pricing": { "tier": "paid", "price": 900, "currency": "usd", "interval": "month" },
"permissions": ["tools.browser", "tools.exec", "files.read"],
"dependencies": { "tradingview-mcp": "^1.0.0" },
"tags": ["trading", "finance", "analysis"],
"category": "finance",
"openclaw": { "minVersion": "0.50.0" },
"repository": "https://github.com/example/trading-analyst",
"files": ["SKILL.md", "scripts/", "references/"]
}REST API Endpoints
| Method | Path | Description |
|--------|------|-------------|
| GET | /skills | List skills (paginated, filterable) |
| GET | /skills/:name | Skill details |
| GET | /skills/:name/reviews | Skill reviews |
| POST | /skills/:name/reviews | Submit review |
| GET | /skills/:name/versions | Version history |
| POST | /skills | Publish skill |
| GET | /featured | Featured skills |
| GET | /categories | Category listing |
| GET | /authors/:id | Author profile |
| GET | /authors/:id/dashboard | Author dashboard |
| GET | /health | Health check |
Permissions
Skills declare required permissions in their manifest:
| Permission | Description |
|-----------|-------------|
| tools.browser | Browser automation |
| tools.exec | Shell command execution |
| tools.mcp | MCP server access |
| files.read | Read files |
| files.write | Write/modify files |
| network | Network requests |
| exec | Arbitrary command execution |
| browser | Browser control |
Billing
- Free tier — $0/mo
- Basic — $5/mo
- Pro — $9/mo
- Enterprise — $19/mo
- Revenue split: 70% creator / 30% platform
License
MIT
