Agent Skills › ddalcu/mlx-serve › pr-charts

pr-charts

GitHub

将性能基准测试报告生成为图表并托管,用于PR中验证速度声明。适用于涉及性能改进或需要展示基准运行结果的场景。

.claude/skills/pr-charts/SKILL.md ddalcu/mlx-serve

Trigger Scenarios

PR包含速度声明 被要求生成基准测试图表

Install

npx skills add ddalcu/mlx-serve --skill pr-charts -g -y
More Options

Non-standard path

npx skills add https://github.com/ddalcu/mlx-serve/tree/main/.claude/skills/pr-charts -g -y

Use without installing

npx skills use ddalcu/mlx-serve@pr-charts

指定 Agent (Claude Code)

npx skills add ddalcu/mlx-serve --skill pr-charts -a claude-code -g -y

安装 repo 全部 skill

npx skills add ddalcu/mlx-serve --all -g -y

预览 repo 内 skill

npx skills add ddalcu/mlx-serve --list

SKILL.md

Frontmatter
{
    "name": "pr-charts",
    "description": "Turn llmprobe reports into the charts a perf PR embeds (one line per arm across context size, every point labelled, machine and model in the caption) and host them so the PR body renders them. Use when a PR makes a speed claim, or when asked for a chart of a bench run."
}

PR charts

The chart goes above the table in "How I verified it". A reviewer sees in two seconds whether a win holds at every context size or only at one.

  1. Measure each arm with tests/bench.sh, alternating. Run the ladder once per arm, then again in reverse order (A B B A), all in one session. Tag each run by arm and round (--tag main-1, --tag pr-1, --tag pr-2, --tag main-2) so the reports land in ~/claude-tmp/bench-<tag>/. Serve arms from one binary with an env switch where you can, and use --url for a server you started yourself. --full gives a median of 3 per rung, out to 64k.
  2. Chart them.
    uv run tests/bench_chart.py --out charts/ main='~/claude-tmp/bench-main-*/*.json' pr='~/claude-tmp/bench-pr-*/*.json'
    
    The script writes decode.png, prefill.png and ttft.png. Each point is the median across that arm's reports, and the caption names the machine, model, engine version and report count. It reads bench.contextScaling and times nothing itself.
  3. Look at the PNGs before posting. A flat line at zero, a missing arm, or two arms that match to the digit means a bad run, not a result. Check each arm's server log for the engagement line (.claude/skills/bench/SKILL.md).
  4. Host them. gh can't attach images. Commit the PNGs to a branch of your public fork, for example pr-charts with a directory per PR, and link the raw URL. A private repo's raw URL renders for nobody else.
    | Prompt processing | Generation |
    |---|---|
    | ![prefill](https://raw.githubusercontent.com/<you>/mlx-serve/pr-charts/<pr>/prefill.png) | ![decode](https://raw.githubusercontent.com/<you>/mlx-serve/pr-charts/<pr>/decode.png) |
    
  5. One line of method under the charts: chip, macOS, model, flags, runs per arm, arm order.

Chart what the PR claims. A multi-stream change charts aggregate tok/s against stream count, and a latency change charts TTFT; if the ladder doesn't show the claim, build the one chart that does from measured numbers. Keep the points that got slower.

Version History

  • 64b6e53 Current 2026-10-18 17:43

Same Skill Collection

.claude/skills/bench/SKILL.md
.claude/skills/release/SKILL.md
skills/mlx-serve/SKILL.md

Metadata

Files
0
Version
64b6e53
Hash
2b340b6a
Indexed
2026-10-18 17:43

ホーム - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-10-21 23:26
浙ICP备14020137号-1