Agent skill

Glm Output

by benchflow-ai in benchflow-ai/skillsbench

Read and process GLM output files. An agent skill from benchflow-ai/skillsbench.

MITAuto-check passed

Install Glm Output

skills CLI
$ npx skills add benchflow-ai/skillsbench --skill glm-output -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install benchflow-ai/skillsbench glm-output --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/benchflow-ai/skillsbench.git skills-src && mkdir -p .claude/skills && cp -r skills-src/tasks/glm-lake-mendota/environment/skills/glm-output .claude/skills/glm-output && rm -rf skills-src

Use ~/.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/

Facts

Skill name
glm-output
GitHub stars
1.8k
Token cost
~1k tokens
SKILL.md length
165 words
Files
1
Skills in repo
189
Repo updated
First seen
Licence
MIT

At a glance

Read and process GLM output files. An agent skill from benchflow-ai/skillsbench.

  • You need to extract temperature data from NetCDF output
  • SKILL.md covers Overview, Output File, Reading Output with Python and Coordinate Conversion, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Convert depth coordinates

What it does

Glm Output is an agent skill from benchflow-ai/skillsbench. Read and process GLM output files. Use when you need to extract temperature data from NetCDF output, convert depth coordinates, or calculate RMSE against observations.

Its SKILL.md is about 1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: SkillsBench evaluates how well skills work and how effective agents are at using them. The licence is MIT.

When your agent uses it

  • You need to extract temperature data from NetCDF output
  • Convert depth coordinates
  • Calculate RMSE against observations

Example prompts

  • “/glm-output”

Requirements

  • Python 3

What it can do on your machine

Read from SKILL.md and the folder at commit 9a1f4dd. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are python).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Glm Output loads about 1k tokens when it runs. Until then it costs about 45 tokens; SKILL.md has 165 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~45
When it runs · the whole SKILL.md, loaded when a task matches
~1k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from benchflow-ai/skillsbench at commit 9a1f4dd, republished under its MIT licence (© benchflow-ai). 165 words, ~1,002 tokens.

