OpenAPI to MCP Server
mcp-use/mcp-use
Turns an OpenAPI or Swagger spec into an MCP server with the mcp-use TypeScript SDK, mapping each operation to a tool, wiring auth, testing and deploying.
Keep the CLI in sync with upstream OpenAPI specs. An agent skill from alpacahq/cli.
$ npx skills add alpacahq/cli --skill alpaca-cli-regenerate -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install alpacahq/cli alpaca-cli-regenerate --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/alpacahq/cli.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/alpaca-cli-regenerate .claude/skills/alpaca-cli-regenerate && 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 "alpaca-cli-regenerate" agent skill from https://github.com/alpacahq/cli/tree/main/.agents/skills/alpaca-cli-regenerate into .claude/skills/alpaca-cli-regenerate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "alpaca-cli-regenerate", 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/alpacahq/cli/tree/main/.agents/skills/alpaca-cli-regenerateType 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 alpacahq/cli --skill alpaca-cli-regenerate -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install alpacahq/cli alpaca-cli-regenerate --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alpacahq/cli.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/alpaca-cli-regenerate .agents/skills/alpaca-cli-regenerate && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "alpaca-cli-regenerate" agent skill from https://github.com/alpacahq/cli/tree/main/.agents/skills/alpaca-cli-regenerate into .agents/skills/alpaca-cli-regenerate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "alpaca-cli-regenerate", 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 alpacahq/cli --skill alpaca-cli-regenerate -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install alpacahq/cli alpaca-cli-regenerate --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alpacahq/cli.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/alpaca-cli-regenerate .cursor/skills/alpaca-cli-regenerate && 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 "alpaca-cli-regenerate" agent skill from https://github.com/alpacahq/cli/tree/main/.agents/skills/alpaca-cli-regenerate into .cursor/skills/alpaca-cli-regenerate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "alpaca-cli-regenerate", 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/alpacahq/cli.git --path .agents/skills/alpaca-cli-regenerate--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 alpacahq/cli --skill alpaca-cli-regenerate -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install alpacahq/cli alpaca-cli-regenerate --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alpacahq/cli.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/alpaca-cli-regenerate .gemini/skills/alpaca-cli-regenerate && 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 "alpaca-cli-regenerate" agent skill from https://github.com/alpacahq/cli/tree/main/.agents/skills/alpaca-cli-regenerate into .gemini/skills/alpaca-cli-regenerate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "alpaca-cli-regenerate", 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 alpacahq/cli alpaca-cli-regenerateInstalls 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 alpacahq/cli --skill alpaca-cli-regenerate -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/alpacahq/cli.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/alpaca-cli-regenerate .github/skills/alpaca-cli-regenerate && 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 "alpaca-cli-regenerate" agent skill from https://github.com/alpacahq/cli/tree/main/.agents/skills/alpaca-cli-regenerate into .github/skills/alpaca-cli-regenerate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "alpaca-cli-regenerate", 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 alpacahq/cli --skill alpaca-cli-regenerate -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install alpacahq/cli alpaca-cli-regenerate --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alpacahq/cli.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/alpaca-cli-regenerate .opencode/skills/alpaca-cli-regenerate && 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 "alpaca-cli-regenerate" agent skill from https://github.com/alpacahq/cli/tree/main/.agents/skills/alpaca-cli-regenerate into .opencode/skills/alpaca-cli-regenerate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "alpaca-cli-regenerate", 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.
alpaca-cli-regenerateKeep the CLI in sync with upstream OpenAPI specs. An agent skill from alpacahq/cli.
Alpaca CLI Regenerate is an agent skill from alpacahq/cli. Keep the CLI in sync with upstream OpenAPI specs. Pulls latest specs, runs the code generator, registers new operations, updates golden files, and runs all checks. Use when specs changed upstream, a new API endpoint was added, generation is stale, or the user says "regenerate", "generate", "sync specs", "update specs", or "spec-update".
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Backend & APIs, covering OpenAPI specifications and REST APIs. It works with Alpaca. The licence is Apache-2.0.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 5360627. 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:
makegogitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, 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.
Alpaca CLI Regenerate loads about 2k tokens when it runs. Until then it costs about 90 tokens; SKILL.md has 783 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 alpacahq/cli at commit 5360627, republished under its Apache-2.0 licence (© alpacahq). 783 words, ~1,982 tokens.
.claude/skills/alpaca-cli-regenerate/SKILL.md (or your agent's skills folder).Run each phase in order. Stop and fix before moving to the next.
make spec-update requires network access (it curls docs.alpaca.markets).
Request full_network permissions if running in a sandbox.
make spec-updateDownloads trading-api.json and market-data-api.json from
docs.alpaca.markets/openapi/ into api/specs/.
After pulling, check what changed:
git diff --stat api/specs/If nothing changed, specs are already current - skip to Phase 4 to verify generated code is still fresh.
make generateThis runs go run ./cmd/generate which reads the specs and writes:
| Generated file | Contents |
|---|---|
internal/api/trading_types.gen.go | Structs and enums from trading spec |
internal/api/trading_client.gen.go | Trading API client methods |
internal/api/marketdata_types.gen.go | Structs and enums from market data spec |
internal/api/marketdata_client.gen.go | Market data API client methods |
internal/api/descriptions.gen.go | Op metadata, flags, response schemas |
internal/cmd/commands.gen.go | Cobra command tree |
Never edit *.gen.go files directly. Change the specs or generator,
then re-run make generate.
The generator enforces exhaustiveness. Common failures and fixes:
unregistered operation "FooBar" — add to cmdRegistry or cmdSkipEvery operationId in the specs must appear in either cmdRegistry or
cmdSkip in cmd/generate/commands.go.
To register a new command, add an entry to cmdRegistry:
"FooBar": {
parent: "<parent-group>", // key in cmdParents
use: "<subcommand-name>",
examples: " alpaca <parent> <subcommand> --flag value",
},Rules for registry entries:
parent must be a key in cmdParents (or create a new parent group)examples is required - the generator fails without ituse namesdefaults for sensible default flag valuesbodyAliases if a body field name collides with a query/path parambodyHook / bodySkipFields for complex body constructionconfigureFunc for hand-written configure hooks (e.g. order submit's bracket legs)normalize for path params that need URL normalization (e.g. symbols with /)If the command IS its parent (e.g. alpaca clock runs directly, not
alpaca clock get), use self: true and omit use:
"LegacyClock": {
parent: "clock",
self: true,
examples: " alpaca clock",
},To skip an operation (intentionally exclude from the CLI):
var cmdSkip = map[string]string{
"FooBar": "reason for skipping",
}body field "name" collides with a query/path param — add bodyAliasesFix by adding a bodyAliases entry that renames the body flag:
"UpdateFoo": {
parent: "foo",
use: "update",
bodyAliases: map[string]string{"name": "new-name"},
examples: " alpaca foo update --name old --new-name new",
},Add to cmdParents in cmd/generate/commands.go:
"myGroup": {
use: "my-group",
short: "Short description",
long: "Longer description for --help.",
},For nested groups, set parent:
"mySubGroup": {
use: "sub",
short: "Sub-group description",
parent: "myGroup",
},Top-level parent groups also need root wiring. If the new group is
not nested under an existing parent, add it to addGroup() in
internal/cmd/root.go. Pick the right group (tradingGroup,
accountGroup, or utilGroup):
addGroup(rootCmd, tradingGroup.ID, orderCmd, ..., myGroupCmd)Without this, the command won't appear in --help or --help-all.
After fixing, re-run make generate until it succeeds.
If the command tree or op metadata changed, golden files will be stale:
go test ./internal/cmd -run TestCommandTreeGolden -update
go test ./internal/cmd -run TestOpsGolden -updatemake checkThis runs golangci-lint, go test -race ./..., and go build. Fix any
failures before proceeding.
If tests fail due to golden drift you missed, re-run Phase 4.
Review what changed end-to-end:
git diff --statVerify:
api/specs/ - spec files updatedinternal/api/*.gen.go - types and clients regeneratedinternal/cmd/commands.gen.go - command tree regeneratedinternal/cmd/testdata/*.golden - golden files updated if neededcmd/generate/commands.go - new operations registered if neededinternal/cmd/root.go - new top-level parent groups wired via addGrouptest/integration/ - integration tests added for new commandsIf commands were added, add integration tests in test/integration/.
Follow the rules in the "Integration tests" section of AGENTS.md -
one file per feature area, t.Parallel() for read-only tests, cleanup
for writes. If the endpoint is unavailable on paper (see the
paper-unavailable list in AGENTS.md), write a test that accepts either
a valid response or a structured JSON error.
If commands or flags were added, removed, or renamed, follow the
"Keep docs in sync" section in AGENTS.md.
Keep README.md concise. It should describe command areas and point to
alpaca --help-all, <command> --help, and <command> --schema instead
of listing generated command tables. Add README detail only when user-facing
behavior, safety guidance, authentication, output, or install/update flow
changes.
| Task | Command |
|---|---|
| Pull specs | make spec-update |
| Generate code | make generate |
| Update golden files | go test ./internal/cmd -run TestCommandTreeGolden -update && go test ./internal/cmd -run TestOpsGolden -update |
| Lint + test + build | make check |
| See what changed | git diff --stat |
| Integration tests | make test-integration (needs API keys) |
| File | Role | Editable? |
|---|---|---|
api/specs/*.json | OAS specs (read-only inputs) | No - pull from upstream |
cmd/generate/main.go | Generator logic | Yes |
cmd/generate/commands.go | Command registry and parent groups | Yes |
internal/api/*.gen.go | Generated types and clients | No - regenerate |
internal/cmd/commands.gen.go | Generated Cobra commands | No - regenerate |
internal/cmd/root.go | Root command wiring (addGroup for top-level parents) | Yes |
internal/cmd/testdata/*.golden | Golden test snapshots | Update via -update flag |
*.gen.go files directly - they are overwritten by make generate. Change the specs or the generator instead.api/specs/ - fix bugs upstream and re-import with make spec-update.make check after generating - generated code can introduce lint failures or test regressions.cmdRegistry entry without examples - the generator enforces this and will fail.cmdSkip without a reason - the reason documents why the endpoint is excluded from the CLI.© alpacahq, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/alpaca-cli-regenerate of alpacahq/cli.
Open the folder on GitHubat commit 5360627
Alpaca CLI Regenerate 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 |
|---|---|---|---|---|---|---|
| Alpaca CLI Regenerate this skillalpacahq/cli | 178 | — | ~2k | Automated safety check: Pass | Apache-2.0 | |
| OpenAPI to MCP Servermcp-use/mcp-use | 11k | — | ~5.2k | Automated safety check: Pass | Apache-2.0 | |
| Use Yaakmountain-loop/yaak | 19k | — | ~1.9k | Automated safety check: Pass | MIT | |
| API DesignerJeffallan/claude-skills | 12k | 1 repos | ~2k | Automated safety check: Pass | MIT | |
| Old Coder API DesignAmazingAng/old-coder | 750 | — | ~3.4k | Automated safety check: Pass | MIT | |
| API CallerNVIDIA/SkillEvaluator | 554 | — | ~1.1k | Automated safety check: Pass | Apache-2.0 |
mcp-use/mcp-use
Turns an OpenAPI or Swagger spec into an MCP server with the mcp-use TypeScript SDK, mapping each operation to a tool, wiring auth, testing and deploying.
mountain-loop/yaak
A skill your agent uses when the user mentions Yaak, a Yaak workspace, or the yaak command, or asks to call, hit, or smoke test HTTP/REST endpoints, save or organize API requests for reuse or manual…
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.
AmazingAng/old-coder
Reviews or designs an HTTP/JSON API's endpoints, auth, pagination, versioning and deprecations, guarding against inventing a bespoke interface or silently breaking consumers.
NVIDIA/SkillEvaluator
Call any REST API dynamically. An agent skill from NVIDIA/SkillEvaluator.
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.
alpacahq/cli
Install, configure, and use the Alpaca CLI - a command-line tool for the Alpaca Trading API.
Works with
Categories
Keep the CLI in sync with upstream OpenAPI specs. An agent skill from alpacahq/cli. Alpaca CLI Regenerate is an agent skill from alpacahq/cli. Keep the CLI in sync with upstream OpenAPI specs.
Alpaca CLI Regenerate fits situations like: specs changed upstream; A new API endpoint was added; generation is stale; the user says regenerate.
Run `npx skills add alpacahq/cli --skill alpaca-cli-regenerate -a claude-code`. Or copy the skill folder (.agents/skills/alpaca-cli-regenerate in alpacahq/cli) into .claude/skills/alpaca-cli-regenerate in your project. Claude Code loads it when a task matches its description.
Run `npx skills add alpacahq/cli --skill alpaca-cli-regenerate -a codex`. Or copy the skill folder (.agents/skills/alpaca-cli-regenerate in alpacahq/cli) into .agents/skills/alpaca-cli-regenerate 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 alpacahq/cli --skill alpaca-cli-regenerate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/alpaca-cli-regenerate, .gemini/skills/alpaca-cli-regenerate, .github/skills/alpaca-cli-regenerate and .opencode/skills/alpaca-cli-regenerate in your project.
Going by SKILL.md and its folder, Alpaca CLI Regenerate needs the command-line tools its instructions call (make, go and git).
SKILL.md contains no URLs. Its commands use git, 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.
Alpaca CLI Regenerate is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 7.9k 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 Alpaca CLI Regenerate: OpenAPI to MCP Server (mcp-use/mcp-use, 11k stars), Use Yaak (mountain-loop/yaak, 19k stars), API Designer (Jeffallan/claude-skills, 12k stars) and Old Coder API Design (AmazingAng/old-coder, 750 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
alpacahq (a GitHub organization) maintains it in alpacahq/cli, which has 178 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 9, 2026.
Source: alpacahq/cli on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.