Communitygithub.com

ahmedbinirfan/mcmaster-fast

Wende McMaster-Carr-ähnliche Techniken an, die Websites sofortig wirken lassen: HTML-first-Rendering, App-Shell-Navigation, Intent-Prefetch, gestaffeltes Caching, kritisches CSS, seiten-spezifisches JavaScript und Layout-Stabilität. Verwende dies, wenn der Benutzer eine extrem schnelle oder reaktionsschnelle Website wünscht, McMaster-Carr / mcmaster.com erwähnt, Instant-Seiten, Hover-Prefetch oder darum bittet, diese Techniken auf einer anderen Website zu implementieren.

Was ist mcmaster-fast?

**McMaster-fast** ist ein Skill, der darauf ausgelegt ist, die extrem schnelle und reaktionsschnelle Benutzererfahrung von McMaster.com auf jede andere Website zu übertragen. Der Skill konzentriert sich auf eine Reihe von Techniken, die eine sofortige Seitenwahrnehmung erzeugen, wie z. B. serverseitig gerendertes HTML für den ersten Paint, den Austausch von Inhalten innerhalb einer persistenten App-Shell, das Vorabladen von Seiten beim Hover, die Aufteilung von CSS und JavaScript nach Seiten sowie die Verwendung von unveränderlichen, weit im Cache gespeicherten statischen Assets. Er basiert auf einer detaillierten Analyse der tatsächlichen Performance-Strategien von McMaster.com und bietet eine priorisierte Rangfolge von Maßnahmen, die von der Bereitstellung von sofort renderbarem HTML bis hin zur Optimierung von Service Workern für die Navigation reicht. Der Skill ist sprachunabhängig konzipiert und kann auf Frameworks wie Next.js, Vanilla-JS-Websites oder vorhandene SPAs angewendet werden. Er enthält strenge Regeln, um sicherzustellen, dass das HTML das Produkt bleibt, dass JavaScript nur optional für Verbesserungen ist, und dass keine unnötigen Bibliotheken oder Modernisierungen hinzugefügt werden, die die schnelle Performance zunichtemachen würden. Der Skill ist besonders nützlich für Entwickler und KI-Agenten, die Webseiten so optimieren möchten, dass sie sich sofort anfühlen, ohne die Architektur oder das Framework zu ändern.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add ahmedbinirfan/mcmaster-fast

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht mcmaster-fast?

Lass andere Websites sich anfühlen wie mcmaster.com: erster Paint in Millisekunden, nächste Seite bevor sich die URL-Leiste aktualisiert.

Das Framework spielt keine Rolle. McMaster macht das mit ASP.NET, YUI und einem ScriptCombiner. Die Reihenfolge und die Anzahl der Requests zählen. Framework-Moden nicht.

Was sie tatsächlich tun

Beobachtet auf der Live-Site (2026-09-13) plus dem Wes Bos Teardown (klinke.studio Notizen):

SchichtWas McMaster tutWarum es sich sofort anfühlt
Erstes ByteServer-gerendertes HTML. Browser malt vor JS. FCP ~64ms, TTFB ~19ms bei einer warmen Shell.Benutzer sieht eine Seite, keinen Spinner, der auf ein Bundle wartet.
Shell#ShellLayout_Cntnr + #MainContent. Header/Warenkorb bleiben eingebaut. history.pushState.Klick auf eine Kategorie behielt denselben Header-Knoten und tauschte den Inhalt in 35ms aus.
PredictHover/Intent ruft das nächste HTML vor dem Klick ab.Klick ist ein Cache-Treffer + DOM-Tausch.
Wiederholter BesuchService Worker cache-first für GET-Navigationen (keine PDFs). Cache hält / nach erstem Laden.Ursprungs-HTML ist ~200ms (mc-turn); SW liefert es lokal aus.
Waterfalldns-prefetch für Bild-Hosts. preload für woff2-Schriftarten, Logo, LCP-Sprites, Seiten-JS/CSS, ShellDynamic.aspx.Browser beginnt mit Schriftarten/LCP, bevor er sie im CSS entdeckt.
CSS~32KB gemeinsames CSS inline in <style> im <head>. Rest über einen seiten-spezifischen Combiner.Erstes Layout benötigt keinen zusätzlichen CSS-Request.
JSSeiten-spezifische ScriptCombiner-Bundles (?files=…). Async. WebParts laden nach dem Paint.Katalogseite lädt keinen Checkout-Code herunter.
AssetsVersionierte URLs (/mv1789156784/, ?ver=). Cache-Control: public,immutable,max-age=31536000. Bild-Host images1.mcmaster.com. Sprites für Kachel-Raster.Ein Jahr Cache, keine Invalidierungs-Tänze, wenige Requests.
StabilitätReservierte Boxen / Sprites. Gemessener CLS 0.Kein Reflow während Bilder eintreffen.
GewichtFirst-Party-Analytics (/trk/). Keine Werbung. CSP auf *.mcmaster.com beschränkt.Die Seite ist das Produkt.

