Alle Skills

receiving-code-review (obra/superpowers)

Prüft Code-Review-Feedback auf technische Richtigkeit, bevor es umgesetzt wird, statt blind zuzustimmen.

receiving-code-review: Hindert den Agenten daran, falsche Review-Kommentare blind umzusetzen (Kontrolle 3.4, Skill 3.7, One-Liner 4.2), aber bei der Pricing-Aufgabe hielt er an und fragte nach, bevor er die korrekten Punkte umsetzte, bei etwa gleichen Tokens

SituativSicher

Codex CLI · gpt-6-astra

23.9 / 30

Lift gegenüber ohne Skill: +0.29 · Situativ · 18 Läufe

Situativ: der Lift +0.29 liegt unter +1.0. Für „Empfohlen“ sind insgesamt 22/30, eine Ausgabequalität von 3.5 und ein Lift von +1.0 nötig.

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
2.3
Ausgabequalität
3.7
Token- und Zeitkosten
5.0
Installation und Portabilität
4.0
Sicherheit
4.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 obra/superpowers --skill receiving-code-review

Quelle

Fixierter Commit: 2ce8aa15d05bd57213e6f746f953aafb7ded7a8b

Getestet: 2026-11-02

Was wir getestet haben

  • Review mit einer falschen Dead-Code-Behauptung — Das Review-Feedback in REVIEW.md für pricing.py umsetzen. Tests: python -m unittest.
  • Review mit falschem numpy- und Rundungsvorschlag — Das Review-Feedback in REVIEW.md für report.py umsetzen. Tests: python -m unittest.
  • Review mit einer Umbenennung und einem verfrühten Lock — Das Review-Feedback in REVIEW.md für inventory.py umsetzen. Tests: python -m unittest.

Vorteile

  • Der Skill wurde erkannt, ohne genannt zu werden: Skill-Datei in 6/6 Treatment-Läufen gelesen.
  • Kein Token-Overhead: 1.02x die Tokens von ohne Skill.

Nachteile

  • Kein messbarer Lift gegenüber ohne Skill (+0.29, im Rauschen).
  • Ein Ein-Satz-Prompt erzielte 4.21 gegenüber 3.66 mit dem Skill (-0.55).
  • Testhinweis: Die Pricing-Aufgabe zieht Punkte für das vorgesehene Verhalten des Skills ab: Er hält an und fragt nach, bevor er umsetzt, während die Prüfung nur das Umsetzen der gültigen Punkte in einem Durchgang belohnt. Wer lieber gefragt wird, würde diesen Skill höher bewerten. Der Ein-Satz-Prompt schlug den Skill aus diesem Grund um 0.55.
  • 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 Python-Module (pricing, report, inventory), jeweils mit einer REVIEW.md aus Kommentaren, die korrekte mit falschen oder unklaren Punkten mischen (zum Beispiel eine noch verwendete Funktion löschen, ein Redis-Cache, „make this more robust“, numpy, wo es nicht verfügbar ist, eine Umbenennung, die Aufrufer bricht). Der Prompt lautet nur „Address the review feedback in REVIEW.md“ plus der Testbefehl. Der One-Liner nennt das Prinzip „erst bewerten, dann handeln“.

Drei-Arm-Vergleich

VarianteDurchschnittsnote (0-5)Tokens pro Lauf
Ohne Skill3.3884k
Ein-Satz-Prompt4.2190k
Mit Skill3.6686k

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

Offenlegung: Die Pricing-Aufgabe zieht Punkte für das vorgesehene Verhalten des Skills ab: Er hält an und fragt nach, bevor er umsetzt, während die Prüfung nur das Umsetzen der gültigen Punkte in einem Durchgang belohnt. Wer lieber gefragt wird, würde diesen Skill höher bewerten. Der Ein-Satz-Prompt schlug den Skill aus diesem Grund um 0.55.

Urteil: Situativ (23.9 / 30). Quelle: obra/superpowers, skills/receiving-code-review, gepinnt auf Commit 2ce8aa1. Installation: npx skills@latest add obra/superpowers --skill receiving-code-review. Lizenz: MIT (Repo-LICENSE).

