About glm-runner
A skill that runs prompts through the shared `pi-runner` implementation as the GLM seat, using GLM 5.3 Flash by default. It pins the OpenRouter provider and model, and does not substitute another provider when the seat is unavailable.
Key features
- 01Run prompts through `pi-runner`
- 02Pin the OpenRouter provider and model
- 03Support prompt files and role selection
- 04Offer read-only analysis by default
- 05Return a shared JSON envelope
Use cases
- 01Request GLM-based code review
- 02Summarize a module's architecture
- 03Compare runner outputs in a council
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ robsonrung/ rar-skills --skill glm-runnerAfter installing, type/glm-runnerin Claude Code to confirm it loaded.
Bundled filesagents/openai.yamlscripts/run_glm.py
Details
From the project READMEGLM Runner
Execute prompts as the GLM seat through the shared pi-runner implementation. This replaces the previous Cline-backed shim — --provider openrouter --model z-ai/glm-5.3-flash is pinned on every invocation, so the per-provider model-id map (z-ai/glm-5.3-flash on OpenRouter vs zai/glm-5.3-flash on the cline gateway) is gone along with the mutable provider state that made it necessary.
Default Model
z-ai/glm-5.3-flash— Z.AI's GLM 5.3 Flash, pinned as--provider openrouter --model z-ai/glm-5.3-flashon every run. This is the single remaining id for the seat; override with--modelto point the GLM seat at a different OpenRouter model id.
Prerequisites
piCLI installed and inPATH(npm install -g @mariozechner/pi-coding-agent)OPENROUTER_API_KEYin the environment (or an OpenRouter credential in Pi's auth store)
Security Model
This skill delegates to pi-runner, so it has the same execution and data sharing model as the Pi wrapper — see ../pi-runner/SKILL.md. Runs are hermetic (no extensions, skills, or AGENTS.md/CLAUDE.md discovery). Analysis roles (every role except implementer) default to read-only mode (only Pi's file-reading tool enabled). Pass --allow-write to opt out, or --no-tools to block tools entirely.
Shared Wrapper Reference
Supported options, roles, the --json output envelope key contract, return codes, and gotchas are identical to the shared wrapper — read shared/references/runner-common.md for the shared flags, envelope keys, return codes, and the seat-fidelity rule. The envelope is produced by pi-runner/scripts/run_pi.py with runner=glm, effective_runner=pi, effective_provider=z-ai (inferred from the z-ai/... model id); native_provider=openrouter is the serving gateway.
Usage
python3 .agents/skills/glm-runner/scripts/run_glm.py "your prompt here"
Examples
python3 .agents/skills/glm-runner/scripts/run_glm.py "Summarize the core module architecture"
python3 .agents/skills/glm-runner/scripts/run_glm.py --prompt-file /tmp/review.md --role codereviewer
python3 .agents/skills/glm-runner/scripts/run_glm.py "Read-only analysis" --restrict-tools --json
python3 .agents/skills/glm-runner/scripts/run_glm.py "Answer from the brief only" --no-tools --json
Behavior
- Delegates to the shared
pi-runnerimplementation with runner identity set toglm(the envelope reportsrunner=glm,effective_runner=pi). - Pins
--provider openrouter --model z-ai/glm-5.3-flashon every call, so the GLM seat is the model that actually answers — there is no mutable provider state that can silently reroute it. - Never falls back to another provider. A missing CLI blocks the seat explicitly (
status: seat_unavailable,return_code -2); missing credentials reportstatus: auth_missingwithauth_ok: false— this is seat fidelity, the same invariant every runner upholds: never substitute another model's answer for the GLM seat. - Preserves the shared wrapper envelope so councils can compare GLM output with other runners consistently.
Migration Note
The Cline-backed shim (and its --lane glm isolated-auth workflow) is no longer used by this skill — it now depends solely on pi and OPENROUTER_API_KEY. If other tooling still shells out to cline directly, that is unaffected by this change.