i18n/de/skills/argumentation/SKILL.md
Konstruiert gut strukturierte Argumente mithilfe der Hypothese-Argument-Beispiel- Triade. Behandelt die Formulierung falsifizierbarer Hypothesen, den Aufbau logischer Argumente (deduktiv, induktiv, analogisch, evidenzbasiert), die Bereitstellung konkreter Beispiele und das Stahlmann-artige Auseinandersetzen mit Gegenargumenten. Verwenden beim Schreiben oder Pruefen von PR-Beschreibungen die technische Aenderungen vorschlagen, beim Begruenden von Entwurfsentscheidungen in ADRs, beim Konstruieren substantieller Code-Review-Rueckmeldungen oder beim Aufbauen eines Forschungsarguments oder technischen Vorschlags.
npx skillsauth add pjt222/agent-almanac argumentationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Rigorose Argumente von der Hypothese ueber das Reasoning bis zu konkreten Belegen aufbauen. Jede ueberzeugende technische Behauptung folgt derselben Triade: Eine klare Hypothese beschreibt was man glaubt, ein Argument erklaert warum es gilt, und Beispiele beweisen dass es gilt. Dieser Skill lehrt, diese Struktur auf Code-Reviews, Entwurfsentscheidungen, Forschungsschreiben und jeden Kontext anzuwenden, in dem Behauptungen einer Begruendung beduerfen.
Die Behauptung als klare, falsifizierbare Hypothese formulieren. Eine Hypothese ist keine Meinung oder Praeferenz -- es ist eine spezifische Behauptung, die anhand von Beweisen getestet werden kann.
Falsifizierbar vs. nicht falsifizierbar:
| Nicht falsifizierbar (Meinung) | Falsifizierbar (Hypothese) | |--------------------------------|---------------------------| | "Dieser Code ist schlecht" | "Diese Funktion hat O(n^2)-Komplexitaet, wo O(n) erreichbar waere" | | "Wir sollten TypeScript verwenden" | "TypeScripts Typsystem wird die Klasse von Null-Referenz-Bugs abfangen, die 4 von 6 unserer letzten Produktionsvorfaelle verursacht haben" | | "Das API-Design ist sauberer" | "Das Ersetzen der 5 Endpunkt-Varianten durch einen einzigen parametrisierten Endpunkt reduziert die oeffentliche API-Oberflaeche um 60%" | | "Dieser Forschungsansatz ist besser" | "Methode A erreicht hoehere Praezision als Methode B auf Datensatz X auf dem 95%-Konfidenzniveau" |
Erwartet: Eine einzeilige Hypothese, die spezifisch, eingegrenzt und falsifizierbar ist. Jemand, der sie liest, kann sich sofort vorstellen, welche Beweise sie bestaetigen oder widerlegen wuerden.
Bei Fehler: Falls die Hypothese vage wirkt, den Test "Wie wuerde ich das widerlegen?" anwenden. Falls keine Gegenbeweis vorstellbar ist, ist die Behauptung eine Meinung, keine Hypothese. Den Umfang einengen oder messbare Kriterien hinzufuegen, bis sie pruefbar ist.
Die logische Struktur auswaehlen, die die Hypothese am besten unterstuetzt. Verschiedene Behauptungen erfordern verschiedene Reasoning-Strategien.
| Typ | Struktur | Am besten fuer | |-----|---------|----------------| | Deduktiv | Wenn A dann B; A ist wahr; daher B | Formale Beweise, Typsicherheitsbehauptungen | | Induktiv | Beobachtetes Muster ueber N Faelle; daher wahrscheinlich allgemein | Performance-Daten, Testergebnisse | | Analogisch | X ist Y in relevanter Hinsicht aehnlich; Y hat Eigenschaft P; daher hat X wahrscheinlich P | Entwurfsentscheidungen, Technologieauswahl | | Evidenzbasiert | Beweis E ist unter Hypothese H1 wahrscheinlicher als H2; daher wird H1 unterstuetzt | Forschungsergebnisse, A/B-Testergebnisse |
Die Hypothese dem staerksten Argumenttyp zuordnen:
Typen fuer staerkere Argumente kombinieren (z.B. analogisches Reasoning durch induktive Beweise unterstuetzt)
Erwartet: Ein gewahlter Argumenttyp (oder eine Kombination) mit einer klaren Begruendung, warum er zur Hypothese passt.
Bei Fehler: Falls kein einzelner Typ sauber passt, muss die Hypothese moeglicherweise in Teilbehauptungen aufgeteilt werden. Sie in Teile aufteilen, die jeweils eine natuerliche Argumentstruktur haben.
Die logische Kette aufbauen, die die Hypothese mit ihrer Begruendung verbindet.
Gearbeitetes Beispiel -- Code-Review (deduktiv + induktiv):
Hypothese: "Das Extrahieren der Validierungslogik in ein gemeinsames Modul wird Bug-Duplikation ueber die drei API-Handler hinweg reduzieren."
Praemissen:
- Die drei Handler (
createUser,updateUser,deleteUser) implementieren jeweils dieselbe Eingabevalidierung mit leichten Variationen (insrc/handlers/beobachtet)- In den letzten 6 Monaten wurden 3 von 5 Validierungs-Bugs in einem Handler behoben, aber nicht auf die anderen uebertragen (siehe Issues #42, #57, #61)
- Gemeinsame Module erzwingen eine einzige Wahrheitsquelle fuer Logik (deduktiv: wenn eine Implementierung, dann ein Ort zum Beheben)
Logische Kette: Da die drei Handler dieselbe Validierung duplizieren (Praemisse 1), werden in einem Handler behobene Bugs in anderen uebersehen (Praemisse 2, induktiv aus 3/5 Faellen). Ein gemeinsames Modul bedeutet, Korrekturen gelten einmal fuer alle Aufrufer (deduktiv aus gemeinsamer Modulsemantik). Daher wird Extraktion Bug-Duplikation reduzieren.
Gegenargument (stahlmaessig): "Gemeinsame Module fuehren Kopplung ein -- eine Aenderung der Validierung fuer einen Handler koennte die anderen beeintraechigen."
Widerlegung: Die Handler teilen bereits identische Validierungs-Absicht; die Kopplung ist implizit und schwieriger zu warten. Sie durch ein gemeinsames Modul mit parametrisierten Optionen explizit zu machen (z.B.
validate(input, { requireEmail: true })) macht die Kopplung sichtbar und testbar. Die aktuelle implizite Duplikation ist riskanter, weil sie die Abhaengigkeit verbirgt.
Erwartet: Eine vollstaendige Argumentkette mit Praemissen, logischer Verbindung, einem stahlmaessigen Gegenargument und einer Widerlegung. Der Leser kann dem Reasoning Schritt fuer Schritt folgen.
Bei Fehler: Falls das Argument schwach wirkt, die Praemissen pruefen. Schwache Argumente entstehen meist aus ungestuetzten Praemissen, nicht aus fehlerhafter Logik. Beweise fuer jede Praemisse finden oder sie als Annahme anerkennen. Falls das Gegenargument staerker ist als die Widerlegung, muss die Hypothese moeglicherweise ueberarbeitet werden.
Das Argument mit unabhaengig pruefbaren Belegen unterstuetzen. Beispiele sind keine Illustrationen -- sie sind die empirische Grundlage, die das Argument pruefbar macht.
Beispielauswahlkriterien:
| Kriterium | Gutes Beispiel | Schlechtes Beispiel |
|-----------|----------------|---------------------|
| Unabhaengig pruefbar | "Issue #42 zeigt, dass der Bug in Handler A aber nicht B behoben wurde" | "Wir haben diese Art von Bug schon mal gesehen" |
| Spezifisch | "createUser in Zeile 47 implementiert denselben Regex wie updateUser in Zeile 23" | "Es gibt Duplikation in der Codebasis" |
| Repraesentativ | "3 von 5 Validierungs-Bugs in den letzten 6 Monaten folgten diesem Muster" | "Ich habe mal einen aoehnlichen Bug gesehen" |
| Enthalt Randfaelle | "Dieses Muster gilt fuer String-Eingaben, aber nicht fuer Datei-Upload-Validierung, die handler-spezifische Einschraenkungen hat" | (keine Einschraenkungen erwaehnt) |
Erwartet: Konkrete Beispiele, die ein Leser unabhaengig pruefen kann. Mindestens ein positives und ein Randfall-Beispiel. Jedes verweist auf ein spezifisches Artefakt (Datei, Zeile, Issue, Paper, Datensatz).
Bei Fehler: Falls Beispiele schwer zu finden sind, ist die Hypothese moeglicherweise zu breit oder nicht in beobachtbarer Realitaet verankert. Den Umfang auf das einengen, was tatsaechlich referenziert werden kann. Das Fehlen von Beispielen ist ein Signal, keine Luecke, die mit vagen Verweisen ueberbrueckt werden sollte.
Hypothese, Argument und Beispiele in das angemessene Format fuer den Kontext kombinieren.
Fuer Code-Reviews -- den Kommentar strukturieren als:
[S] <einzeilige Zusammenfassung des Vorschlags>
**Hypothese**: <was man glaubt sich aendern sollte und warum>
**Argument**: <der logische Fall, mit Praemissen>
**Beweis**: <spezifische Dateien, Zeilen, Issues oder Metriken>
**Vorschlag**: <konkrete Code-Aenderung oder Ansatz>
Fuer PR-Beschreibungen -- den Hauptteil strukturieren als:
## Warum
<Hypothese: welches Problem dies loest und die spezifische Verbesserungsbehauptung>
## Ansatz
<Argument: warum dieser Ansatz gegenueber Alternativen gewaehlt wurde>
## Beweis
<Beispiele: Benchmarks, Bug-Verweise, Vorher/Nachher-Vergleiche>
Fuer ADRs (Architecture Decision Records) -- das Standard-ADR-Format verwenden mit der Triade, die auf Kontext (Hypothese), Entscheidung (Argument) und Konsequenzen (Beispiele/Beweis erwarteter Ergebnisse) abgebildet wird
Fuer Forschungsschreiben -- auf Standardstruktur abbilden: Einfuehrung formuliert die Hypothese, Methoden/Ergebnisse liefern Argument und Beispiele, Diskussion adressiert Gegenargumente
Das zusammengestellte Argument pruefen auf:
Erwartet: Ein vollstaendiges, fuer den Kontext geeignet formatiertes Argument. Der Leser kann die Hypothese bewerten, dem Reasoning folgen, die Beweise pruefen und Gegenargumente abwaegen -- alles in einer kohaerenten Struktur.
Bei Fehler: Falls das zusammengestellte Argument zusammenhangslos wirkt, ist die Hypothese moeglicherweise zu breit. In fokussierte Teilargumente aufteilen, jedes mit seiner eigenen Hypothese-Argument-Beispiel-Triade. Zwei enge Argumente sind staerker als eines weitschweifiges.
review-pull-request -- Argumentation auf strukturiertes Code-Review-Feedback anwendenreview-research -- evidenzbasierte Argumente in Forschungskontexten konstruierenreview-software-architecture -- Architekturentscheidungen mit der Hypothese-Argument-Beispiel-Triade begruendencreate-skill -- Skills selbst sind strukturierte Argumente dafuer, wie eine Aufgabe zu erledigen istwrite-claude-md -- Konventionen und Entscheidungen dokumentieren, die von klarer Begruendung profitierentesting
Launch all available agents in parallel waves for open-ended hypothesis generation on problems where the correct domain is unknown. Use when facing a cross-domain problem with no clear starting point, when single-agent approaches have stalled, or when diverse perspectives are more valuable than deep expertise. Produces a ranked hypothesis set with convergence analysis and adversarial refinement.
tools
Write integration tests for a Node.js CLI application using the built-in node:test module. Covers the exec helper pattern, output assertions, filesystem state verification, cleanup hooks, JSON output parsing, error case testing, and state restoration after destructive tests. Use when adding tests to an existing CLI, testing a new command, verifying adapter behavior across frameworks, or setting up CI for a CLI tool.
development
Screen a proposed trademark for conflicts and distinctiveness before filing. Covers trademark database searches (TMview, WIPO Global Brand Database, USPTO TESS), distinctiveness analysis using the Abercrombie spectrum, likelihood of confusion assessment using DuPont factors and EUIPO relative grounds, common law rights evaluation, and goods/services overlap analysis. Produces a conflict report with a risk matrix. Use before adopting a new brand name, logo, or slogan — distinct from patent prior art search, which uses different databases, legal frameworks, and analysis methods.
tools
Scaffold a new CLI command using Commander.js with options, action handler, three output modes (human-readable, quiet, JSON), and optional ceremony variant. Covers command naming, option design, shared context patterns, error handling, and integration testing. Use when adding a command to an existing Commander.js CLI, designing a new CLI tool from scratch, or standardizing command structure across a multi-command CLI.