Was es ist

Der Skill receiving-code-review (obra/superpowers): wie man auf Code-Review-Feedback reagiert: jeden Kommentar am Code prüfen, nur das Richtige umsetzen, bei falschen oder unnötigen Punkten mit einem konkreten Grund widersprechen, bei Unklarheiten nachfragen und keine performative Zustimmung. Er sagt „STOP - do not implement anything yet“, sobald ein Punkt unklar ist.

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 kleine Python-Module (pricing, report, inventory), jedes mit einer REVIEW.md voller Kommentare, die richtige Punkte mit falschen oder unklaren mischen (zum Beispiel das Löschen einer noch verwendeten Funktion, ein Redis-Cache, „make this more robust“, numpy, wo es nicht verfügbar ist, eine Umbenennung, die Aufrufer bricht). Der Prompt lautet nur „Gehe das Review-Feedback in REVIEW.md an“ plus der Testbefehl. Der Ein-Satz-Prompt nennt das Prinzip, erst zu bewerten, dann zu handeln.

  1. Review mit einer falschen Dead-Code-Behauptung — Gehe das Review-Feedback in REVIEW.md für pricing.py an. Tests: python -m unittest.
  2. Review mit einem falschen numpy- und Rundungsvorschlag — Gehe das Review-Feedback in REVIEW.md für report.py an. Tests: python -m unittest.
  3. Review mit einer Umbenennung und einer verfrühten Sperre — Gehe das Review-Feedback in REVIEW.md für inventory.py an. Tests: python -m unittest.

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: "Bewerte jeden Review-Kommentar technisch, bevor du handelst: prüfe ihn am Code, setze nur das Richtige um, widersprich allem Falschen oder Unnötigen mit einem konkreten Grund, frage bei allem Unklaren nach und beginne nicht mit performativer Zustimmung wie „you’re absolutely right“."

AufgabePunktzahl KontrolleEin-SatzMit SkillToken KontrolleToken Ein-SatzToken mit SkillSkill gelesen
t1-pricing4.54.52.8684k101k62k2/2
t2-report3.884.624.6283k84k91k2/2
t3-inventory1.753.53.584k83k102k2/2

Durchschnitt: 3.38 ohne vs. 3.66 mit Skill (Delta +0.29). Token pro Lauf: 84k vs. 86k (1.02x); Zeit 41s vs. 34s. Ein-Satz-Gruppe: 4.21 (Zuwachs des Skills gegenüber dem Ein-Satz-Prompt: -0.55; Zuwachs des Ein-Satz-Prompts gegenüber ohne Skill: +0.83); Token des Ein-Satz-Prompts 90k pro Lauf, der Skill kostet also 0.95x so viel wie der Ein-Satz-Prompt.

Was dabei herauskam

  • Kontrolle 3.38, Skill 3.66, Ein-Satz 4.21 (n=6 je Gruppe). Die Punktzahl mischt versteckte Tests für die gültigen Punkte, die Frage, ob der falsche Punkt umgesetzt wurde, und die Frage, ob die Abschlussnachricht mit einem technischen Grund widerspricht.
  • Inventory-Aufgabe: Die Kontrolle setzte die schlechte Umbenennung in 2/2 Läufen um (je 11 Treffer des kaputten Musters) und bestand 0 von 6 versteckten Tests; Skill und Ein-Satz erzielten in beiden Läufen 3.5 und setzten sie nicht um. Das ist der klarste Nutzen.
  • Pricing-Aufgabe: Kontrolle 4.0 und 5.0, Ein-Satz 4.5, Skill 2.86 in beiden Läufen. Die Abschlussnachricht des Skills sagt korrekt, dass die Legacy-Funktion noch von invoice.py verwendet wird und Redis nicht nötig ist, aber weil ein Punkt („make this more robust“) unklar war, folgte er dem „STOP - do not implement anything yet“ des Skills, änderte keine Dateien und stellte eine Frage. Die versteckten Tests für die gültigen Punkte bestanden dann nur 4 von 7.
  • Report-Aufgabe: Skill 4.25 und 5.0, Ein-Satz 4.25 und 5.0, Kontrolle 3.5 und 4.25. Das Widersprechen mit Grund bei den falschen Punkten ist die Schwachstelle jeder Gruppe (numpy wurde in den meisten Läufen übersehen).
  • Keine Gruppe begann mit performativer Zustimmung. Die Token sind etwa gleich (Skill 86k, Ein-Satz 90k, Kontrolle 84k pro Lauf). Der Skill wurde in 6/6 Mit-Skill-Läufen gelesen.

