Alle Skills

setup-pre-commit (mattpocock/skills)

Richtet Husky-Pre-Commit-Hooks mit lint-staged, Prettier, Typprüfung und Tests im aktuellen Repo ein.

setup-pre-commit: Bei einer vagen Anfrage „Commit-Hooks hinzufügen“ baut einfaches Codex ein anderes Setup (native Git-Hooks) und ruft in einem pnpm-Repo sogar npm auf (in einem Lauf gesehen); der Skill und ein Ein-Satz-Prompt liefern beide das Husky- und lint-staged-Setup (5.0 vs. 1.4)

EmpfohlenSicher

Codex CLI · gpt-6-astra

29.0 / 30

Lift gegenüber ohne Skill: +3.59 · Empfohlen · 18 Läufe

Empfohlen: Die Gesamtpunktzahl 29.0/30 liegt bei mindestens 22, die Ausgabequalität 5.0 bei mindestens 3.5 und der Lift +3.59 bei mindestens +1.0.

SOTA

Bestanden

Getestet mit Codex.

Gilt für Codex, Claude Code

Codex CLI 0.166 (SOTA-Stufe): 18 bewertete Läufe. Ein Bestehen hier deckt gemäß unserer Stufenregel auch Claude Code ab; über die zweite Stufe sagt es nichts aus.

Punktzahlen

Jede Dimension reicht von 0 bis 5, und die sechs ergeben zusammen die Gesamtpunktzahl von 30. 5 ist in jeder Dimension besser. Kosten 5 bedeutet günstig und schnell. Installation 5 bedeutet einfach.

Trigger-Zuverlässigkeit
5.0
Lift gegenüber ohne Skill
5.0
Ausgabequalität
5.0
Token- und Zeitkosten
5.0
Installation und Portabilität
4.0
Sicherheit
5.0

Sicherheitsprüfung

Sicher

Statischer Scan: 0 CRITICAL / 0 HIGH / 0 MEDIUM. Manuelle Prüfung: Sicher in einer Sandbox ohne Netzwerk auszuführen (keine Befunde). Ein sauberer Scan beweist nicht, dass ein Skill sicher ist.

Installieren

npx skills@latest add mattpocock/skills --skill setup-pre-commit

Quelle

Fixierter Commit: 4ae2317ddb22b046e26455e4f9c9b3aaaf62212d

Getestet: 2026-11-02

Was wir getestet haben

  • npm-Projekt mit typecheck- und test-Skripten — Commit-Hooks hinzufügen. Pre-Commit-Hooks für dieses Repo einrichten (kein Netzwerk verfügbar, daher die Dateien und package.json-Änderungen selbst schreiben statt zu installieren).
  • pnpm-Projekt ohne typecheck-Skript — Commit-Hooks hinzufügen. Pre-Commit-Hooks für dieses Repo einrichten (kein Netzwerk verfügbar, daher die Dateien und package.json-Änderungen selbst schreiben statt zu installieren).
  • Vorhandene Prettier-Konfiguration muss erhalten bleiben — Commit-Hooks hinzufügen. Pre-Commit-Hooks für dieses Repo einrichten (kein Netzwerk verfügbar, daher die Dateien und package.json-Änderungen selbst schreiben statt zu installieren).

Vorteile

  • Hebt den Mittelwert von 1.41 auf 5.0 gegenüber ohne Skill (+3.59).
  • Der Skill wurde erkannt, ohne genannt zu werden: Skill-Datei in 6/6 Treatment-Läufen gelesen.
  • Kein Token-Overhead: 0.99x die Tokens von ohne Skill.
  • Hohe absolute Qualität mit dem Skill: 5.0 von 5.

Nachteile

  • Ein Ein-Satz-Prompt erzielte 5.0 gegenüber 5.0 mit dem Skill (+0.00).
  • Testhinweis: Eine Prüfung wurde nach der ersten Bewertung korrigiert (eine unberührte Datei muss bestehen), und jeder Lauf wurde neu bewertet.
  • n=2 pro Aufgabe und Variante; Unterschiede unter etwa 1 Punkt sind Rauschen.

Bewertung

