ToolJet Marketplace Plugin Builder
ToolJet/ToolJet
Turns an API description, such as an OpenAPI file or a Postman collection, into a connector plugin for ToolJet's marketplace and checks it with the repo's validator.
Turns an OpenAPI, Swagger or OpenRPC spec into CLI commands the agent can search and call, with no MCP server or code generation.
$ npx skills add EvilFreelancer/openapi-to-cli --skill ocli-api -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install EvilFreelancer/openapi-to-cli ocli-api --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/EvilFreelancer/openapi-to-cli.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ocli-api .claude/skills/ocli-api && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "ocli-api" agent skill from https://github.com/EvilFreelancer/openapi-to-cli/tree/main/skills/ocli-api into .claude/skills/ocli-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ocli-api", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/EvilFreelancer/openapi-to-cli/tree/main/skills/ocli-apiType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add EvilFreelancer/openapi-to-cli --skill ocli-api -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install EvilFreelancer/openapi-to-cli ocli-api --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EvilFreelancer/openapi-to-cli.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/ocli-api .agents/skills/ocli-api && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ocli-api" agent skill from https://github.com/EvilFreelancer/openapi-to-cli/tree/main/skills/ocli-api into .agents/skills/ocli-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ocli-api", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add EvilFreelancer/openapi-to-cli --skill ocli-api -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install EvilFreelancer/openapi-to-cli ocli-api --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EvilFreelancer/openapi-to-cli.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/ocli-api .cursor/skills/ocli-api && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ocli-api" agent skill from https://github.com/EvilFreelancer/openapi-to-cli/tree/main/skills/ocli-api into .cursor/skills/ocli-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ocli-api", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/EvilFreelancer/openapi-to-cli.git --path skills/ocli-api--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add EvilFreelancer/openapi-to-cli --skill ocli-api -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install EvilFreelancer/openapi-to-cli ocli-api --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EvilFreelancer/openapi-to-cli.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/ocli-api .gemini/skills/ocli-api && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ocli-api" agent skill from https://github.com/EvilFreelancer/openapi-to-cli/tree/main/skills/ocli-api into .gemini/skills/ocli-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ocli-api", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install EvilFreelancer/openapi-to-cli ocli-apiInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add EvilFreelancer/openapi-to-cli --skill ocli-api -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/EvilFreelancer/openapi-to-cli.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/ocli-api .github/skills/ocli-api && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ocli-api" agent skill from https://github.com/EvilFreelancer/openapi-to-cli/tree/main/skills/ocli-api into .github/skills/ocli-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ocli-api", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add EvilFreelancer/openapi-to-cli --skill ocli-api -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install EvilFreelancer/openapi-to-cli ocli-api --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EvilFreelancer/openapi-to-cli.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/ocli-api .opencode/skills/ocli-api && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ocli-api" agent skill from https://github.com/EvilFreelancer/openapi-to-cli/tree/main/skills/ocli-api into .opencode/skills/ocli-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ocli-api", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ocli-apiTurns an OpenAPI, Swagger or OpenRPC spec into CLI commands the agent can search and call, with no MCP server or code generation.
ocli-api lets the agent call an HTTP or JSON-RPC API straight from its OpenAPI, Swagger or OpenRPC description by turning each endpoint or method into a CLI command, so no MCP server, generated code or JSON schemas in context are needed. The skill pitches this as low overhead: one tool, at about 158 tokens per turn.
After a one-time setup with npm install -g openapi-to-cli and ocli profiles add, the loop is: search for the right command with ocli commands --query, a BM25 natural-language search with a result limit and a regex option, check its parameters with --help, run it, and parse the JSON response. Several APIs can be kept as profiles and switched with ocli use. For OpenRPC, ocli wraps documented parameters in a JSON-RPC 2.0 request itself, and endpoints can be filtered with rpc: selectors. Guardrails: search before guessing a command name, check --help first, never invent parameter names, leave jsonrpc, method and id out of OpenRPC calls, and read an error response before retrying.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 8b0c2ea. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
OpenAPI CLI Caller loads about 879 tokens when it runs. Until then it costs about 40 tokens; SKILL.md has 332 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from EvilFreelancer/openapi-to-cli at commit 8b0c2ea, republished under its MIT licence (© EvilFreelancer). 332 words, ~879 tokens.
.claude/skills/ocli-api/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Call any HTTP API described by an OpenAPI, Swagger, or OpenRPC spec as CLI commands. No MCP server, no code generation, no JSON schemas in context.
npm install -g openapi-to-cli
ocli profiles add <name> \
--api-base-url <BASE_URL> \
--openapi-spec <SPEC_URL_OR_PATH> \
--api-bearer-token "$TOKEN"
ocli use <name>For OpenRPC, use the same profile command. ocli builds one command per RPC method and wraps documented parameters in a JSON-RPC 2.0 request automatically:
ocli profiles add rpc-api \
--api-base-url https://api.example.com/rpc \
--openapi-spec ./openrpc.json
ocli getWidget --widgetId widget-7ocli serializes integer, number, and boolean values according to the method schema. Pass arrays and objects as JSON. It follows paramStructure: "by-position" by sending the documented flags as a JSON-RPC parameter array in order. Named and either methods receive a JSON object.
For OpenRPC profiles, use rpc:<method> selectors with --include-endpoints or --exclude-endpoints, for example rpc:getWidget. OpenRPC method names must be unique.
ocli commands --query "your task description" --limit 5ocli <command> --helpocli <command> --param1 value1 --param2 value2# BM25 natural language search
ocli commands --query "upload file to storage" --limit 5
# Regex pattern search
ocli commands --regex "users.*post" --limit 10
# List all commands
ocli commands# Switch active profile
ocli use github
# Or specify per-call
ocli repos_get --profile github --owner octocat --repo Hello-World--help before calling a command you haven't used before.--help output.jsonrpc, method, or id; ocli supplies them and follows the documented parameter structure.--regex.--help and add the missing flag.--help, including a leading $ when the spec uses one (--$expand).ocli profiles show <name>).ocli profiles add again with --openapi-spec to refresh cache.© EvilFreelancer, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skills/ocli-api of EvilFreelancer/openapi-to-cli.
Open the folder on GitHubat commit 8b0c2ea
OpenAPI CLI Caller next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| OpenAPI CLI Caller this skillEvilFreelancer/openapi-to-cli | 265 | — | ~879 | Automated safety check: Pass | MIT | |
| ToolJet Marketplace Plugin BuilderToolJet/ToolJet | 41k | — | ~2.1k | Automated safety check: Pass | AGPL-3.0 | |
| API Endpoint Contracttrycompai/comp | 2k | — | ~2.7k | Automated safety check: Pass | AGPL-3.0 | |
| Soundcloud API Integrationsoundcloud/api | 257 | — | ~787 | Automated safety check: Pass | None | |
| Mock REST APIsmendixlabs/mxcli | 128 | 1 repos | ~2.5k | Automated safety check: Pass | Apache-2.0 | |
| REST Clientmendixlabs/mxcli | 128 | 1 repos | ~3.9k | Automated safety check: Pass | Apache-2.0 |
ToolJet/ToolJet
Turns an API description, such as an OpenAPI file or a Postman collection, into a connector plugin for ToolJet's marketplace and checks it with the repo's validator.
trycompai/comp
The contract every new or modified API endpoint must follow so it is correct for the public OpenAPI spec, the MCP server (npm @trycompai/mcp-server), the ValidationPipe, and the docs.
soundcloud/api
Integrates applications with the SoundCloud HTTP API using OAuth 2.1, OpenAPI, and developer docs.
mendixlabs/mxcli
Stand up an HTTP endpoint you control instead of a live third-party API, and point the Mendix app at it — Prism from an OpenAPI contract, a constant swap, or a forward proxy.
mendixlabs/mxcli
Call external REST APIs from Mendix — the three approaches (inline REST CALL, consumed REST client document, generated from OpenAPI) and how to choose.
Jeffallan/claude-skills
Designs REST and GraphQL APIs from resource modeling to an OpenAPI 3.1 contract, with versioning, pagination and RFC 7807 error handling.
Categories
Turns an OpenAPI, Swagger or OpenRPC spec into CLI commands the agent can search and call, with no MCP server or code generation. ocli-api lets the agent call an HTTP or JSON-RPC API straight from its OpenAPI, Swagger or OpenRPC description by turning each endpoint or method into a CLI command, so no MCP server, generated code or JSON schemas in context are needed. The skill pitches this as low overhead: one tool, at about 158 tokens per turn.
OpenAPI CLI Caller fits situations like: calling a REST API when you have its OpenAPI or Swagger spec; calling a JSON-RPC API described by an OpenRPC document; keeping tool overhead low instead of running an MCP server; switching between several APIs saved as profiles.
Run `npx skills add EvilFreelancer/openapi-to-cli --skill ocli-api -a claude-code`. Or copy the skill folder (skills/ocli-api in EvilFreelancer/openapi-to-cli) into .claude/skills/ocli-api in your project. Claude Code loads it when a task matches its description.
Run `npx skills add EvilFreelancer/openapi-to-cli --skill ocli-api -a codex`. Or copy the skill folder (skills/ocli-api in EvilFreelancer/openapi-to-cli) into .agents/skills/ocli-api in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add EvilFreelancer/openapi-to-cli --skill ocli-api -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ocli-api, .gemini/skills/ocli-api, .github/skills/ocli-api and .opencode/skills/ocli-api in your project.
Going by SKILL.md and its folder, OpenAPI CLI Caller needs the command-line tools its instructions call (npm). Our summary lists: openapi-to-cli installed globally with npm, which provides ocli; An OpenAPI, Swagger or OpenRPC spec as a URL or local file.
SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
OpenAPI CLI Caller is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 879 tokens (SKILL.md is roughly 3.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with OpenAPI CLI Caller: ToolJet Marketplace Plugin Builder (ToolJet/ToolJet, 41k stars), API Endpoint Contract (trycompai/comp, 2k stars), Soundcloud API Integration (soundcloud/api, 257 stars) and Mock REST APIs (mendixlabs/mxcli, 128 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
EvilFreelancer (a GitHub user) maintains it in EvilFreelancer/openapi-to-cli, which has 265 GitHub stars. The repository was last updated on September 22, 2026.
Source: EvilFreelancer/openapi-to-cli on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.