Download SKILL.mdSave it as .claude/skills/glm-output/SKILL.md (or your agent's skills folder).
name
glm-output
description
Read and process GLM output files. Use when you need to extract temperature data from NetCDF output, convert depth coordinates, or calculate RMSE against observations.
license
MIT

GLM Output Guide

Overview

GLM produces NetCDF output containing simulated water temperature profiles. Processing this output requires understanding the coordinate system and matching with observations.

Output File

After running GLM, results are in output/output.nc:

VariableDescriptionShape
timeHours since simulation start(n_times,)
zHeight from lake bottom (not depth!)(n_times, n_layers, 1, 1)
tempWater temperature (°C)(n_times, n_layers, 1, 1)

Reading Output with Python

python
from netCDF4 import Dataset
import numpy as np
import pandas as pd
from datetime import datetime

nc = Dataset('output/output.nc', 'r')
time = nc.variables['time'][:]
z = nc.variables['z'][:]
temp = nc.variables['temp'][:]
nc.close()

Coordinate Conversion

Important: GLM z is height from lake bottom, not depth from surface.

python
# Convert to depth from surface
# Set LAKE_DEPTH based on lake_depth in &init_profiles section of glm3.nml
LAKE_DEPTH = <lake_depth_from_nml>
depth_from_surface = LAKE_DEPTH - z

Complete Output Processing

python
from netCDF4 import Dataset
import numpy as np
import pandas as pd
from datetime import datetime

def read_glm_output(nc_path, lake_depth):
    nc = Dataset(nc_path, 'r')
    time = nc.variables['time'][:]
    z = nc.variables['z'][:]
    temp = nc.variables['temp'][:]
    start_date = datetime(2009, 1, 1, 12, 0, 0)

    records = []
    for t_idx in range(len(time)):
        hours = float(time[t_idx])
        date = pd.Timestamp(start_date) + pd.Timedelta(hours=hours)
        heights = z[t_idx, :, 0, 0]
        temps = temp[t_idx, :, 0, 0]

        for d_idx in range(len(heights)):
            h_val = heights[d_idx]
            t_val = temps[d_idx]
            if not np.ma.is_masked(h_val) and not np.ma.is_masked(t_val):
                depth = lake_depth - float(h_val)
                if 0 <= depth <= lake_depth:
                    records.append({
                        'datetime': date,
                        'depth': round(depth),
                        'temp_sim': float(t_val)
                    })
    nc.close()

    df = pd.DataFrame(records)
    df = df.groupby(['datetime', 'depth']).agg({'temp_sim': 'mean'}).reset_index()
    return df

Reading Observations

python
def read_observations(obs_path):
    df = pd.read_csv(obs_path)
    df['datetime'] = pd.to_datetime(df['datetime'])
    df['depth'] = df['depth'].round().astype(int)
    df = df.rename(columns={'temp': 'temp_obs'})
    return df[['datetime', 'depth', 'temp_obs']]

Calculating RMSE

python
def calculate_rmse(sim_df, obs_df):
    merged = pd.merge(obs_df, sim_df, on=['datetime', 'depth'], how='inner')
    if len(merged) == 0:
        return 999.0
    rmse = np.sqrt(np.mean((merged['temp_sim'] - merged['temp_obs'])**2))
    return rmse

# Usage: get lake_depth from glm3.nml &init_profiles section
sim_df = read_glm_output('output/output.nc', lake_depth=25)
obs_df = read_observations('field_temp_oxy.csv')
rmse = calculate_rmse(sim_df, obs_df)
print(f"RMSE: {rmse:.2f}C")

Common Issues

IssueCauseSolution
RMSE very highWrong depth conversionUse lake_depth - z, not z directly
No matched observationsDatetime mismatchCheck datetime format consistency
Empty merged dataframeDepth rounding issuesRound depths to integers

Best Practices

  • Check lake_depth in &init_profiles section of glm3.nml
  • Always convert z to depth from surface before comparing with observations
  • Round depths to integers for matching
  • Group by datetime and depth to handle duplicate records
  • Check number of matched observations after merge

© benchflow-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in tasks/glm-lake-mendota/environment/skills/glm-output of benchflow-ai/skillsbench.

Open the folder on GitHubat commit 9a1f4dd

Compare with similar skills

Glm Output 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.

Glm Output compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Glm Output this skillbenchflow-ai/skillsbench1.8k—~1kAutomated safety check: PassMIT
Glm Master Skillzai-org/GLM-skills476—~1.9kAutomated safety check: NotesApache-2.0
Glm Delegationathola/claude-night-market341—~1.1kAutomated safety check: PassMIT
Glm Image Genzai-org/GLM-skills476—~2.9kAutomated safety check: PassApache-2.0
Fmri Glm Analysis GuideNeuroAIHub/BrainPilot1.1k—~5.8kAutomated safety check: PassAGPL-3.0
Glm Visionarchibate/dotfiles-opencode108—~795Automated safety check: PassNone

Similar skills

  • Glm Master Skill

    zai-org/GLM-skills

    Documentation-only master skill for GLM ecosystem discovery and installation.

    476 GitHub stars~1.9k tokensUpdated 5 mo ago
    Documents & OfficeAuto-check: notes
  • Glm Delegation

    athola/claude-night-market

    Delegates tasks to Z.ai GLM-5.x via the stock claude binary and an endpoint swap.

    341 GitHub stars~1.1k tokensUpdated 3 days ago
    Agent WorkflowsAuto-check passed
  • Glm Image Gen

    zai-org/GLM-skills

    Official skill for generating high-quality images from text prompts using ZhiPu GLM-Image API.

    476 GitHub stars~2.9k tokensUpdated 5 mo ago
    Media & CreativeAuto-check passed
  • Fmri Glm Analysis Guide

    NeuroAIHub/BrainPilot

    Domain-validated guidance for fMRI General Linear Model specification: HRF modeling, design matrix construction, contrast definition, confound regression, and statistical inference

    1.1k GitHub stars~5.8k tokensUpdated 7 days ago
    Auto-check passed
  • Glm Vision

    archibate/dotfiles-opencode

    This skill should be used when the user sends an image and asks to "analyze this image", "describe this picture", "what's in this image", or any request requiring visual understanding of images.

    108 GitHub stars~795 tokensUpdated 5 mo ago
    Auto-check passed
  • Glmocr

    zai-org/GLM-skills

    Extract text from images using GLM-OCR API. An agent skill from zai-org/GLM-skills.

    476 GitHub stars~1.1k tokensUpdated 5 mo ago
    Documents & OfficeAuto-check passed

More from benchflow-ai/skillsbench

All 189 skills in this repo
  • Lean4 Memories

    benchflow-ai/skillsbench

    This skill should be used when working on Lean 4 formalization projects to maintain persistent memory of successful proof patterns, failed approaches, project conventions, and user preferences…

    1.8k GitHub stars~3.2k tokensUpdated 2 mo ago
    Auto-check passed
  • Senior Data Engineer

    benchflow-ai/skillsbench

    World-class data engineering skill for building scalable data pipelines, ETL/ELT systems, real-time streaming, and data infrastructure.

    1.8k GitHub stars~5.9k tokensUpdated 2 mo ago
    Auto-check passed
  • Ac Branch Pi Model

    benchflow-ai/skillsbench

    AC branch pi-model power flow equations (P/Q and |S|) with transformer tap ratio and phase shift, matching acopf-math-model.md and MATPOWER branch fields.

    1.8k GitHub stars~1.1k tokensUpdated 2 mo ago
    Auto-check passed
  • Civ6lib

    benchflow-ai/skillsbench

    Civilization 6 district mechanics library. An agent skill from benchflow-ai/skillsbench.

    1.8k GitHub stars~1.7k tokensUpdated 2 mo ago
    Auto-check passed
  • D3 Visualization

    benchflow-ai/skillsbench

    Build deterministic, verifiable data visualizations with D3.js (v6).

    1.8k GitHub stars~1.5k tokensUpdated 2 mo ago
    Auto-check passed
  • Dc Power Flow

    benchflow-ai/skillsbench

    DC power flow analysis for power systems. An agent skill from benchflow-ai/skillsbench.

    1.8k GitHub stars~717 tokensUpdated 2 mo ago
    Auto-check passed

Questions about Glm Output

What does Glm Output do?

Read and process GLM output files. An agent skill from benchflow-ai/skillsbench. Glm Output is an agent skill from benchflow-ai/skillsbench. Read and process GLM output files.

When should I use Glm Output?

Glm Output fits situations like: you need to extract temperature data from NetCDF output; convert depth coordinates; calculate RMSE against observations.

How do I install Glm Output in Claude Code?

Run `npx skills add benchflow-ai/skillsbench --skill glm-output -a claude-code`. Or copy the skill folder (tasks/glm-lake-mendota/environment/skills/glm-output in benchflow-ai/skillsbench) into .claude/skills/glm-output in your project. Claude Code loads it when a task matches its description.

How do I install Glm Output in Codex?

Run `npx skills add benchflow-ai/skillsbench --skill glm-output -a codex`. Or copy the skill folder (tasks/glm-lake-mendota/environment/skills/glm-output in benchflow-ai/skillsbench) into .agents/skills/glm-output in your project. Codex loads it when a task matches its description.

Can I use Glm Output in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add benchflow-ai/skillsbench --skill glm-output -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/glm-output, .gemini/skills/glm-output, .github/skills/glm-output and .opencode/skills/glm-output in your project.

What does Glm Output need to run?

SKILL.md names no scripts, command-line tools or credentials: Glm Output is instructions for the agent only. Our summary lists: Python 3.

Does Glm Output access the network?

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.

Is Glm Output safe to install?

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.

What licence does Glm Output use?

Glm Output is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Glm Output use?

About 1k tokens (SKILL.md is roughly 4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Glm Output?

Skills that share tags, products or a category with Glm Output: Glm Master Skill (zai-org/GLM-skills, 476 stars), Glm Delegation (athola/claude-night-market, 341 stars), Glm Image Gen (zai-org/GLM-skills, 476 stars) and Fmri Glm Analysis Guide (NeuroAIHub/BrainPilot, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Glm Output?

benchflow-ai (a GitHub organization) maintains it in benchflow-ai/skillsbench, which has 1,834 GitHub stars. The repository holds 189 skills in this directory. The repository was last updated on July 23, 2026.

Source: benchflow-ai/skillsbench on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.