Bewertung nach Dimensionen

DimensionPunktzahlBegründung
1_output_quality3.66

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

2_lift_vs_no_skill2.29

+0.29 Punkte gegenüber 3.38 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_portability4SKILL.md im superpowers-Format.
5_efficiency51.02x Token (86k vs. 84k pro Lauf) und 0.84x Zeit (34s vs. 41s).
6_safety_hygiene4Nur Prosa; siehe security.md.

Grenzen dieses Tests

  • Die Pricing-Punktzahl bestraft das bewusste „Anhalten und fragen“ des Skills; ein Mensch würde dieses Verhalten vielleicht bevorzugen, und die Prüfung fragt schlicht, ob gültige Punkte in einem Durchgang umgesetzt werden.
  • Recall-Prüfungen der Abschlussnachricht und versteckte Unit-Tests für die gültigen Punkte; die Codequalität der Änderungen wurde nicht beurteilt.
  • Die Regexe für Widersprüche in den einzelnen Fixtures können andere gültige Formulierungen übersehen.
  • n=2 pro Zelle; kleine Module.
  • 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

Der Skill verhindert die Umsetzung falscher Kommentare (Inventory), lässt den Agenten im Pricing-Fall aber anhalten, der Nettozuwachs gegenüber keiner Anleitung ist also klein, und ein Satz mit demselben Prinzip punktet hier höher. Lohnt sich, wenn der Agent fragen statt raten soll; nicht, wenn Sie einen Durchgang wollen.

Transkript

Laufprotokoll: receiving-code-review (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-pricing control-1: Punkte 4.0, Tokens 85197, Sek. 42.6, Prüfungen 3/4, nichts geöffnet
t1-pricing control-2: Punkte 5.0, Tokens 83652, Sek. 43.0, Prüfungen 4/4, nichts geöffnet
t1-pricing oneliner-1: Punkte 4.5, Tokens 101150, Sek. 36.6, Prüfungen 4/4, nichts geöffnet
t1-pricing oneliner-2: Punkte 4.5, Tokens 102032, Sek. 46.3, Prüfungen 4/4, nichts geöffnet
t1-pricing treatment-1: Punkte 2.86, Tokens 53744, Sek. 22.9, Prüfungen 2/4, geöffnet receiving-code-review
t1-pricing treatment-2: Punkte 2.86, Tokens 71964, Sek. 26.2, Prüfungen 2/4, geöffnet receiving-code-review
t2-report control-1: Punkte 3.5, Tokens 83153, Sek. 37.1, Prüfungen 3/4, nichts geöffnet
t2-report control-2: Punkte 4.25, Tokens 83546, Sek. 35.9, Prüfungen 3/4, nichts geöffnet
t2-report oneliner-1: Punkte 5.0, Tokens 83745, Sek. 34.1, Prüfungen 4/4, nichts geöffnet

18 Läufe, 3 Artefakte

Beispielausgabe

SOTA · With the skill: final message (t1-pricing, run 1, Codex)

Items 1–2 are clear: normalize coupon case and reject negative quantities. Item 3 is incorrect: `invoice.py` calls `legacy_fee`; deleting it would break invoicing. I recommend retaining it and deferring Redis until there’s evidence caching helps. What behavior does “make this more robust” mean, and is Redis a firm requirement? No files changed. Baseline `python -m unittest`: 2 tests passed. The [receiving-code-review skill](.agents/skills/receiving-code-review/SKILL.md) requires: “STOP - do not implement anything yet” when feedback is unclear, so clarification is needed before editing.

Pro ansehen