Alle Skills

pr (mattpocock/skills)

Verfasst einen Pull-Request-Text, der die Änderung für Prüfende beschreibt.

pr: Ein reiner Format-Skill: Die Kontrolle erzeugt nie den dreiteiligen PR-Text (1.7/5), der Skill und ein Ein-Satz-Prompt schon (5.0 und 4.95), ohne zusätzliche Tokens

EmpfohlenSicher

Codex CLI · gpt-6-astra

29.0 / 30

Lift gegenüber ohne Skill: +3.33 · 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.33 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 pr

Quelle

Fixierter Commit: 4ae2317ddb22b046e26455e4f9c9b3aaaf62212d

Getestet: 2026-11-02

Was wir getestet haben

  • PR-Text für einen Cache — Ich öffne einen Pull Request. Den PR-Text für die Änderung in change.diff nach PR.md schreiben. Die Testausgabe vorher/nachher steht in tests_before.txt und tests_after.txt.
  • PR-Text für einen Spalten-Drop — Bitte meinen Pull Request ausformulieren. Den PR-Text für die Änderung in change.diff nach PR.md schreiben. Die Testausgabe vorher/nachher steht in tests_before.txt und tests_after.txt.
  • PR-Text für eine Textänderung — Eine PR-Beschreibung schreiben. Den PR-Text für die Änderung in change.diff nach PR.md schreiben. Die Testausgabe vorher/nachher steht in tests_before.txt und tests_after.txt.

Vorteile

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

Nachteile

  • Ein Ein-Satz-Prompt erzielte 4.95 gegenüber 5.0 mit dem Skill (+0.05).
  • 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 Aufgaben, jeweils „den PR-Text für change.diff nach PR.md schreiben“ mit tests_before.txt / tests_after.txt daneben: eine Cache-Änderung (Zwei-Wege-Tür), eine Migration, die eine Spalte löscht (Ein-Wege-Tür), und eine Textänderung. Die Kontrolle erhält nur diesen Satz. Die One-Liner-Gruppe erhält einen zusätzlichen Satz, der die gesamte Vorlage vorgibt. Der Skill-Gruppe wird das Format ebenfalls nicht genannt.

Drei-Arm-Vergleich

VarianteDurchschnittsnote (0-5)Tokens pro Lauf
Ohne Skill1.6782k
Ein-Satz-Prompt4.9589k
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.

Urteil: Empfohlen (29.0 / 30). Quelle: mattpocock/skills, skills/engineering/pr, gepinnt auf Commit 4ae2317. Installation: npx skills@latest add mattpocock/skills --skill pr. Lizenz: MIT (Repo-LICENSE).

Was es ist

Der Skill pr (mattpocock/skills): macht aus einem Diff einen Pull-Request-Text mit festem dreiteiligem Aufbau: Zusammenfassung (das kleinste nützliche Diagramm, Pseudocode oder Aufrufbaum), Belege (Vorher: / Nachher: mit der Testausgabe) und Merge-Gefahr (Tür: Einbahn oder Zweibahn, plus ein Wort zum Wirkungsradius:), verfasst in der Terminologie des Projektglossars. Eine einzige kurze SKILL.md.

So haben wir getestet

Codex CLI 0.166 (gpt-6-astra, low reasoning) auf einem dedizierten Windows-Test-PC, pro Lauf ein frisches temporäres Projekt und temporäre HOME/TMPDIR/Caches, Skill installiert (Mit-Skill-Gruppe) oder nicht vorhanden (Kontrollgruppe) oder nicht vorhanden, aber 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 genannten Formulierung).

Drei Aufgaben, jeweils „Schreibe den PR-Text für change.diff nach PR.md“ mit tests_before.txt / tests_after.txt daneben: eine Cache-Änderung (Zweibahn-Tür), eine Migration, die eine Spalte löscht (Einbahn-Tür), und eine Textänderung. Die Kontrolle erhält nur diesen Satz. Die Ein-Satz-Gruppe erhält einen zusätzlichen Satz, der die gesamte Vorlage ausbuchstabiert. Der Skill-Gruppe wird das Format ebenfalls nicht genannt.

  1. PR-Text für einen Cache — Ich öffne einen Pull Request. Schreibe den PR-Text für die Änderung in change.diff nach PR.md. Vorher-/Nachher-Testausgaben stehen in tests_before.txt und tests_after.txt.
  2. PR-Text für einen Spaltenabbau — Bitte schreibe meinen Pull Request aus. Schreibe den PR-Text für die Änderung in change.diff nach PR.md. Vorher-/Nachher-Testausgaben stehen in tests_before.txt und tests_after.txt.
  3. PR-Text für eine Textänderung — Schreibe eine PR-Beschreibung. Schreibe den PR-Text für die Änderung in change.diff nach PR.md. Vorher-/Nachher-Testausgaben stehen in tests_before.txt und tests_after.txt.

