Migrate To Msk
aws/agent-toolkit-for-aws
Helps migrate self-managed Apache Kafka workloads to Amazon MSK Express.
Operates the `mqttx` command line client to connect, publish, subscribe, benchmark and simulate data against an MQTT broker, with TLS and MQTT 5 support.
$ npx skills add emqx/MQTTX --skill mqttx-cli -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install emqx/MQTTX mqttx-cli --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/emqx/MQTTX.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/mqttx-cli .claude/skills/mqttx-cli && 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 "mqttx-cli" agent skill from https://github.com/emqx/MQTTX/tree/main/skills/mqttx-cli into .claude/skills/mqttx-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mqttx-cli", 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/emqx/MQTTX/tree/main/skills/mqttx-cliType 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 emqx/MQTTX --skill mqttx-cli -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install emqx/MQTTX mqttx-cli --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/emqx/MQTTX.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/mqttx-cli .agents/skills/mqttx-cli && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "mqttx-cli" agent skill from https://github.com/emqx/MQTTX/tree/main/skills/mqttx-cli into .agents/skills/mqttx-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mqttx-cli", 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 emqx/MQTTX --skill mqttx-cli -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install emqx/MQTTX mqttx-cli --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/emqx/MQTTX.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/mqttx-cli .cursor/skills/mqttx-cli && 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 "mqttx-cli" agent skill from https://github.com/emqx/MQTTX/tree/main/skills/mqttx-cli into .cursor/skills/mqttx-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mqttx-cli", 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/emqx/MQTTX.git --path skills/mqttx-cli--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 emqx/MQTTX --skill mqttx-cli -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install emqx/MQTTX mqttx-cli --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/emqx/MQTTX.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/mqttx-cli .gemini/skills/mqttx-cli && 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 "mqttx-cli" agent skill from https://github.com/emqx/MQTTX/tree/main/skills/mqttx-cli into .gemini/skills/mqttx-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mqttx-cli", 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 emqx/MQTTX mqttx-cliInstalls 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 emqx/MQTTX --skill mqttx-cli -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/emqx/MQTTX.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/mqttx-cli .github/skills/mqttx-cli && 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 "mqttx-cli" agent skill from https://github.com/emqx/MQTTX/tree/main/skills/mqttx-cli into .github/skills/mqttx-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mqttx-cli", 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 emqx/MQTTX --skill mqttx-cli -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install emqx/MQTTX mqttx-cli --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/emqx/MQTTX.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/mqttx-cli .opencode/skills/mqttx-cli && 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 "mqttx-cli" agent skill from https://github.com/emqx/MQTTX/tree/main/skills/mqttx-cli into .opencode/skills/mqttx-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mqttx-cli", 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.
mqttx-cliOperates the `mqttx` command line client to connect, publish, subscribe, benchmark and simulate data against an MQTT broker, with TLS and MQTT 5 support.
The agent starts by locating `mqttx`, reading its version and checking `mqttx --help` for the command at hand, treating the installed help as authoritative. It then collects the broker host, port, transport (`mqtt`, `mqtts`, `ws` or `wss`), MQTT version, credentials and topic from the conversation, uses the broker you name rather than a public fallback, and respects defaults in `~/.mqttx-cli/config` without printing secrets.
Connection and subscription tasks get a finite deadline, and the agent terminates any process it starts because `conn` and `sub` keep running until stopped. The skill warns that CLI version 1.13.0 has no general `--timeout`, `--max-messages` or `--json` flags, so none should be invented. Reference files cover basic workflows, TLS and SCRAM authentication, MQTT 5 features, payload codecs, benchmarks and simulation, configuration and troubleshooting. It does not drive MQTTX Desktop or administer a broker.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 39f8b76. 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.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
MQTTX CLI loads about 1.9k tokens when it runs, and up to ~14k if it reads all its reference files. Until then it costs about 91 tokens; SKILL.md has 958 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 emqx/MQTTX at commit 39f8b76, republished under its Apache-2.0 licence (© emqx). 958 words, ~1,932 tokens.
.claude/skills/mqttx-cli/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.mqttx, read mqttx --version, then inspect mqttx <command> --help for the task. Treat installed help as authoritative; release channels can differ. If missing or a required feature is unavailable, follow the repository's root INSTALL.md, or its standalone installation guide when this skill has been copied elsewhere. Do not update a working CLI on every invocation.mqtt, mqtts, ws, wss), MQTT version, credentials, topic and intended operation from the user's context. Ask only for missing information that affects execution. Use the requested broker; do not substitute a public broker after a failure.~/.mqttx-cli/config, which can supply default host, port, protocol and credentials. Do not print its secrets or overwrite it for a one-off task. Explicit CLI arguments override defaults; --load-options loads command-specific JSON/YAML options, with explicitly supplied CLI arguments taking precedence. See configuration and utility commands for initialization, saving and loading.The CLI command registration in this repository (1.13.0) does not offer general --timeout, --max-messages, --json or --output jsonl flags. Do not invent them. Recheck help for other versions. --reconnect-period 0 disables reconnection; it is not an overall deadline. conn stays connected after success and sub keeps listening until stopped.
This skill covers every command registered in the repository's CLI 1.13.0, including command-specific limitations. Read only the references relevant to the task. Coverage describes how to operate available features; it does not make unsupported combinations work or guarantee every broker implements them.
| Task | Read |
|---|---|
conn, pub, sub, bounded checks and round trips | Basic workflows |
| Transport, TLS/mTLS, WebSocket headers, credentials, SCRAM | Connections and authentication |
| MQTT 3/5, QoS, retained messages, sessions, wills, request/response, subscription properties | MQTT features |
| Text/binary input, interactive line mode, files, codecs, Protobuf/Avro, random payloads | Payloads and files |
bench conn, bench pub, bench sub, simulate, ls --scenarios, custom generators | Benchmarks and simulation |
init, check, help/version, INI defaults, JSON/YAML options | Configuration and utilities |
| Exact flag availability by command and version-specific caveats | Capability map |
| Failures and diagnosis | Troubleshooting |
Read workflows for executable examples of a bounded connection check, one-message publish, bounded subscription, and end-to-end verification.
conn, capture diagnostics, and stop after observing Connected or reaching the deadline. Report MQTT connection success separately from publish/subscribe permissions.pub for a single message. Prefer --file-read or --stdin for complex payloads. Honor the requested QoS; use QoS 1 for a diagnostic round trip when unspecified. A publish success is not evidence that a subscriber or application processed the message.sub with the requested topic filters and a bounded observation window. Preserve topic, QoS and relevant payload evidence. Quote wildcard filters in the shell. Never infer that a topic does not exist from an empty observation window.Subscribed to ... confirmation, then publish a unique marker and match the exact topic and marker. Do not use a fixed sleep as proof of subscription readiness. Use distinct client IDs and stop both processes on every completion path.For binary payloads, select a reversible representation such as base64 with --format base64 when subscribing; default text decoding can lose information. --format json controls the payload format, not the CLI output format. Read the payload guide before combining formats, schema decoding and output modes.
sub --output-mode clean emits consecutive, pretty-printed JSON objects containing topic, payload and packet. This is a JSON value stream, not JSONL or a single JSON array. Use a streaming JSON parser such as jq, not one JSON.parse call over the whole session or one parse per line. The payload can itself be a string containing JSON.
In the repository's current implementation, clean mode suppresses connection/subscription readiness and some errors, and its payload output bypasses the Protobuf/Avro-decoded result. Use the default output for readiness checks, schema decoding and diagnosis. Some connection-error paths end without explicitly setting a nonzero exit code, so neither exit code 0 nor empty clean output alone proves success. Collect stdout and stderr; parsing failures and missing success evidence are inconclusive or failed checks, not success.
-P can expose passwords through process arguments; prefer an existing protected options file where practical. Shell environment expansion into -P still exposes the resulting argument. --save-options can persist credentials, so do not use it as automatic setup.Report the target (without credentials), operation, observed evidence, outcome and limitations. Distinguish connection established, subscription accepted, publish acknowledged at the chosen QoS, and the matching message actually observed. Mention timeouts and cleanup results when relevant.
© emqx, 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
SKILL.md and 8 other files (references) in skills/mqttx-cli of emqx/MQTTX.
Open the folder on GitHubat commit 39f8b76
MQTTX CLI 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 |
|---|---|---|---|---|---|---|
| MQTTX CLI this skillemqx/MQTTX | 5.1k | — | ~1.9k | Automated safety check: Pass | Apache-2.0 | |
| Migrate To Mskaws/agent-toolkit-for-aws | 2.8k | — | ~3.5k | Automated safety check: Pass | Apache-2.0 | |
| Debugging Local ReplayPostHog/posthog-foss | 721 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Competitive Debugging MasterFerroxLabs/wayland | 608 | — | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Config Loader Helperpilinux/gorest | 506 | — | ~441 | Automated safety check: Pass | MIT | |
| API TesterRightNow-AI/openfang | 18k | — | ~807 | Automated safety check: Pass | Apache-2.0 |
aws/agent-toolkit-for-aws
Helps migrate self-managed Apache Kafka workloads to Amazon MSK Express.
PostHog/posthog-foss
Debugs why session recordings aren't appearing in the local dev environment.
FerroxLabs/wayland
Competitive programming debugging mastery covering stress testing with random test generators, systematic edge case identification, time and memory optimization techniques, common bug patterns in…
pilinux/gorest
Diagnoses configuration failures in the gorest project by listing the required environment variables grouped by feature and giving minimal commands for a safe local test setup.
RightNow-AI/openfang
API testing expert for curl, REST, GraphQL, authentication, and debugging
Edwardvaneechoud/Flowfile
Deep dive into flowfileframe — the Polars-LazyFrame-shaped Python API that builds an in-process flowfilecore FlowGraph as a side effect of every method call — covering the FlowFrame/Expr internals…
Categories
Operates the `mqttx` command line client to connect, publish, subscribe, benchmark and simulate data against an MQTT broker, with TLS and MQTT 5 support. The agent starts by locating `mqttx`, reading its version and checking `mqttx --help` for the command at hand, treating the installed help as authoritative.mqttx-cli/config` without printing secrets.
MQTTX CLI fits situations like: publishing a test message to a topic on an MQTT broker; subscribing to a topic to see what a device is sending; testing TLS or SCRAM authentication against a broker; running a benchmark or simulated data against a broker.
Run `npx skills add emqx/MQTTX --skill mqttx-cli -a claude-code`. Or copy the skill folder (skills/mqttx-cli in emqx/MQTTX) into .claude/skills/mqttx-cli in your project. Claude Code loads it when a task matches its description.
Run `npx skills add emqx/MQTTX --skill mqttx-cli -a codex`. Or copy the skill folder (skills/mqttx-cli in emqx/MQTTX) into .agents/skills/mqttx-cli 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 emqx/MQTTX --skill mqttx-cli -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mqttx-cli, .gemini/skills/mqttx-cli, .github/skills/mqttx-cli and .opencode/skills/mqttx-cli in your project.
SKILL.md names no scripts, command-line tools or credentials: MQTTX CLI is instructions for the agent only. Our summary lists: The `mqttx` CLI installed; An MQTT broker you can reach, with credentials if it needs them.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
MQTTX CLI 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 1.9k tokens (SKILL.md is roughly 7.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 12k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with MQTTX CLI: Migrate To Msk (aws/agent-toolkit-for-aws, 2.8k stars), Debugging Local Replay (PostHog/posthog-foss, 721 stars), Competitive Debugging Master (FerroxLabs/wayland, 608 stars) and Config Loader Helper (pilinux/gorest, 506 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
emqx (a GitHub organization) maintains it in emqx/MQTTX, which has 5,068 GitHub stars. The repository was last updated on October 1, 2026.
Source: emqx/MQTTX on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.