Codex CLI 0.166 (gpt-6-astra, niedriges Reasoning) auf einem dedizierten Windows-Test-PC, einem frischen temporären Projekt und temporären HOME/TMPDIR/Caches pro Lauf; Skill installiert (Treatment) oder nicht vorhanden (Kontrolle) oder nicht vorhanden mit der Kernanforderung des Skills in einem an den Prompt angehängten Satz (One-Liner-Gruppe); 2 Läufe pro Gruppe und Aufgabe; Netzwerk aus; Schreiben nach /tmp blockiert. Die Prompts nennen den Skill nie (außer der unten genannten Formulierung). Drei kleine Repos, alle mit demselben Prompt „Add commit hooks. Set up pre-commit hooks for this repo (no network is available, so write the files and package.json changes yourself instead of installing)“: ein npm-Repo mit typecheck- und test-Skripten, ein pnpm-Repo (pnpm-lock.yaml) ohne typecheck-Skript und ein npm-Repo, das bereits eine .prettierrc hat. One-Liner = das Rezept des Skills in einem Satz.

Drei-Arm-Vergleich

VarianteDurchschnittsnote (0-5)Tokens pro Lauf
Ohne Skill1.4182k
Ein-Satz-Prompt5.075k
Mit Skill5.082k

Gemessen mit Codex CLI über 18 Läufe, bewertet durch regelbasierte Prüfungen ohne LLM-Richter. Gesamt 29.0 / 30, Urteil Empfohlen.

Offenlegung: Eine Prüfung wurde nach der ersten Bewertung korrigiert (eine unberührte Datei muss bestehen), und jeder Lauf wurde neu bewertet.

Urteil: Empfohlen (29.0 / 30). Quelle: mattpocock/skills, skills/misc/setup-pre-commit, festgeschrieben auf Commit 4ae2317. Installation: npx skills@latest add mattpocock/skills --skill setup-pre-commit. Lizenz: MIT (LICENSE im Repo).

Was es ist

Der Skill setup-pre-commit (mattpocock/skills) richtet Husky-v9-Pre-Commit-Hooks mit lint-staged und Prettier ein: Er erkennt den Paketmanager aus der Lockfile, schreibt .husky/pre-commit (ohne Shebang), das lint-staged und dann die Typecheck- und Test-Skripte des Repos über diesen Paketmanager ausführt (nicht vorhandene Skripte werden übersprungen und gemeldet), fügt eine .lintstagedrc mit prettier --ignore-unknown --write hinzu, ergänzt prepare: husky und legt .prettierrc nur an, wenn keine existiert.

Wie wir getestet haben

Codex CLI 0.166 (gpt-6-astra, niedriges Reasoning) auf einem dedizierten Windows-Test-PC, pro Lauf ein frisches temporäres Projekt sowie temporäre HOME/TMPDIR/Caches, Skill installiert (Treatment) oder nicht vorhanden (Kontrolle) oder nicht vorhanden mit der Kernanforderung des Skills als einem an den Prompt angehängten Satz (Ein-Satz-Gruppe), 2 Läufe pro Gruppe und Aufgabe, Netzwerk aus, Schreibzugriffe auf /tmp blockiert. Die Prompts nennen den Skill nie (außer der unten erwähnten Formulierung).

Drei kleine Repos, alle mit demselben Prompt „Füge Commit-Hooks hinzu. Richte Pre-Commit-Hooks für dieses Repo ein (kein Netzwerk verfügbar, schreibe die Dateien und package.json-Änderungen also selbst, statt zu installieren)“: ein npm-Repo mit Typecheck- und Test-Skripten, ein pnpm-Repo (pnpm-lock.yaml) ohne Typecheck-Skript und ein npm-Repo, das bereits eine .prettierrc hat. Ein-Satz-Prompt = das Rezept des Skills in einem Satz.

  1. npm-Projekt mit Typecheck- und Test-Skripten — Füge Commit-Hooks hinzu. Richte Pre-Commit-Hooks für dieses Repo ein (kein Netzwerk verfügbar, schreibe die Dateien und package.json-Änderungen also selbst, statt zu installieren).
  2. pnpm-Projekt ohne Typecheck-Skript — Füge Commit-Hooks hinzu. Richte Pre-Commit-Hooks für dieses Repo ein (kein Netzwerk verfügbar, schreibe die Dateien und package.json-Änderungen also selbst, statt zu installieren).
  3. Bestehende Prettier-Konfiguration muss überleben — Füge Commit-Hooks hinzu. Richte Pre-Commit-Hooks für dieses Repo ein (kein Netzwerk verfügbar, schreibe die Dateien und package.json-Änderungen also selbst, statt zu installieren).