Die Bewertung erfolgt programmatisch (versteckte Tests / Trefferquote bei eingebauten Problemen / Constraint-Prüfungen / Rendern+OCR, wo relevant), 0–5 pro Lauf. Kein LLM-Richter hat eine Punktzahl entschieden.

Ergebnisse

Der Ein-Satz-Prompt für die dritte Gruppe: "Schreibe den PR-Text als drei kurze Abschnitte: Zusammenfassung (das kleinste nützliche Diagramm, Pseudocode oder Aufrufbaum, ohne Vorgeplänkel), Belege (Vorher: und Nachher: mit der Testausgabe) und Merge-Gefahr (Tür: Einbahn oder Zweibahn, und ein Wort zum Wirkungsradius:); verwende die Wörter des Glossars."

AufgabePunktzahl KontrolleEin-SatzMit SkillToken KontrolleToken Ein-SatzToken mit SkillSkill gelesen
t1-cache1.675.05.082k83k79k2/2
t2-migration1.674.835.082k91k79k2/2
t3-copy1.675.05.081k91k87k2/2

Durchschnitt: 1.67 ohne vs. 5.0 mit Skill (Delta +3.33). Token pro Lauf: 82k vs. 82k (1.00x); Zeit 37s vs. 34s. Ein-Satz-Gruppe: 4.95 (Zuwachs des Skills gegenüber dem Ein-Satz-Prompt: +0.05; Zuwachs des Ein-Satz-Prompts gegenüber ohne Skill: +3.28); Token des Ein-Satz-Prompts 89k pro Lauf, der Skill kostet also 0.92x so viel wie der Ein-Satz-Prompt.

Was dabei herauskam

  • Kontrolle 1.67, Ein-Satz 4.95, Skill 5.00 (n=6 je Gruppe). Die Kontrolle schrieb klare, korrekte PR-Texte, nutzte aber in keinem der 6 Läufe die drei Abschnitte, ein Diagramm oder einen Pseudocode-Block, die Vorher/Nachher-Labels, eine Tür oder einen Wirkungsradius. Das Format kann das Modell nicht erraten, jede Gruppe, der man es nennt, punktet also hoch; die Prüfungen messen Formateinhaltung, nicht Schreibqualität.
  • Der Skill triggerte, ohne genannt zu werden (6/6 gelesen), und der Ein-Satz-Prompt enthält dieselbe Information: Der Unterschied zwischen beiden beträgt 0.05 Punkte (in einem Lauf fehlte ein Vorlagenabschnitt-Regex: Der Migrations-Lauf des Ein-Satz-Prompts traf 2 von 3 Abschnitten). Die Token pro Lauf betrugen 82k Kontrolle, 89k Ein-Satz, 82k Skill: kein Overhead.
  • Die inhaltlichen Aussagen wirken dort richtig, wo es zählt: Bei der Migration stufte der Skill-Lauf die Tür als Einbahn ein und sagte, das Zurückrollen von Code hole die gelöschte Spalte nicht zurück, und benannte den Wirkungsradius; die Cache- und die Text-Aufgabe waren Zweibahn-Türen. Der Migrations-PR der Kontrolle warnte zwar, zuerst 0041 anzuwenden, nannte aber keine Tür und keinen Radius, ein Reviewer würde es beim Überfliegen also nicht finden.
  • Der Skill ist winzig (ein paar Zeilen), das Laden kostet also nichts; sein Wert besteht darin, dass niemand die Vorlage jedes Mal einfügen muss.

Bewertung nach Dimensionen

DimensionPunktzahlBegründung
1_output_quality5.0

Durchschnitt 5.00/5 mit Skill (programmatische Prüfungen, siehe Tabelle pro Aufgabe).

