Agent skill

Bench Records

by cometkim in cometkim/unicode-segmenter

Archive benchmark runs into benchmark/grapheme/records and regenerate the HTML report.

MITAuto-check passed

Install Bench Records

skills CLI
$ npx skills add cometkim/unicode-segmenter --skill bench-records -a claude-code

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

GitHub CLI
$ gh skill install cometkim/unicode-segmenter bench-records --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/cometkim/unicode-segmenter.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/bench-records .claude/skills/bench-records && 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
bench-records
GitHub stars
112
Token cost
~723 tokens
SKILL.md length
348 words
Files
1
Skills in repo
4
Repo updated
First seen
Licence
MIT

At a glance

Archive benchmark runs into benchmark/grapheme/records and regenerate the HTML report.

  • Works in 4 steps: Sanity-parse it: expect 6 benchmark… → Regenerate the report: node… → Tell the user the per-competitor speedup… → …
  • Refreshing a perf record for Node.js
  • SKILL.md covers File naming, Capturing, After writing a record and Measurement-quality flags
  • Calls yarn, bun and node

What it does

Bench Records is an agent skill from cometkim/unicode-segmenter. Archive benchmark runs into benchmark/grapheme/records and regenerate the HTML report. Use when adding or refreshing a perf record for Node.js, Bun, Chrome, Firefox, or Safari, or when asked to update the benchmark report.

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

It works with Node.js. The repository describes itself as: A lightweight implementation of the Unicode Text Segmentation (UAX 29). The licence is MIT.

When your agent uses it

  • Refreshing a perf record for Node.js
  • Asked to update the benchmark report

Example prompts

  • “/bench-records”

Requirements

  • Node.js

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Sanity-parse it: expect 6 benchmark groups, and every competitor present in each summary block.
  2. Regenerate the report: node benchmark/grapheme/_records/report.mjs — prints record/platform counts and rewrites report.generated.html.
  3. Tell the user the per-competitor speedup ranges from the new record (e.g. "Intl.Segmenter 1.9–2.5x").
  4. The user commits records themselves — never run git commit.

What it can do on your machine

Read from SKILL.md and the folder at commit 5d3c738. 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

    Shell commands in SKILL.md call:

    • yarn
    • bun
    • node
    • git

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

  • Network

    No URLs in SKILL.md. Its commands use yarn and git, which can reach the network depending on how they are called.

    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

Bench Records loads about 723 tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 348 words of instructions outside code blocks.

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

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 cometkim/unicode-segmenter at commit 5d3c738, republished under its MIT licence (© cometkim). 348 words, ~723 tokens.