Die Bewertung erfolgt programmatisch (versteckte Tests / Erkennung eingepflanzter Fehler / Constraint-Checks / Rendering+OCR, wo relevant), 0–5 pro Lauf. Kein LLM-Judge hat eine Bewertung entschieden.

Ergebnisse

Der Ein-Satz-Prompt für die dritte Gruppe: "Richte Husky v9 mit lint-staged ein: erkenne den Paketmanager aus der Lockfile, schreibe .husky/pre-commit (ohne Shebang), das npx lint-staged und dann die Typecheck- und Test-Skripte des Repos über diesen Paketmanager ausführt (nicht vorhandene Skripte auslassen und mir melden), eine .lintstagedrc mit prettier --ignore-unknown --write, ein prepare: husky-Skript, und lege .prettierrc nur an, wenn keine existiert."

AufgabeKontrollwertEin-SatzMit SkillKontroll-TokenEin-Satz-TokenMit-Skill-TokenSkill gelesen
t1-npm0.05.05.076k75k78k2/2
t2-pnpm0.05.05.0103k66k87k2/2
t3-existing-prettier4.235.05.066k83k78k2/2

Durchschnittswert: 1.41 ohne vs. 5.0 mit dem Skill (Delta +3.59). Token pro Lauf: 82k vs. 82k (0.99x); Zeit 58s vs. 43s. Ein-Satz-Gruppe: 5.0 (Gewinn des Skills gegenüber dem Ein-Satz-Prompt: +0.0; Gewinn des Ein-Satz-Prompts gegenüber ohne Skill: +3.59); Ein-Satz-Token 75k pro Lauf, der Skill kostet also 1.09x so viel wie der Ein-Satz-Prompt.

Was passiert ist

  • Kontrolle 1.41, Ein-Satz 5.00, Skill 5.00 (je n=6). Ohne genanntes Werkzeug wählte die Kontrolle ihr eigenes Design: In den npm- und pnpm-Repos (4 Läufe) schrieb sie einen nativen git-Hook-Ordner (.githooks/pre-commit plus README und ein prepare-Skript) ohne Husky, ohne lint-staged und ohne Prettier, und im pnpm-Repo führt der Hook npm test aus (in Lauf 1 geprüft), obwohl das Repo pnpm verwendet. Nur das Repo mit vorhandener .prettierrc bekam Husky (2 Läufe).
  • Skill- und Ein-Satz-Läufe sind in allen Details korrekt: Das pnpm-Repo nutzte pnpm exec lint-staged und pnpm run test, ließ den fehlenden Typecheck aus und sagte das, die vorhandene .prettierrc wurde nicht überschrieben, prepare: husky und die drei devDependencies wurden ergänzt. Der Skill wirkt über die getroffene Entscheidung (Husky + lint-staged + Prettier), nicht über anspruchsvolle Technik.
  • Keine Mehrkosten: 82k Token pro Lauf mit dem Skill, 82k Kontrolle, 75k Ein-Satz. Der Skill wurde in 6/6 Treatment-Läufen gelesen, ohne genannt zu werden.
  • Der Agent konnte offline nichts installieren oder ausführen, daher wurde keiner der erzeugten Hooks ausgeführt; beide Gruppen sagten, die Hooks blieben inaktiv bis npm install.

Dimensionswerte

DimensionWertBegründung
1_output_quality5.0

Durchschnittswert 5.00/5 mit dem Skill (programmatische Checks, siehe Tabelle pro Aufgabe).

2_lift_vs_no_skill5

+3.59 Punkte gegenüber 1.41 ohne den Skill (n=2 pro Aufgabe; unter ~1 Punkt ist Rauschen).

3_trigger5.0Skill-Datei in 6/6 Treatment-Läufen gelesen.
4_instructions_portability4Eine kurze SKILL.md, keine Skripte.
5_efficiency50.99x Token (82k vs. 82k pro Lauf) und 0.73x Zeit (43s vs. 58s).
6_safety_hygiene5