2_lift_vs_no_skill5

+3.33 Punkte gegenüber 1.67 ohne Skill (n=2 pro Aufgabe; unter etwa 1 Punkt ist Rauschen).

3_trigger5.0Skill-Datei in 6/6 Mit-Skill-Läufen gelesen.
4_instructions_portability4Eine kurze SKILL.md mit Vorlage, keine Skripte.
5_efficiency51.00x Token (82k vs. 82k pro Lauf) und 0.93x Zeit (34s vs. 37s).
6_safety_hygiene5Nur Prosa; keine Befunde.

Grenzen dieses Tests

  • Nur regelbasierte Formatprüfungen (Abschnitte vorhanden, Vorher/Nachher, Tür-Wert korrekt, Wirkungsradius, Diagramm-/Pseudocode-Block); sie beurteilen nicht, ob das Diagramm das „kleinste nützliche“ ist oder der Text gut geschrieben ist.
  • Die Kontrollgruppe muss die Formatprüfungen konstruktionsbedingt verfehlen: Das Ergebnis zeigt, dass der Skill das erneute Nennen eines Hausformats erspart, nicht dass er das Modell bessere PR-Texte schreiben lässt.
  • Drei kleine Fixtures; kein echtes Repository und keine Git-Historie.
  • n = 2 pro Gruppe und Aufgabe: Unterschiede unter etwa 1 Punkt sind Rauschen.
  • Regelbasierte Bewertung misst nur, was die Prüfungen sehen können; Geschmack oder ob ein Ergebnis das bestmögliche ist, lässt sich so nicht beurteilen.

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 Sie dieses PR-Format möchten, liefert der Skill es beim ersten Versuch kostenlos (82k Token, so viel wie ohne Skill), und er ist gleichwertig mit dem Einfügen der Vorlage als Ein-Satz-Prompt. Installieren Sie ihn für Einheitlichkeit im Team; erwarten Sie keine besseren Texte.

Transkript

Laufprotokoll: pr (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-cache control-1: Punkte 1.67, Tokens 82698, Sek. 35.7, Prüfungen 4/9, nichts geöffnet
t1-cache control-2: Punkte 1.67, Tokens 82765, Sek. 30.9, Prüfungen 4/9, nichts geöffnet
t1-cache oneliner-1: Punkte 5.0, Tokens 83654, Sek. 32.5, Prüfungen 9/9, nichts geöffnet
t1-cache oneliner-2: Punkte 5.0, Tokens 84007, Sek. 38.4, Prüfungen 9/9, nichts geöffnet
t1-cache treatment-1: Punkte 5.0, Tokens 70378, Sek. 33.8, Prüfungen 9/9, geöffnet pr
t1-cache treatment-2: Punkte 5.0, Tokens 88915, Sek. 35.0, Prüfungen 9/9, geöffnet pr
t2-migration control-1: Punkte 1.67, Tokens 81748, Sek. 33.8, Prüfungen 4/9, nichts geöffnet
t2-migration control-2: Punkte 1.67, Tokens 82290, Sek. 36.5, Prüfungen 4/9, nichts geöffnet
t2-migration oneliner-1: Punkte 5.0, Tokens 100647, Sek. 37.7, Prüfungen 9/9, nichts geöffnet

18 Läufe, 3 Artefakte

Beispielausgabe

SOTA · With the skill: PR.md (t1-cache, run 1, Codex)

## Summary Cache free slots by Room and day to avoid repeated database queries. Creating a Reservation invalidates the matching cache entry. ```text free_slots(Room, day) cache hit → return cached free slots cache miss → query Reservations → compute and cache free slots create Reservation insert Reservation → invalidate cache for Room and day ``` ## Evidence - **Before:** `tests/test_availability.py::test_free_slots_not_queried_twice` failed: `db.query called 2 times, expected 1`. Suite: 1 failed, 14 passed in 0.9s. **After:** Supplied test output reports 15 passed in 0.8s. ## Merge Danger **Door:** two-way Reverting restores a database query on each availability request; no schema or stored-data changes. **Blast Radius:** availability Cached free slots affect Members checking Room availability. Invalidation covers Reservation creation in the current process; other mutation paths or processes can leave cached results stale. The cache has no size limit or expiry.

Pro ansehen