Download SKILL.mdSave it as .claude/skills/bench-records/SKILL.md (or your agent's skills folder).
name
bench-records
description
Archive benchmark runs into benchmark/grapheme/_records and regenerate the HTML report. Use when adding or refreshing a perf record for Node.js, Bun, Chrome, Firefox, or Safari, or when asked to update the benchmark report.

Benchmark records

benchmark/grapheme/_records/ archives verbatim mitata outputs; report.mjs parses them into report.generated.html (committed alongside the records).

File naming

YYYYMMDD-{cpu}-{os}-{runtime}_{version}.txt, all lowercase snake_case, e.g. 20260707-apple_m4_pro-macos_26.5-nodejs_26.4.0.txt. One file per (date, platform, runtime); a same-day re-run replaces the file.

Capturing

A record must be the verbatim, complete mitata output: the clk:/cpu:/runtime: header, every benchmark group, and every summary block. Never trim, reformat, or reconstruct — the report parser and humans both read it raw, and the case names contain invisible Unicode that is easy to corrupt.

  • Node: yarn perf:grapheme, capture stdout (non-TTY output is already plain text).
  • Bun: bun --bun run perf:grapheme (--bun is required, otherwise Bun shells out to Node).
  • Chrome (automatable): start yarn perf:grapheme:browser in the background (vite dev server). With the chrome-devtools MCP: navigate to the served URL, click the "Execute benchmark" button, wait until the button is re-enabled (the worker posts done), then read the #output element's innerText via evaluate_script. The MCP can only write files inside the workspace — save to a repo-relative temp path first, then move into _records/.
  • Safari / Firefox (manual): the user runs the same vite page themselves and pastes the output. Write the pasted text to the record file exactly as given; when editing an existing record, watch for accidentally duplicating a summary block (it happened once).

After writing a record

  1. Sanity-parse it: expect 6 benchmark groups, and every competitor present in each summary block.
  2. Regenerate the report: node benchmark/grapheme/_records/report.mjs — prints record/platform counts and rewrites report.generated.html.
  3. Tell the user the per-competitor speedup ranges from the new record (e.g. "Intl.Segmenter 1.9–2.5x").
  4. The user commits records themselves — never run git commit.

Measurement-quality flags

  • Safari coarse-timer clamping: 0.00 ps minimums or 1.00 ms maximums mean the reduced-precision timer quantized the samples; affected rows (often the short ASCII case) can read ~2x off. Archive as provided, but flag it — a re-run with the tab focused usually fixes it.
  • Browser runs are sensitive to background-tab throttling; ask for a focused, foreground run when numbers look inconsistent with the platform's other rows.
  • README performance claims are qualitative ranges; a single noisy record rarely requires editing README.md.

© cometkim, 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 .claude/skills/bench-records of cometkim/unicode-segmenter.

Open the folder on GitHubat commit 5d3c738

Compare with similar skills

Bench Records 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.

Bench Records compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Bench Records this skillcometkim/unicode-segmenter112—~723Automated safety check: PassMIT
Chart Visualizationbytedance/deer-flow84k2 repos~840Automated safety check: PassMIT
Web Access via Browser CDPeze-is/web-access9.1k4 repos~2.2kAutomated safety check: PassMIT
Knap Markdown Templateskepano/obsidian-skills49k2 repos~986Automated safety check: PassMIT
Electron Multi-Process ArchitectureiOfficeAI/AionUi33k1 repos~1.8kAutomated safety check: PassApache-2.0
Chrome CDP Browser Controlzenstory-ai/oh-story-claudecode7.4k2 repos~1.2kAutomated safety check: PassMIT

Similar skills

  • Chart Visualization

    bytedance/deer-flow

    Picks a suitable chart type from 26 options for your data, maps the data to that chart's parameters and generates a chart image through a JavaScript script.

    84k GitHub starsUsed in 2 repos~840 tokens
    Data & AnalyticsAuto-check passed
  • Routes every web task, from searching to logged-in browsing, through a tiered choice of search, fetch, curl or a real Chrome or Edge session driven over CDP.

    9.1k GitHub starsUsed in 4 repos~2.2k tokens
    Productivity & AutomationAuto-check passed
  • Knap Markdown Templates

    kepano/obsidian-skills

    Renders Markdown notes from Knap templates and JSON data on the command line, including notes built from Defuddle web page output.

    49k GitHub starsUsed in 2 repos~986 tokens
    Documents & OfficeAuto-check passed
  • Tells the agent where new code belongs in an Electron multi-process project and which APIs each process may use, with rules for new bridges, services, agents and workers.

    33k GitHub starsUsed in 1 repo~1.8k tokens
    DevelopmentAuto-check passed
  • Chrome CDP Browser Control

    zenstory-ai/oh-story-claudecode

    Drives a Chrome window over the DevTools Protocol with the agent-browser CLI, so the agent can reuse your logged-in sessions, read pages and pull tokens.

    7.4k GitHub starsUsed in 2 repos~1.2k tokens
    Productivity & AutomationAuto-check passed
  • DeerFlow Smoke Test

    bytedance/deer-flow

    Walks through an end-to-end smoke test of a DeerFlow deployment: pull the latest code, deploy with Docker or locally, verify services, run health checks and write a report.

    84k GitHub stars~2.5k tokensUpdated today
    Testing & QAAuto-check: notes

More from cometkim/unicode-segmenter

  • Codspeed Debug

    cometkim/unicode-segmenter

    Investigate CodSpeed CI performance reports on PRs — regressions or improbable improvements that don't reproduce locally.

    112 GitHub stars~814 tokensUpdated 2 mo ago
    Auto-check passed
  • Benchmark

    cometkim/unicode-segmenter

    Measure runtime perf, bundle size, and memory impact of unicode-segmenter changes.

    112 GitHub stars~1.3k tokensUpdated 2 mo ago
    Auto-check passed
  • Unicode Data

    cometkim/unicode-segmenter

    Regenerate the generated Unicode data modules (src/graphemedata.js, generaldata.js, emojidata.js, test/unicodetestdata.js) and verify correctness.

    112 GitHub stars~1.1k tokensUpdated 2 mo ago
    Auto-check passed

Works with

Questions about Bench Records

What does Bench Records do?

Archive benchmark runs into benchmark/grapheme/records and regenerate the HTML report. Bench Records is an agent skill from cometkim/unicode-segmenter. Archive benchmark runs into benchmark/grapheme/records and regenerate the HTML report.

When should I use Bench Records?

Bench Records fits situations like: refreshing a perf record for Node.js; asked to update the benchmark report.

How do I install Bench Records in Claude Code?

Run `npx skills add cometkim/unicode-segmenter --skill bench-records -a claude-code`. Or copy the skill folder (.claude/skills/bench-records in cometkim/unicode-segmenter) into .claude/skills/bench-records in your project. Claude Code loads it when a task matches its description.

How do I install Bench Records in Codex?

Run `npx skills add cometkim/unicode-segmenter --skill bench-records -a codex`. Or copy the skill folder (.claude/skills/bench-records in cometkim/unicode-segmenter) into .agents/skills/bench-records in your project. Codex loads it when a task matches its description.

Can I use Bench Records 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 cometkim/unicode-segmenter --skill bench-records -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/bench-records, .gemini/skills/bench-records, .github/skills/bench-records and .opencode/skills/bench-records in your project.

What does Bench Records need to run?

Going by SKILL.md and its folder, Bench Records needs the command-line tools its instructions call (yarn, bun, node and git). Our summary lists: Node.js.

Does Bench Records access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Bench Records 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 Bench Records use?

Bench Records is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Bench Records use?

About 723 tokens (SKILL.md is roughly 2.9k 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 Bench Records?

Skills that share tags, products or a category with Bench Records: Chart Visualization (bytedance/deer-flow, 84k stars), Web Access via Browser CDP (eze-is/web-access, 9.1k stars), Knap Markdown Templates (kepano/obsidian-skills, 49k stars) and Electron Multi-Process Architecture (iOfficeAI/AionUi, 33k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Bench Records?

cometkim (a GitHub user) maintains it in cometkim/unicode-segmenter, which has 112 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on July 29, 2026.

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