HTML-Dokumente selbst sind Cache-Control: no-cache und x-check-cacheable: NO bei Akamai. Kopiere nicht "CDN-Caching für alle HTML-Seiten". Sie cachen die Shell im Browser und cachen unveränderliche statische Dateien am Edge.

Prioritätsleiter

Stoppe auf der ersten Stufe, die die Seite unter ~200ms LCP bei warmem Cache bringt. Installiere nicht Workbox, eine Sprite-Pipeline und Speculation Rules in einem PR.

  1. HTML ausliefern, das der Browser malen kann. SSR oder statisches HTML. Kein clientseitiges Rendern der ersten Ansicht. Entferne das JS, das den ersten Bildschirm aufbaut.
  2. Ersten Paint freigeben. Nur das oberhalb der Falz liegende CSS inline (oder ein winziges blockierendes Stylesheet). preload das LCP-Bild und woff2-Schriftarten (crossorigin). width/height (oder CSS aspect-ratio) für jedes Bild.
  3. Unveränderliche statische Dateien. Fingerprint oder Versions-Query. Cache-Control: public, immutable, max-age=31536000.
  4. Persistente Oberfläche + Inhaltswechsel. Gemeinsames Layout. Nächste Navigation ersetzt einen Inhaltsknoten und führt pushState aus. Baue den Header nicht neu ein.
  5. Intent Prefetch. Spekuliere das nächste Dokument beim Hover / Viewport. Begrenze es. Nie Checkout, Such-APIs oder authentifiziertes HTML vorladen.
  6. Navigations-SW (optional). Cache-first GET-Navigationen für die öffentliche Shell/Startseite. Leere bei Deployment. Invalidiere von der Seite aus, nicht mit einem cleveren SW. Überspringe, wenn die Seite größtenteils privat ist.
  7. Seiten-spezifisches JS. Routen-Splitting. Verschiebe Analytics in den Leerlauf. Entferne Drittanbieter-Tags, die nicht das Produkt sind.
  8. Sprites / Bild-Host nur, wenn Dutzende kleiner Icons auf einer Ansicht vorhanden sind. HTTP/2 + ein paar komprimierte Bilder reichen darunter aus.

Agenten-Workflow

Wenn aufgefordert, eine Seite auf diese Weise schnell zu machen:

  1. Verfolge den echten ersten Ladevorgang und eine In-App-Navigation (Netzwerk + was malt). Benenne das aktuelle LCP-Element und das JS, das es blockiert.
  2. Wende die niedrigste fehlende Stufe der Leiter an. Eine Änderung pro Durchgang, es sei denn, der Benutzer hat einen Rundumschlag gewünscht.
  3. Bevorzuge Plattformfunktionen, die bereits im Repo vorhanden sind (Next <Link>, next/font, App Router Layouts) gegenüber neuen Bibliotheken.
  4. Hinterlasse nach einem Durchgang einen Check: LCP / FCP Zahlen oder eine kleine Assertion, dass der Shell-Knoten bei einer Client-Navigation wiederverwendet wird.
  5. Lese techniques.md für das genaue Rezept der Stufe, die du implementierst. Lese recipes.md für Next.js / Vanilla / bestehende-SPA Zuordnungen.

Harte Regeln

  • HTML ist das Produkt. JS ist optionale Verbesserung.
  • Prefetch ist ein Hinweis, kein Crawler. Nur Same-Origin GET-Dokumente.
  • Personalisiertes HTML ist no-store oder nur SW mit kurzer TTL. Niemals Warenkorb-/Konto-HTML auf einen gemeinsamen CDN-Cache legen.
  • Füge keinen Service Worker hinzu, der jedes Asset abfängt. Nur Navigationsdokumente, entsprechend McMasters ServiceWorkerJS.aspx.
  • Kopiere nicht YUI, Sprites oder ASP.NET. Kopiere die Reihenfolge der Operationen.
  • "Modernisiere" keine schnelle HTML-Seite in ein Client-SPA als Lösung.
  • Drittanbieter-Skripte (Werbung, Tag-Manager, Chat) sind schuldig, bis ihre Unschuld bewiesen ist. Halte sie vom ersten Paint fern oder schneide sie ab.
  • Markiere Abkürzungen mit ponytail:, wenn du eine minderwertige Stufe überspringst.

Fertig, wenn

  • Erster Besuch: HTML malt, bevor ein App-Bundle läuft. LCP ist ein serverseitig gesendetes Element, kein clientseitig gerendertes.
  • Nächster Klick: Die Oberfläche bleibt eingebaut; nur der Inhaltsbereich tauscht.
  • Wiederholter Besuch der Startseite/Shell: Wird lokal oder aus dem Speicher-Cache ausgeliefert.
  • Schriftarten und LCP-Bild sind in den ersten 1–2 Roundtrips, nicht erst nach CSS entdeckt.
  • CLS bleibt nahe 0 auf den Seiten, die du bearbeitet hast.

Verwandte Skills