Vercel Composition Patterns
supabase/supabase
React composition patterns that scale. An agent skill from supabase/supabase.
Call the Mendix M2EE admin API on port 8090 directly — OQL, runtime info, and the rest, with curl examples.
$ npx skills add mendixlabs/mxcli --skill runtime-admin-api -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install mendixlabs/mxcli runtime-admin-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/mendixlabs/mxcli.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/mendix/runtime-admin-api .claude/skills/runtime-admin-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 "runtime-admin-api" agent skill from https://github.com/mendixlabs/mxcli/tree/main/.claude/skills/mendix/runtime-admin-api into .claude/skills/runtime-admin-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "runtime-admin-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/mendixlabs/mxcli/tree/main/.claude/skills/mendix/runtime-admin-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 mendixlabs/mxcli --skill runtime-admin-api -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install mendixlabs/mxcli runtime-admin-api --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mendixlabs/mxcli.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/mendix/runtime-admin-api .agents/skills/runtime-admin-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 "runtime-admin-api" agent skill from https://github.com/mendixlabs/mxcli/tree/main/.claude/skills/mendix/runtime-admin-api into .agents/skills/runtime-admin-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "runtime-admin-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 mendixlabs/mxcli --skill runtime-admin-api -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install mendixlabs/mxcli runtime-admin-api --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mendixlabs/mxcli.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/mendix/runtime-admin-api .cursor/skills/runtime-admin-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 "runtime-admin-api" agent skill from https://github.com/mendixlabs/mxcli/tree/main/.claude/skills/mendix/runtime-admin-api into .cursor/skills/runtime-admin-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "runtime-admin-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/mendixlabs/mxcli.git --path .claude/skills/mendix/runtime-admin-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 mendixlabs/mxcli --skill runtime-admin-api -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install mendixlabs/mxcli runtime-admin-api --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mendixlabs/mxcli.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/mendix/runtime-admin-api .gemini/skills/runtime-admin-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 "runtime-admin-api" agent skill from https://github.com/mendixlabs/mxcli/tree/main/.claude/skills/mendix/runtime-admin-api into .gemini/skills/runtime-admin-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "runtime-admin-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 mendixlabs/mxcli runtime-admin-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 mendixlabs/mxcli --skill runtime-admin-api -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/mendixlabs/mxcli.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/mendix/runtime-admin-api .github/skills/runtime-admin-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 "runtime-admin-api" agent skill from https://github.com/mendixlabs/mxcli/tree/main/.claude/skills/mendix/runtime-admin-api into .github/skills/runtime-admin-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "runtime-admin-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 mendixlabs/mxcli --skill runtime-admin-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 mendixlabs/mxcli runtime-admin-api --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mendixlabs/mxcli.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/mendix/runtime-admin-api .opencode/skills/runtime-admin-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 "runtime-admin-api" agent skill from https://github.com/mendixlabs/mxcli/tree/main/.claude/skills/mendix/runtime-admin-api into .opencode/skills/runtime-admin-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "runtime-admin-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.
runtime-admin-apiCall the Mendix M2EE admin API on port 8090 directly — OQL, runtime info, and the rest, with curl examples.
Runtime Admin API is an agent skill from mendixlabs/mxcli. Call the Mendix M2EE admin API on port 8090 directly — OQL, runtime info, and the rest, with curl examples. Use when querying a running app from a script, or when debugging connectivity to the admin port.
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 Development. The repository describes itself as: Mendix cli tool, a headless way to work with Mendix projects. Enables Mendix projects for use with 3rd party agentic coding tools like Claude Code and Copilot. Includes a… The licence is Apache-2.0.
Read from SKILL.md and the folder at commit 20a6c89. 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:
curldockerjqFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use curl and docker, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
DB_PASSWORDFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Runtime Admin API loads about 2k tokens when it runs. Until then it costs about 56 tokens; SKILL.md has 655 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 noted patterns worth knowing about, such as sudo or a known installer.
onfigurable via `ADMIN_PORT` in `.docker/.env`). This API is used by the Mendix Cloud, M2EE tools, and `mxcli oql` to ma**Default credentials** (from `.docker/.env`):ql` auto-reads credentials from `.docker/.env` when `-p` is provided.All settings are in `.docker/.env`:rd | Check `M2EE_ADMIN_PASS` in `.docker/.env` |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 mendixlabs/mxcli at commit 20a6c89, republished under its Apache-2.0 licence (© mendixlabs). 655 words, ~2,034 tokens.
.claude/skills/runtime-admin-api/SKILL.md (or your agent's skills folder).This skill documents the Mendix M2EE admin API exposed on port 8090, including how to call it directly with curl.
Use this when:
The Mendix runtime exposes an HTTP admin API on port 8090 (configurable via ADMIN_PORT in .docker/.env). This API is used by the Mendix Cloud, M2EE tools, and mxcli oql to manage and query the runtime.
Default credentials (from .docker/.env):
AdminPassword1!X-M2EE-authentication header with the password base64-encodedAll requests require the X-M2EE-authentication header containing the base64-encoded admin password:
# Encode the password
echo -n 'AdminPassword1!' | base64
# Result: QWRtaW5QYXNzd29yZDEhThe header value is base64(password) — NOT base64(user:password) (this is not HTTP Basic Auth).
Mendix 11.11 changed the wire protocol. OQL preview moved off the M2EE action dispatch onto a dedicated REST endpoint
POST /dev/preview_execute_oql, where the request body is the params object directly and the response is{"data":[...]}(noaction/paramswrapper, nofeedbackenvelope). The auth header is unchanged.mxcli oqltries this endpoint first and falls back to the legacy action below on a 404 (older runtimes), so it works on both.
11.11+ (new endpoint):
curl -sf -X post http://localhost:8090/dev/preview_execute_oql \
-H 'Content-Type: application/json' \
-H "X-M2EE-authentication: $(echo -n 'AdminPassword1!' | base64)" \
-d '{"oql":"SELECT Name FROM System.User","numberHandling":"asString"}'
# -> {"data":[{"Name":"MxAdmin"}, ...]}A failed query on the dev endpoint returns HTTP 200 (not 4xx/5xx) with an
{"error":"..."} body and no data field, e.g.:
{"error":"An exception has occurred for the following request(s):\n\tInternalOqlTextGetRequest (depth = -1): SELECT ..."}So an error must be detected by the presence of the error field, not by the
HTTP status. mxcli oql surfaces this message instead of returning empty.
Pre-11.11 (legacy action):
curl -sf -X post http://localhost:8090/ \
-H 'Content-Type: application/json' \
-H "X-M2EE-authentication: $(echo -n 'AdminPassword1!' | base64)" \
-d '{"action":"preview_execute_oql","params":{"oql":"SELECT Name FROM System.User","numberHandling":"asString"}}'Response format (all M2EE responses use this envelope):
{
"result": 0,
"feedback": {
"data": [
{"Name": "MxAdmin"},
{"Name": "demo_user"}
]
}
}result: 0 = success, non-zero = errorcause and/or message fields contain the error description# count entities
curl -sf -X post http://localhost:8090/ \
-H 'Content-Type: application/json' \
-H "X-M2EE-authentication: $(echo -n 'AdminPassword1!' | base64)" \
-d '{"action":"preview_execute_oql","params":{"oql":"SELECT count(*) AS Total FROM MyModule.Customer","numberHandling":"asString"}}'
# join query
curl -sf -X post http://localhost:8090/ \
-H 'Content-Type: application/json' \
-H "X-M2EE-authentication: $(echo -n 'AdminPassword1!' | base64)" \
-d '{"action":"preview_execute_oql","params":{"oql":"SELECT o.OrderNumber, c.Name FROM MyModule.Order o JOIN o/MyModule.Order_Customer/MyModule.Customer c","numberHandling":"asString"}}'curl -sf -X post http://localhost:8090/ \
-H 'Content-Type: application/json' \
-H "X-M2EE-authentication: $(echo -n 'AdminPassword1!' | base64)" \
-d '{"action":"runtime_status"}'mxcli oql wraps the admin API with automatic credential resolution and output formatting:
# table output (default)
./mxcli oql -p app.mpr "select Name from System.User"
# json output for piping
./mxcli oql -p app.mpr --json "SELECT Name FROM System.User" | jq '.[].Name'
# Explicit connection (no project needed)
./mxcli oql --host localhost --port 8090 --token 'AdminPassword1!' "SELECT 1"mxcli oql auto-reads credentials from .docker/.env when -p is provided.
In a devcontainer with Docker-in-Docker, port 8090 on the Mendix container may bind to 127.0.0.1 inside the DinD daemon and be unreachable from the devcontainer host. mxcli oql handles this automatically by routing through docker compose exec:
# What mxcli does internally (docker exec mode):
docker compose -f .docker/docker-compose.yml exec -T mendix sh -c \
"curl -sf -X post http://localhost:8090/ \
-H 'Content-Type: application/json' \
-H 'X-M2EE-Authentication: QWRtaW5QYXNzd29yZDEh' \
-d '{\"action\":\"preview_execute_oql\",\"params\":{\"oql\":\"SELECT 1\",\"numberHandling\":\"asString\"}}'"Use --direct to bypass docker exec and connect via HTTP directly (when the port is reachable):
./mxcli oql -p app.mpr --direct "SELECT 1"The preview_execute_oql action requires a JVM flag on the runtime:
-Dmendix.live-preview=enabledThis is included in the default docker-compose template generated by mxcli docker init. If you get "action not found: preview_execute_oql", re-initialize:
./mxcli docker init -p app.mpr --force
./mxcli docker run -p app.mpr --waitAll settings are in .docker/.env:
| Variable | Default | Description |
|---|---|---|
APP_PORT | 8080 | Web application port |
ADMIN_PORT | 8090 | Admin API port |
M2EE_ADMIN_PASS | AdminPassword1! | Admin password (used for auth header) |
DB_PORT | 5432 | PostgreSQL port (exposed to host) |
DB_NAME | mendix | Database name |
DB_USER | mendix | Database user |
DB_PASSWORD | mendix | Database password |
| Problem | Cause | Fix |
|---|---|---|
| Connection refused on :8090 | App not running | mxcli docker up -p app.mpr --wait |
| HTTP 401/403 | Wrong password | Check M2EE_ADMIN_PASS in .docker/.env |
| "Action not found: preview_execute_oql" | Missing JVM flag | mxcli docker init -p app.mpr --force then restart |
| Empty response | Runtime still starting | Wait for "Runtime successfully started" in logs |
| Can't reach port from devcontainer | DinD network isolation | Use mxcli oql (auto-routes via docker exec) or --direct if port is forwarded |
| Admin API binds to localhost only | Default HOCON config | Rebuild with mxcli docker build — auto-patches admin.addresses = ["*"] |
--direct ModeBy default, mxcli oql routes queries through docker compose exec to avoid DinD networking issues. When the admin port is directly reachable (e.g., after the admin.addresses build patch), use --direct for faster queries:
# Direct HTTP connection (no docker exec overhead)
mxcli oql -p app.mpr --direct "SELECT Name FROM System.User"The build patch admin.addresses = ["*"] is applied automatically by mxcli docker build. After rebuilding, --direct mode works out of the box.
© mendixlabs, 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 .claude/skills/mendix/runtime-admin-api of mendixlabs/mxcli.
Open the folder on GitHubat commit 20a6c89
Runtime Admin API 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 |
|---|---|---|---|---|---|---|
| Runtime Admin API this skillmendixlabs/mxcli | 128 | — | ~2k | Automated safety check: Notes | Apache-2.0 | |
| Vercel Composition Patternssupabase/supabase | 111k | 59 repos | ~726 | Automated safety check: Pass | MIT | |
| Finishing a Development Branchobra/superpowers | 296k | 5 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Typescript Advanced Typesrolling-scopes/rsschool-app | 10k | 25 repos | ~4.2k | Automated safety check: Pass | MPL-2.0 | |
| PR Babysitteropeninterpreter/openinterpreter | 69k | 3 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Code Review ChecklistshareAI-lab/learn-claude-code | 78k | 5 repos | ~1.1k | Automated safety check: Pass | MIT |
supabase/supabase
React composition patterns that scale. An agent skill from supabase/supabase.
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
rolling-scopes/rsschool-app
Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications.
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
shareAI-lab/learn-claude-code
Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.
onyx-dot-app/onyx
Iteratively improves a PR (GitHub), MR (GitLab), or shelved changelist (Perforce) until Greptile gives it a 5/5 confidence score with zero unresolved comments.
mendixlabs/mxcli
Push OData query options into the SQL of a Mendix resource served by a read microflow, so $filter, $orderby, $top, $skip, $count and the key lookup reach the database instead of being silently…
mendixlabs/mxcli
Chart a Mendix app with Vega-Lite through a pluggable widget that takes the specification and the data as separate properties, so the model emits rows and never assembles a chart payload.
mendixlabs/mxcli
Author Mendix AI agent documents in MDL — Model, Knowledge Base, Consumed MCP Service and Agent, with variables, tools and multi-line prompts.
mendixlabs/mxcli
Run set-based INSERT, UPDATE and DELETE against Mendix entities through OQL statements, which the runtime supports and Studio Pro cannot author.
mendixlabs/mxcli
Define event-driven APIs over Kafka with Mendix business event services — publish and subscribe contracts, CREATE/DROP/DESCRIBE.
mendixlabs/mxcli
Search the Mendix Catalog platform service registry (catalog.mendix.com) from the CLI to find services published across an organisation.
Categories
Call the Mendix M2EE admin API on port 8090 directly — OQL, runtime info, and the rest, with curl examples. Runtime Admin API is an agent skill from mendixlabs/mxcli. Call the Mendix M2EE admin API on port 8090 directly — OQL, runtime info, and the rest, with curl examples.
Runtime Admin API fits situations like: querying a running app from a script; debugging connectivity to the admin port.
Run `npx skills add mendixlabs/mxcli --skill runtime-admin-api -a claude-code`. Or copy the skill folder (.claude/skills/mendix/runtime-admin-api in mendixlabs/mxcli) into .claude/skills/runtime-admin-api in your project. Claude Code loads it when a task matches its description.
Run `npx skills add mendixlabs/mxcli --skill runtime-admin-api -a codex`. Or copy the skill folder (.claude/skills/mendix/runtime-admin-api in mendixlabs/mxcli) into .agents/skills/runtime-admin-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 mendixlabs/mxcli --skill runtime-admin-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/runtime-admin-api, .gemini/skills/runtime-admin-api, .github/skills/runtime-admin-api and .opencode/skills/runtime-admin-api in your project.
Going by SKILL.md and its folder, Runtime Admin API needs the command-line tools its instructions call (curl, docker and jq) and credentials named DB_PASSWORD. Our summary lists: Docker.
SKILL.md contains no URLs. Its commands use curl and docker, 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 notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Runtime Admin API 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 8.1k 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 Runtime Admin API: Vercel Composition Patterns (supabase/supabase, 111k stars), Finishing a Development Branch (obra/superpowers, 296k stars), Typescript Advanced Types (rolling-scopes/rsschool-app, 10k stars) and PR Babysitter (openinterpreter/openinterpreter, 69k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
mendixlabs (a GitHub organization) maintains it in mendixlabs/mxcli, which has 128 GitHub stars. The repository holds 72 skills in this directory. The repository was last updated on October 7, 2026.
Source: mendixlabs/mxcli on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.