Agent Skills for the Venice API.
$ npx -y skills add veniceai/skills --agent claude-code
Agent Skills for the Venice API. Skills are self-contained folders of instructions (one SKILL.md each) that an LLM agent loads on demand to work correctly against a specific surface area of the API.
This repository is the canonical source of truth for Venice skills and is kept in sync with swagger.yaml. Use it with Cursor, Claude, Codex, Cline, or any other agent runtime that supports the Agent Skills format.
skills/ One folder per skill, each with a SKILL.md
template/ Copy this as a starting point for a new skill
| Skill | Covers |
|---|---|
venice-api-overview | Base URL, auth modes, response headers, pricing model, versioning |
venice-auth | Bearer API keys + SIWX / x402 wallet authentication (Base and Solana) |
venice-chat | /chat/completions — venice_parameters, multimodal, tools, reasoning, streaming |
venice-responses | /responses — OpenAI-compatible Responses API (Alpha) |
venice-embeddings | /embeddings — models, encoding formats, dimensions |
venice-image-generate | /image/generate, /images/generations, /image/styles |
venice-image-edit | /image/edit, /image/multi-edit, /image/upscale, /image/background-remove |
venice-audio-speech | /audio/speech, /audio/voices — TTS models, voices, voice cloning, formats, streaming |
venice-audio-music | /audio/quote, /audio/queue, /audio/retrieve, /audio/complete |
venice-audio-voice-changer | /audio/voice-changer/* — async speech-to-speech voice conversion (no model open to regular API keys yet) |
venice-audio-transcription | /audio/transcriptions — Whisper, Parakeet, Scribe, Wizper, xAI STT |
venice-video | /video/quote, /video/queue, /video/retrieve, /video/complete (/video/transcriptions is retired) |
venice-decisions | /decisions and /systemone — typed judgments from the Jev decision model (Beta) |
venice-models | /models, /models/traits, /models/compatibility_mapping |
venice-text-routing | Pick a Venice text model by privacy tier (anonymized / private / TEE / E2EE), capability (vision, reasoning, code, tools, web search), context size, and cost. The routing layer above /chat/completions. |
venice-characters | /characters* + venice_parameters.character_slug |
venice-api-keys | CRUD /api_keys, rate limits, Web3 key generation |
venice-billing | /billing/balance, /billing/usage-history, /billing/usage-analytics |
venice-x402 | /x402/* — wallet credits, USDC on Base and Solana |
venice-crypto-rpc | /crypto/rpc/* — EVM / Starknet / Solana JSON-RPC proxy with 1×/2×/4× pricing |
venice-augment | /augment/text-parser, /augment/scrape, /augment/search |
venice-errors | Error shapes, 402 payment required, 422 content policy, 429 rate limits, retry strategy |
Each skill is just a folder with a SKILL.md that starts with YAML frontmatter:
---
name: venice-chat
description: …when the agent should load this skill and what's in it…
---
Clone or subtree the repo and point your agent skills path at skills/:
# project-local, pinned to a release
git clone --branch v0.2.0 git@github.com:veniceai/skills.git .cursor/skills-venice
# or copy individual skills
cp -r skills/venice-chat .cursor/skills/
The SKILL.md format is a shared spec — drop the skills/ folder (or any subset) into whichever path your runtime watches:
| Runtime | Project-local | Global |
|---|---|---|
| Claude Code | .claude/skills/ | ~/.claude/skills/ |
| Codex | .codex/skills/ | $CODEX_HOME/skills/ (default ~/.codex/skills/) |
| OpenCode | .opencode/skills/ (also reads .claude/skills/ + .agents/skills/) | ~/.config/opencode/skills/ |
| Hermes Agent (Nous Research) | $HERMES_OPTIONAL_SKILLS_DIR | ~/.hermes/skills/ |
| Cursor | .cursor/skills/ | ~/.cursor/skills/ |
| Cline | .clinerules/skills/ | n/a |
| Any other runtime | .agents/skills/ (convention) | ~/.agents/skills/ |
One-liner install for most setups:
# clone once, pinned to a release
git clone --branch v0.2.0 https://github.com/veniceai/skills.git ~/src/venice-skills
# symlink into every runtime you use
ln -s ~/src/venice-skills/skills ~/.claude/skills/venice
ln -s ~/src/venice-skills/skills ~/.codex/skills/venice
ln -s ~/src/venice-skills/skills ~/.config/opencode/skills/venice
ln -s ~/src/venice-skills/skills ~/.hermes/skills/venice
A single clone feeds every runtime you symlink it into, and some skills teach an agent to sign USDC payments and handle wallet keys. Pin to a release tag rather than tracking main, and upgrade deliberately after reading the changelog:
cd ~/src/venice-skills
git fetch --tags
git diff v0.2.0 <new-tag> -- skills/ # review what changed
git checkout <new-tag>
The agent discovers each SKILL.md by its frontmatter name + description and loads it on demand. Runtimes that define extra frontmatter fields (version, platforms, metadata.*, compatibility, …) are required by spec to ignore unknown fields, so the same skill file works everywhere without forks.
NanoCoder and similar minimal coding agents (Claw-Code, etc.) don't ship their own skills runtime — they piggyback on whichever host agent (Claude Code, OpenCode, Hermes) is driving them. Install the skills in the host and NanoCoder will see them automatically.
git submodule add git@github.com:veniceai/skills.git vendor/venice-skills
git -C vendor/venice-skills checkout v0.2.0
Then symlink or copy the subsets you want into your agent's skill path.
template/ to skills/<your-skill-name>/.description concrete — it's what an agent uses to decide when to load the skill.SKILL.md for cross-navigation.See CONTRIBUTING.md for style conventions (short first paragraph, explicit endpoint tables, curl + one SDK example, "gotchas" section, ≤ 500 lines).
Skills are derived from the current Venice OpenAPI spec and public docs at https://docs.venice.ai. When the spec changes, update the affected skills and cut a release.
| Mode | Header | When to use |
|---|---|---|
| Bearer API key | Authorization: Bearer <key> | Venice account; each request is charged to one currency, in the order DIEM → earned credits → bundled credits → USD. |
| x402 / SIWX wallet | SIGN-IN-WITH-X: <base64 SIWX> | No account required, pay per request with USDC on Base (chain 8453) or Solana mainnet. The legacy X-Sign-In-With-X name still works. |
See skills/venice-auth for full signing details.
The skills are derived from the Venice OpenAPI spec. Run the sync script to diff the currently-published spec against the endpoints and model-type enums referenced in each SKILL.md:
python scripts/sync_from_swagger.py --spec https://api.venice.ai/api/v1/swagger.yaml
# or against a local copy
python scripts/sync_from_swagger.py --spec ./swagger.yaml
The script prints:
type=… value added).CI runs this nightly; any drift is filed as an issue with the sync label.
Some skills teach an agent to sign USDC payments, hold wallet keys, manage API keys and send JSON-RPC to mainnets, so every change is gated before it can reach an install:
scripts/check_skill_integrity.py runs on every PR and fails if lines added under skills/, scripts/, template/, AGENTS.md or skills.json introduce a URL host outside its allowlist (URLs are parsed, and credentials, percent-encoding, backslashes, missing slashes and templated hosts fail closed), a scheme-relative URL, a scheme-less host followed by a path in a curl / wget command, a wallet address other than the known USDC contracts and Solana mainnet id, a 0x + 64-hex or long base58 string that could be a private key, or curl / wget piped into a shell or interpreter. Run it locally with python scripts/check_skill_integrity.py --base origin/main. Extending an allowlist means editing that script, which needs a code-owner review.@veniceai/api-reviewers, @tombystrican, @lightcap or @joshua-mo-143 for venice-x402, venice-auth, venice-api-keys, venice-crypto-rpc, scripts/ and .github/, and those PRs are labeled security-review.MIT — see LICENSE. Use these skills however you like; a credit link back to https://docs.venice.ai is appreciated but not required.
venice is a Claude Code plugin with 22 hand-picked skills, indexed on Flowy in the Skill Authoring category. Install it with the command on its page. It includes venice-api-keys, venice-api-overview, venice-audio-music. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it