Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add zai-org/GLM-skills --skill glmv-groundinggit clone --depth 1 https://github.com/zai-org/GLM-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/zai-org/glm-skills/glmv-grounding)<a href="https://agentmods.dev/skills/zai-org/glm-skills/glmv-grounding"><img src="https://agentmods.dev/badge/skills/zai-org/glm-skills/glmv-grounding/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/zai-org/glm-skills/glmv-grounding"><img src="https://agentmods.dev/badge/skills/zai-org/glm-skills/glmv-grounding.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00112 | $0.02342 |
| Opus 5 | $0.00056 | $0.01171 |
| Sonnet 5 | $0.00022 | $0.00468 |
| Haiku 4.5 | $0.00011 | $0.00234 |
Grade A, and why
glmv-grounding scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 165 lines — stays where its author put it; the contents beside it link to each section on GitHub.
GLMV-Grounding Skill
Extract and visualize grounding results produced by GLM-V. Depending on the user prompt, grounding coordinates in model outputs may appear in different forms, including 2D bounding boxes, Objects Detection JSON, 2D points, 3D bounding boxes, and target-tracking JSON.
Note: GLM-V outputs coordinates where x and y are relative coordinates normalized from pixel coordinates x_pixel and y_pixel using image width W and height H (range 0-1000), i.e., x=round(x_pixel/W1000), y=round(y_pixel/H1000). The origin of the pixel coordinate system is the top-left corner. Note: If the prompt does not explicitly specify a grounding format (for example, "find the location of xxx" or "draw a box around xxx"), treat the request as 2D bounding boxes by default.
When to use
- Use GLM-V to ground targets in images: obtain grounding results in an image for any prompt-described target, with output formats such as 2D bounding box (default), 2D points, and 3D bounding box.
- Use GLM-V to track targets in videos: obtain tracking results in a video for any prompt-described target, with output format like {"0": [{"label": ..., "bbox_2d": ...}, ...], ...}.
- Use utility functions for extraction, conversion, and visualization: extract coordinates, points, and JSON from natural text; normalize and de-normalize coordinates; visualize boxes, points, 3D boxes, and video tracking results.
Setup your API Key
Configure ZHIPU_API_KEY to call the GLM-V API.
- Get your API key: https://www.bigmodel.cn/usercenter/proj-mgmt/apikeys
- Configure it with:
python scripts/config_setup.py setup --api-key YOUR_KEY
Security & Transparency
- Primary API key env:
ZHIPU_API_KEY(required). - Timeout env:
GLM_GROUNDING_TIMEOUT(optional, seconds, default60). - API endpoint: fixed to official Zhipu Chat Completions endpoint in CLI implementation.
- No dynamic key name switching: the skill expects
ZHIPU_API_KEYconsistently. - URL/local file handling: the skill can read local files or fetch user-provided URLs for processing/visualization; URL inputs are restricted to public http/https targets (localhost/private network targets are rejected).
What ships with it
9 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- .DS_Store 6.0 KB
- scripts/.DS_Store 6.0 KB
- scripts/config_setup.py 7.4 KB runs code
- scripts/glm_grounding_cli.py 16 KB runs code
- scripts/requirements.txt 99 B
- scripts/utils_3d.py 13 KB runs code
- scripts/utils_boxes.py 19 KB runs code
- scripts/utils_detection.py 9.2 KB runs code
- scripts/utils_video.py 26 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 165 lines · 112 tokens per session scan A b3dd0b8c69b7
glmv-grounding is a skill published in the GitHub repository zai-org/GLM-skills (474 stars, last pushed 4mo ago), licensed Apache-2.0. It adds 112 tokens to every session and 2,342 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
vision-skills
Local vision CLIs: glance (describe/ask/OCR an image), ground (locate a target, pixel box), detect (element inventory), trace (image to SVG geometry), crop (cut a pixel box to a file), and scripts/htmlshot.py (HTML file to image). Use for any task involving an image — questions, text, splitting and transcribing long…
vision
Nested swiss-knife reference for image understanding — a decision tree that routes between three paths depending on what the agent has access to: (1) the built-in vision tool if the LLM provider supports image input, (2) the sibling minimax-cli reference if a usable MiniMax preset/key slot is available, or (3) a local…
watch
Watch any video (URL, stream, or local path) via Watch Skill. Downloads, extracts scene-aware deduped frames, OCRs them, transcribes (captions first, then local Whisper — offline by default), indexes everything, and hands the result to the agent. Follow-up questions are answered from the persistent index without…
the-loop
The user built or changed something visual — a UI, an animation, a game, a generated video — and wants it verified, or asks "why does my UI look wrong", "check that the fix actually worked", "does the animation glitch". Use this to record the running thing, critique the recording against plain-language pass criteria…
watching-videos
The user shared a video URL, a YouTube/TikTok/stream link, a local video file, a screen recording, a meeting recording, or a playlist/folder of videos — "watch this", "summarize this video", "what's in this recording". Use this to actually watch the video — download, extract frames, OCR, transcribe, and index it …
asking-with-evidence
The user asks a question about a video that was already watched or indexed — "what did they say about X", "what error code appears", "what happens at 2:30", "does the video show Y". Use this to answer from the persistent index with timestamped evidence and a confidence score instead of re-watching or guessing.