benchmark-checklist
Skill11 starsChanged 27 days agoMITView on GitHub
Vet a t3term performance number before you report it or act on it: what limits it, whether both sides ran tuned, physical limits, errors, repeatability, end-to-end relevance and whether the work happened. Use when you run benchmarks/, measure CPU, memory, latency or energy, or report a speedup or regression.
42 other projects use a version of this, 34 of them edited; 2 new projects in the last 4 weeks, against 0 the 4 before.
Adopted by
Surging: 2 new projects took it in the last 4 weeks, none the 4 weeks before.thin data
Most recently taken up by
- Yeachan-Heo/oh-my-claude-sisyphustheir own version, first seen Nov 8, 2026
- Loner1024/skillsedited, first seen Nov 8, 2026
- maxatwork/skillsedited, first seen Nov 8, 2026
- jimyag/dotfilestheir own version, first seen Nov 8, 2026
- caidanw/skillsedited, first seen Nov 8, 2026
- painhardcore/pstackedited, first seen Nov 8, 2026
Used with
Projects with it also use ketchup-video, principle-explain-the-number and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
tristanphvnSkillketchup-video
Catch the user up like /keel:ketchup, with a short silent video of slides for what happened and the waiting calls as text under it. Use for /keel:ketchup-video.
Also in 14 projects that use this
ianclearySkillprinciple-explain-the-number
Apply before you trust, report, or act on a number you measured: a speedup, a regression, a throughput, a latency, or an eval result. Find what limits it, and rule out that it measured something other than the work you think.
Also in 28 projects that use this
ianclearySkillpoteto-help
Guides users through pstack setup, /poteto-mode, and picking the skill, playbook, or principle for a task. Type /poteto-help with a question.
Also in 14 projects that use this
instructureSkillketchup
Rebuild context after /clear by analyzing uncommitted changes across Canvas LMS and all plugin repositories
Also in 25 projects that use this
drafaelSkillin-your-own-words
Restate the user's goals and the problem they are trying to solve to check understanding. Manual invocation only; use when the user explicitly invokes in-your-own-words or requests this understanding check. Do not solve the task or rewrite the assistant's last answer.
Also in 24 projects that use this
jaydubya818Skillprinciple-attack-the-premise
Apply when repeated fixes fail and a shared assumption may be wrong.
Also in 27 projects that use this
Other versions42 projects use a version of this.
Word for word · 0
None found.
Edited · 34
- backnotprop/pstack★ 3.8k17% same
- uzairansaruzi/p3-stack★ 12614% same
- dsebban/skills★ 7117% same
- TheOnlyFusionCube/potetos-for-everyone★ 2116% same
- creedants/pstack-t3★ 1816% same
- painhardcore/pstack★ 1817% same
- mariusflorescu/pstack-t3★ 1317% same
- caidanw/skills★ 1117% same
- adjohn/pstack★ 917% same
- alexnthnz/keel★ 517% same
24 more not listed
Wrote their own version · 8
- Yeachan-Heo/oh-my-claude-sisyphus★ 41ksame name
- Yeachan-Heo/oh-my-claudecode★ 41ksame name
- jtaroreh/agystack★ 128same name
- jimyag/dotfiles★ 11same name
- requie/endostack★ 4same name
- wilbeibi/wilbeibi-skills★ 2same name
- woodbeary/later-dog★ 2same name
- hidenobunagai/astack★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository8 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- blast-radiusSkill
- maintain-verify-t3termSkill
- tddSkill
- verify-prSkill
- verify-t3termSkill
- verify-thisSkill
The file
We split this skill into the rules it gives an agent
4 rules. 1 is common, 1 is distinctive, and 2 are very specific to this project.
1
Common
Most of the 40 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 17
Write the claim you expect to make, in the words you'd ship: "idle CPU with a thread open is 0.0% of one core over 60 s at 140x44".
- Very specific: line 18
Read the script you'll run under benchmarks/.
- Common: line 35
Call it inconclusive when you claim a difference but can't name the limiter, a side ran untuned, or you couldn't answer questions 4 and 7.
- Very specific: line 36
Keep a pull request body to one main number.
“Common” is measured: kept by at least 6 in 10 of the 40 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Benchmark checklist
Use this whenever you produce a number: a pull request's before and after, a regression claim, idle CPU, a client comparison, or a choice between two approaches. Answer each question with evidence from a run, not a guess from the code. Low CPU, memory and energy use is why t3term exists, so its numbers end up in the README and get checked (measured-claims in .greptile/config.json).
Adapted from pstack's benchmark-checklist skill (github.com/cursor/plugins, MIT) for this repo and macOS.
For a quick ballpark the user asked for, one run is enough. Still answer questions 4 and 7, and say it was one run. A choice between options is never a ballpark.
Before you run anything
- Write the claim you expect to make, in the words you'd ship: "idle CPU with a thread open is 0.0% of one core over 60 s at 140x44". The questions test that sentence.
- Read the script you'll run under
benchmarks/. Note what it times, counts and ignores.benchmarks/README.mdsays what each one can't show. - Check the machine:
uptimefor load,sysctl -n hw.ncpufor cores, andpmset -g battfor power, since macOS throttles on battery and in Low Power Mode. If the machine is busy, find out what's running. If you can't stop it, interleave the sides so both see the same noise, and say so.
The questions
- Why not double? Name what limits the number. Profile in a run you don't report, because profilers slow the work down:
sample <pid> 5, Instruments' Time Profiler (xcrun xctrace record --template 'Time Profiler'),ps -o %cpu,rss -p <pid>,/usr/bin/time -lfor peak RSS and context switches. Map the hot spot to source. If a change didn't move the number, the limiter says why, so find it before you call the change useless. - Was it tuned? Both sides run the way users run them:
cargo build --release --lockedwith Rust 1.95.0, the same terminal emulator, size, color depth and font, the same thread and transcript length, the same server. A debug build on one side compares builds, not code. For t3term against the desktop app, compare the same thread open in both, ascompare_clients.pydoes. - Did it break limits? Do the arithmetic. A 60 Hz display shows at most 60 frames a second and t3term draws at most 30. Removing a piece that took 10% of a run makes it at most about 11% faster. A result past a limit measured something else: a cache, a no-op or a bug.
- Did it error? Count failures and check the output is right, not just present. The TUI tests and the
benchmarks/probes compare screen hashes and checksums. A disconnected client is cheap because it does nothing. Check that t3term was connected and drawing the thread during the window. - Does it reproduce? At least five runs a side, alternating A, B, A, B, so warmup, caches and thermal drift favor neither. Report the median and range. A gap smaller than the spread between runs is no measurable difference.
- Does it matter? Next to a micro result, measure what a user waits on or pays for: idle CPU over a minute, time from a key to the next frame, memory with a long thread open, battery drain over a session. Give the micro result as a share of the whole.
- Did the work happen? Confirm it ran inside the timed window: the thread was open, events arrived (the fake server's counters from
t3v status --jsoncount them), frames were drawn. An idle measurement of a client that crashed is a very good idle number.
Report
- Lead with the verdict: faster, slower, no measurable difference, or inconclusive.
- Then the number with its unit, the run count, the range and the limiter: "idle CPU went from 0.8% to 0.1% of one core, median of 7 one-minute runs a side, range 0.1 to 0.2%, bound by the one-second tick".
- Call it inconclusive when you claim a difference but can't name the limiter, a side ran untuned, or you couldn't answer questions 4 and 7. Name the gap.
- Keep a pull request body to one main number. Put the runs, ranges and limiter evidence in a linked file, and the script that produced them in
benchmarks/.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

