Chisle
The coding-agent plugin that bills 52% of a bare model across 20 live tasks. Terse persona + tool-output compressor + context diet.
翻訳待ち
Element, phase, script, owner, milliseconds, certainty. An open-source CLI that diagnoses Interaction to Next Paint, reconciled against real-user field data.
翻訳待ち
開発ツールTypeScript · HTMLGitHub @franzenzenhoferオンライン所有者未確認
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Find out WHY a page has poor Interaction to Next Paint: element, phase, script URL:line:function, third-party owner, ms and certainty over many runs. CLI + agent skill.
翻訳待ち
Loading the full README.
Read the full README ↗Find out why a page has poor Interaction to Next Paint, not just that it does.
Website · Quick start · Commands · How it works · Agent skill
What you get, for any URL:
URL:line:function, third-party owner), how many milliseconds.It diagnoses. It never prints fixes: what to change is your call, made on evidence.
Built for and battle-tested in real-world INP audits of large, ad-heavy sites.
Interaction to Next Paint is the Core Web Vital for responsiveness. For every page visit, the browser measures how long each click, tap and key press takes until the next frame is painted; the page's INP is (close to) the slowest of them. Google reports the 75th percentile over 28 days of real Chrome users:
| INP p75 | Rating |
|---|---|
| <= 200 ms | good |
| 200 - 500 ms | needs improvement |
| > 500 ms | poor |
Every interaction has three phases, and each has different causes (Optimize INP):
Lighthouse and PSI give you a number. This tool gives you the reasons.
Every issue in the report carries the same set of facts. The examples are real output from examples/test-site-third-party (the bundled test site, a third-party script that adds 200 ms to every click) and examples/wikipedia-united-states:
| Fact | Example | Where it comes from |
|---|---|---|
| Element | button#apply-sort; on Wikipedia div#mwBA > a:nth-of-type(2) | Discovered interaction target (CSS selector) |
| Phase | processing (one of input-delay, processing, presentation, context) | Event Timing phases, split per interaction |
| Script | knownDeltaListener (http://cdn.thirdparty.test:63958/known-delta.js:4:65) via #document.onclick (198 ms) | JS samples in a Chrome trace: function, URL, line, column, invoker |
| Owner | Test Tracker Inc. (3rd party) - blocking it made the tap 134 ms faster (95% CI 97-179 ms, 28 paired runs) | third-party-web entity map, extendable with --entity-map |
| Milliseconds | median 222 ms (95% CI 221-223 ms) | Exact order-statistic CI of the median over the runs where the rule fired |
| Certainty | confirmed, fired in 8 of 8 runs (95% CI 68-100%) | Screening vs deep-dive runs, reproducibility interval |
The rules it checks (each links its spec or engine source in the report):
| Phase | Rule IDs |
|---|---|
| Input delay | input-delay/long-task, input-delay/third-party-task, input-delay/no-mobile-viewport, input-delay/boot-window |
| Processing | processing/slow-event-handlers, processing/third-party-script, processing/forced-reflow, processing/layout-thrashing |
| Presentation | presentation/large-style-recalc, presentation/large-layout, presentation/script-before-paint, presentation/rendering-dominant, presentation/large-dom-change, presentation/non-composited-animation |
| Context | context/dom-size, context/page-exceptions, context/off-main-thread-time, context/measurement-artifact |
| Third parties | third-party/causal-delta, third-party/confounded |
Not on npm yet. Install from source.
Requirements: Node.js >= 26, git, and roughly 500 MB of disk for the pinned Chrome for Testing build.
git clone https://github.com/franzenzenhofer/inp-analyser.git
cd inp-analyser
npm ci
npm run chrome:install # downloads the pinned Chrome for Testing into .chrome/
npm run build
npm link # puts `inp` on your PATH
Without npm link, run the CLI straight from source:
npx tsx src/cli.ts --help
Every measurement runs on one pinned Chrome build, because INP semantics changed across Chrome releases (INP changelog). Chrome always runs headless.
This is the beginning of the README. Read the rest at the original. Read the full README ↗