mcpField
G
glm-runner

glm-runner

github.com/robsonrungAgent workflows248 installsUpdated 1d ago
Repository

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

  1. 01Run prompts through `pi-runner`
  2. 02Pin the OpenRouter provider and model
  3. 03Support prompt files and role selection
  4. 04Offer read-only analysis by default
  5. 05Return a shared JSON envelope

Use cases

  1. 01Request GLM-based code review
  2. 02Summarize a module's architecture
  3. 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-runner

After installing, type/glm-runnerin Claude Code to confirm it loaded.

Bundled filesagents/openai.yamlscripts/run_glm.py

Details

From the project README

GLM 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-flash on every run. This is the single remaining id for the seat; override with --model to point the GLM seat at a different OpenRouter model id.

Prerequisites

  • pi CLI installed and in PATH (npm install -g @mariozechner/pi-coding-agent)
  • OPENROUTER_API_KEY in 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

  1. Delegates to the shared pi-runner implementation with runner identity set to glm (the envelope reports runner=glm, effective_runner=pi).
  2. Pins --provider openrouter --model z-ai/glm-5.3-flash on every call, so the GLM seat is the model that actually answers — there is no mutable provider state that can silently reroute it.
  3. Never falls back to another provider. A missing CLI blocks the seat explicitly (status: seat_unavailable, return_code -2); missing credentials report status: auth_missing with auth_ok: false — this is seat fidelity, the same invariant every runner upholds: never substitute another model's answer for the GLM seat.
  4. 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.

Comments

Markdown supported