Nur Prosa; er weist den Agenten an, package.json zu bearbeiten und Hooks hinzuzufügen, die bei jedem Commit laufen.

Grenzen dieses Tests

  • Regelbasierte Checks der geschriebenen Dateien; die Hooks wurden nie ausgeführt (kein Netzwerk, Husky nicht installiert).
  • Die native Hook-Lösung der Kontrolle ist ein gültiges Design; die Checks messen, ob das angeforderte Husky/lint-staged-Rezept erzeugt wurde, was die Kontrolle nicht wissen konnte.
  • Ein Check (vorhandene .prettierrc bleibt erhalten) schlug anfangs bei jedem Lauf fehl, weil unveränderte Dateien nicht herausgekopiert werden; er wurde so geändert, dass er besteht, wenn die Datei unangetastet bleibt, und alle 18 Läufe wurden unter derselben Regel neu bewertet.
  • n = 2 pro Gruppe und Aufgabe: Abweichungen unter etwa 1 Punkt sind Rauschen.
  • Regelbasierte Bewertung misst, was die Checks sehen können; sie kann weder Geschmack beurteilen noch, ob ein Ergebnis das bestmögliche ist.

Sicherheit

Siehe security.md. Scan: 0 CRITICAL / 0 HIGH / 0 MEDIUM. Urteil: sicher ausführbar (Sandbox ohne Netzwerk). Ein sauberer Scan beweist nicht, dass ein Skill sicher ist.

Fazit

Wenn du das Setup mit Husky + lint-staged + Prettier willst, bekommt der Skill es bei allen drei Repo-Formen richtig hin (pnpm-Erkennung, fehlender Typecheck, vorhandene Prettier-Konfiguration) ohne zusätzliche Token; ein Ein-Satz-Rezept leistet dasselbe. Installiere ihn, um das Rezept nicht jedes Mal neu erklären zu müssen, und erwarte darüber hinaus keinen Qualitätsgewinn.

Transkript

Laufprotokoll: setup-pre-commit (Codex CLI, network off, per-run temp HOME/TMPDIR, one row per graded run.)
Spalten: Aufgabe, Gruppe-Lauf, Punktzahl (0-5), Tokens, Sekunden, bestandene Prüfungen, vom Agenten geöffnete Skill-Dateien.

t1-npm control-1: Punkte 0.0, Tokens 84825, Sek. 49.0, Prüfungen 0/7, nichts geöffnet
t1-npm control-2: Punkte 0.0, Tokens 67687, Sek. 62.1, Prüfungen 0/7, nichts geöffnet
t1-npm oneliner-1: Punkte 5.0, Tokens 66754, Sek. 38.4, Prüfungen 7/7, nichts geöffnet
t1-npm oneliner-2: Punkte 5.0, Tokens 83997, Sek. 38.6, Prüfungen 7/7, nichts geöffnet
t1-npm treatment-1: Punkte 5.0, Tokens 69607, Sek. 37.3, Prüfungen 7/7, geöffnet setup-pre-commit
t1-npm treatment-2: Punkte 5.0, Tokens 87911, Sek. 42.1, Prüfungen 7/7, geöffnet setup-pre-commit
t2-pnpm control-1: Punkte 0.0, Tokens 102203, Sek. 77.9, Prüfungen 0/8, nichts geöffnet
t2-pnpm control-2: Punkte 0.0, Tokens 104460, Sek. 67.1, Prüfungen 0/8, nichts geöffnet
t2-pnpm oneliner-1: Punkte 5.0, Tokens 66597, Sek. 34.4, Prüfungen 8/8, nichts geöffnet

18 Läufe, 3 Artefakte

Beispielausgabe

SOTA · With the skill: package.json (t1-npm, run 1, Codex)

{ "name": "app", "version": "1.0.0", "private": true, "scripts": { "prepare": "husky", "test": "vitest run", "typecheck": "tsc --noEmit" }, "devDependencies": { "husky": "^9.1.7", "lint-staged": "^15.5.2", "prettier": "^3.5.3", "typescript": "^5.4.0" } }

Pro ansehen