CommunityCodierung & Entwicklunggithub.com

maybe-im-smart — am Ziel festhalten, woanders nach einer besteh…

Hilft bei Sackgassen, wenn eine Aufgabe immer wieder iteriert wird, ohne zu konvergieren. Statt nur besserer Ideen liefert dieses Skill einen Handlungsplan: Wer macht den ersten Schritt in dieser Woche und woran erkennt man, dass es funktioniert hat? Die zweite Hälfte prüft bereits vorhandene domänenübergreifende Analogien auf strukturelle Konsistenz, bevor sie in eine Argumentationskette eingehen.

Was ist maybe-im-smart — am Ziel festhalten, woanders nach einer besteh…?

Dieses Skill ist speziell für Situationen gedacht, in denen ein AI-Agent oder ein Entwickler bei einer Aufgabe stecken bleibt: die gleiche Iteration wiederholt sich, die Symptome verschwinden nicht, und der nächste Schritt ist nicht in Sicht. Es ersetzt nicht das Nachdenken, sondern verlagert den Fokus auf die Frage „Wo finde ich eine Lösung, die nicht auf der gleichen fehlerhaften Prämisse beruht?“. Zunächst wird geprüft, ob wirklich eine Handlung fehlt – nicht nur eine Tatsache oder eine Randbedingung. Dann zerlegt das Skill das Problem in vier Spalten (behalten, blocken, hängen bleiben, Randbedingungen), formuliert es neutral (≤40 Zeichen, ohne Fachbegriffe) und sucht systematisch in zwei Tabellen nach verpassten Alternativen innerhalb derselben Domäne oder durch einen Domänenwechsel. Die zweite Hälfte bietet ein Audit für bereits genannte domänenfremde Analogien: es prüft, ob die Analogie formal konsistent ist, ohne ihren Wahrheitsgehalt zu beurteilen. Plattformunabhängig (für Claude Code, Cursor, Codex etc.) und löst typische Deadlocks wie das wiederholte Fragen des Nutzers nach Meinungen oder die Angebotsauswahl ohne neue Optionen.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/benbird316/maybe-im-smart/tree/HEAD

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

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

Dokumentation

maybe-im-smart — das Ziel im Auge behalten, woanders nach einer bestehenden Praxis suchen

Die Ausgabe ist eine Handlung – der Akteur, der erste Schritt in dieser Woche, wie man erkennt, dass es funktioniert hat. Keine Idee.

Kriterium: ob nach dem Laden fortgefahren wird

Wird nur geladen, wenn ein Auslöser in der description zutrifft. Nach dem Laden wird das erste Tor passiert: Der nächste Schritt muss nicht in Sicht sein – schwer zählt nicht, nur kein Kandidat zählt. Dann das zweite Tor: Was fehlt – nur die erste Kategorie durchläuft dieses Verfahren:

Was fehltWohinGrenze
Fehlende Handlung (was getan werden sollte)Dieses VerfahrenNur diese Kategorie muss woanders nach einer Praxis suchen
Fehlende Tatsache (was es ist)NachschlagenDen Benutzer zu fragen, was die KI nachschlagen kann, verschwendet die Zeit des Benutzers
Fehlende Randbedingung (was nicht bewegt werden darf)Fragen, und zwar präziseNur „was darf nicht bewegt werden“ fragen; „wie macht man es“ zu fragen, gibt den Handlungsraum zurück

Mehrere andere Fälle gehören nicht hierher. Der nächste Schritt ist bekannt und nur unerwünscht = ein Ausführungsproblem. Ein Deadlock im technischen Sinne (Threads warten aufeinander, Tool-Call-Schleifen, Wiederholungsstürme) = ein zu behebender Fehler, nicht das „der Benutzer fragt wiederholt die KI, die KI fragt wiederholt den Benutzer“-Hin und Her; dieses Hin und Her ist die Kategorie „≥3 Runden Frage-und-Antwort-Hin und Her“. Themen-Brainstorming ohne Haken = einfach nach Ideen fragen. Verfeinern und Erklären = keine Abrufdomäne zum Wechseln.

Die andere Hälfte ist das Audit, das das obige Urteil und die Ankündigung überspringt. Um eine bestehende domänenübergreifende Korrespondenz auf strukturelle Selbstkonsistenz zu prüfen (bevor sie in eine Argumentationskette eingeht oder bevor ihr Mechanismus zurück in Domäne A getragen wird), lesen Sie direkt references/audit.md; nur die Struktur, nicht, ob die Analogie wahr ist.

Selbstprüfung: nicht auf die Äußerung des Benutzers warten müssen

Die externen Ereignis-Signale sind aus dem Verlauf zählbar. Die folgenden Signale sind nur KI-seitig und nur die KI kann sie einräumen:

  • Die wesentliche Handlung der aktuellen Antwort der KI ist es, den Benutzer zwischen Kandidaten auswählen zu lassen (nach einer Wahl fragen, nicht nach einer Tatsache)
  • Unter den Kandidaten, die die KI vorschlagen will, ist nicht einer, den der Benutzer nicht bereits erwähnt hat

Wenn eines von beiden zutrifft, gilt das als festgefahren, und die beiden Tore „nächster Schritt nicht in Sicht“ und „was fehlt, ist eine Handlung“ müssen nicht mehr erfüllt sein.

Wenn das Urteil zutrifft, kündigen Sie den Auslöser an, damit der Benutzer ihn sofort ablehnen oder herabstufen kann:

<das eine Beweisstück> — eine Runde mit maybe-im-smart durchführen, in drei Schritten: Zerlegung, Abruf, Landung (references/probe.md).

Kopieren Sie <das eine Beweisstück> wörtlich aus dem Treffer in der description oder aus dem Satz, den die KI eingeräumt hat; schreiben Sie es nicht als Zusammenfassung um.

Wenn es nicht zutrifft, sagen Sie kein Wort.

1. Den Aufgabentyp klassifizieren

TypForm des HängersBeispiel
ErkennungMuss entdecken, ob etwas existiert oder nicht; Fehltreffer oder FehlalarmeReview übersieht immer noch etwas
BlockierungMuss verhindern, dass etwas passiertDerselbe Vorfall wiederholt sich
ZuteilungBegrenzte Ressourcen werden auf mehrere Bedürfnisse aufgeteiltTerminkollisionen, Budgetaufteilung
KoordinationAktionen mehrerer Beteiligter müssen konsistent bleibenÜbergabeverzerrung, domänenübergreifender Konsens
TimingReihenfolge oder Tempo sind falschAbhängigkeitsumkehrung, Rückmeldungsverzögerung
KontinuitätDas System darf unter Störung nicht zusammenbrechenAusgelastete Kapazität, Schlüsselpersonen, die gehen
EntscheidungMuss entscheiden, während die Informationen unvollständig sindOb mit unzureichenden Beweisen veröffentlicht werden soll

Wenn keins passt, erfinden Sie einen Namen. Diese Tabelle erzwingt nur, „welche Form hat dieses Problem“.

2. Zerlegung: vier Spalten

SpalteWas sie fragtBeispiel (übersehene Fehler im Code-Review)
keep was behalten werden mussWas hält es am Laufen? Verschieben Sie es und alles bricht zusammenEin unabhängiges Urteil vor dem Zusammenführen
block was blockiert werden mussWelcher Fehler passiert?Es gibt ein Urteil, aber es wirkt nicht als eines
stuck wo es hängtEin Satz: „will X, aber es fehlt Y“Die Erkennungsrate erhöhen, aber mehr Leute senken sie
constraints was nicht bewegt werden darfSchreiben Sie die eine tatsächlich getroffene RandbedingungKein Personal hinzufügbar; keine Verlängerung des Zeitplans

Über die vier Spalten hinaus: die Domänen-A-Operationstabelle ops_A führen — name: input → output, Objekte unter ihren realen Namen. Das Landungstor verwendet sie für subject (in Domäne A?) und action (eine alte Aktion, die umbenannt wurde?).

Zerlegung fehlgeschlagen = der Haken ist noch nicht lokalisiert; gehen Sie zurück und lokalisieren Sie ihn. Wenn stuck nicht als „will X, aber es fehlt Y“ geschrieben werden kann, gehen Sie nicht weiter.

3. Neufassung ohne Hinweise

Stellen Sie wiederholt zwei Fragen, bis beide fehlschlagen: deutet dieser Name auf die Verwendung hin? Kann er weiter zerlegt werden? Methode, Kriterien und Beispiele: Stufe eins von references/probe.md.

Erzeugen Sie:

  • eine neutrale Neufassung (≤40 Zeichen, ohne domänenspezifische Begriffe der Heimdomäne)
  • 3–5 Suchbegriffe (neutrale Nomen oder Verben)

Ein Begriff der Heimdomäne in den Suchbegriffen bedeutet, dass der Schritt nicht erledigt ist. Listen Sie diese Begriffe in domain_terms auf; das Tool blockiert durch Teilzeichenfolgenvergleich.

4. Abruf (2a Richtungsgenerierung → 2b Verifizierung anhand von Primärquellen → 2c Lückenfüllung)

Zuerst die Heimdomäne scannen, dann verlassen. Erster Schritt in 2a.

„Quelle“ bedeutet hier nicht „ein anderes Feld“. Eine Quelle hat zwei Granularitäten:

Was wird geändertDie Quelle istMechanismus
ZweigwechselEin anderer Zweig innerhalb der Domäne AErsetzt die Prämisse des Hauptstrangs, keine Abbildung
DomänenwechselEin anderes FeldStrukturabbildung φ: A→B

Zwei Arten von „anderem Zweig“, beide zählend: einer, der von Gleichrangigen verdrängt wurde (früher gemacht, später aufgegeben); einer, der nie als Methode verwendet wurde — etwas, das bereits in der Heimdomäne existiert (ein obligatorisches Feld in einem Dokumentationsstandard, eine bestehende Indexstruktur, eine grobe Problemumgehung, die ein anderes Team verwendet), nur hat es noch niemand auf dieses Problem angewendet. Die zweite ist keine Erfindung: sie muss bereits in der Heimdomäne existieren; nur ihre Position ändert sich.

b_domain zeichnet die tatsächliche Quelle auf: bei einem Zweigwechsel der Name der Domäne A plus der Zweigname; bei einem Domänenwechsel das Feld. Nur eine benennbare spezifische Quelle zählt.

„Die Heimdomäne ist erschöpft“ ist unentscheidbar; urteilen Sie nicht. Überprüfen Sie zwei Tabellen, einen Eintrag pro Tabelle:

Was wird gescanntWie scannenWas aufzeichnen
Geteilte PrämisseSiehe „Wie man eine Prämisse bricht“ unten, fünf SchritteEine Prämisse + eine Praxis, die die Prämisse ablehnt, oder „keine solche Praxis in der Heimdomäne“
Nicht gewählter ZweigFragen Sie nach beiden Arten. ① Die früher übliche Mainstream-Praxis der Heimdomäne ist jetzt aufgegeben – wurde sie widerlegt oder nur aus der Mode gekommen? ② Warum wurde etwas, das bereits in der Heimdomäne existiert, nie als Methode verwendet?Zweigname + Grund, warum er nicht gewählt wurde; wenn keiner, schreiben Sie „kein solcher Zweig in der Heimdomäne“

Wie man eine Prämisse bricht — der Scan für die Tabelle „geteilte Prämisse“. Fünf Schritte, keiner übersprungen:

  1. Legen Sie die fehlgeschlagenen Pfade nebeneinander; schreiben Sie ihre geteilte Prämisse als einen Satz der negiert werden kann — wenn nicht, ist die Prämisse noch nicht formuliert.
  2. Zerlegen Sie sie in Klauseln, die einzeln negiert werden können.
  3. Für jede Klausel: Gibt es eine Praxis in der Heimdomäne, die sie nicht als Prämisse annimmt? Wenn ja, füllen Sie sie aus; diese Klausel ist gescannt.
  4. Die Klausel, die überall mit „nein“ antwortet, ist die Richtung zum Verlassen.
  5. Verwenden Sie die Negation dieser Klausel als Suchbegriffe. Kein Disziplinname — ein Disziplinname gibt nur Stichwort-Papiere aus dieser Disziplin zurück, und die Suche kreist direkt zum Anfang zurück.

confidence zählt beim Brechen von Prämissen nicht.

Nur wenn beide Tabellen mit „keine“ antworten, ist das Verlassen erlaubt. „Leer“ bedeutet kein Gegenbeispiel in der Praxis, nicht keine Wörter. Eine Zeile mit „keine solche Praxis in der Heimdomäne“ zählt ebenfalls als leer.

Ein Zweigwechsel ist nicht nur erneutes Nachdenken. Ein Kriterium: Der neue Zweig teilt nicht die geteilte Prämisse der fehlgeschlagenen Pfade. Mehr Aufwand, feinere Details, Parametertuning unter derselben Prämisse führen den Hauptstrang nur weiter. Kann es nicht benennen: Der Zweig ist noch nicht gefunden.

Die beiden Tabellen scannen Orte, die der Hauptstrang nicht beschritten hat, nicht den Hauptstrang selbst. Offene Probleme erhalten dieselbe Behandlung: Vermeiden Sie die Klischees der Heimdomäne, nicht die Heimdomäne.

Einträge der Heimdomäne gehen in recall auf gleicher Ebene wie domänenübergreifende Einträge ein: structure gibt an, „welcher Zweig der Heimdomäne, und welcher jetzt genommen wird“. Das Verlassen wird durch die beiden Ausgaben von Schritt drei zugestanden: null Begriffe der Domäne A in restated (nicht vom Tool geprüft – selbst zählen) und kein Begriff von domain_terms in terms (vom Tool blockiert). Das Tool prüft die beiden Tabellen nicht.

Die drei Unter-Schritte gehören alle zu Stufe zwei und laufen innerhalb einer Runde in der richtigen Reihenfolge ab. Führen Sie sie nicht zu einer Abfrage zusammen — zusammengeführt wird 2c zu einer Fortsetzung von 2a.

SchrittAktionAusgabeHartes FormatWas es beweisen kann
2a RichtungsgenerierungAus parametrischem Gedächtnis: Wo könnte eine Praxis sein (zuerst ungewählte Zweige der Heimdomäne)Eine Richtung + „was könnte dort sein“origin: "recall", confidence, Linse operator; 3–6 Einträge, ≥2 Linsen; status immer unverifiedNur „dieses Gebiet gesehen“, nicht, dass die Praxis dort existiert
2b Verifizierung anhand von PrimärquellenJeden Eintrag anhand einer externen Primärquelle prüfen: Existiert diese Praxis dort?verified / refuted / unverified (geprüft, aber unentscheidbar, bleibt unverified)verified muss eine Herkunft tragen; refuted muss eine Korrektur tragenMacht Vermutungen zu zitierbaren Fakten
2c LückenfüllungDie Suchbegriffe ändern und erneut suchen, für Richtungen, an die 2a nie gedacht hatNeue Quellenorigin: "search" und status pro Eintrag; jedes Ergebnis zeichnet query aufÜber die Trainingsdaten-Grenze hinaus

2c gibt dieselbe Praxis zurück wie 2a (gleiche Domäne, gleiche Praxis) = der Schritt hat nicht verlassen; das ist eine Fortsetzung, keine Lückenfüllung. Eine andere Praxis in derselben Domäne zählt – aber „andere“ muss in structure gehen, sonst kann sie nicht vom 2a-Eintrag im Protokoll unterschieden werden, und das Tool kann auch keine Duplikate beurteilen. Das Tool prüft dies nicht; zählen Sie es.

Für Eingabeaufforderungen und Reihenfolge siehe references/probe.md. Berechnen Sie keine Erinnerungsgenauigkeit: 2a gibt Richtungen, keine Aussagen.

Die vier Rahmungslinsen (für 2a Richtungsgenerierung verwendet, am Landungstor gegen Kandidaten neu geprüft)

In 2a jeden Eintrag mit einer Linse versehen; 3–6 Einträge decken ≥2 ab. Vier Einträge von einer Linse sind vier Kopien einer Analogie, richtig und falsch zusammen – prüfen Sie Divergenz bei 2a, nicht am Ende am Landungstor.

Die Linse fragt „wo“, nicht „wie weit“. Die Antwort kann ein anderer Zweig der Heimdomäne oder ein anderes Feld sein.

RahmungslinseFragen Sie damit
function(功能)In welchem Feld ist dieses Verb (Erkennung / Pufferung / Ratenbegrenzung / Kalibrierung) eine Standardkomponente?
conflict(矛盾)Wer behandelt „will X und gleichzeitig nicht X“ als tägliches Geschäft?
scale(尺度)Wie machen Felder eine Stufe tiefer (ein einzelnes Vorkommnis) und eine Stufe höher (eine Organisation, ein Ökosystem) dasselbe?
failure(失败)Welches Feld hat ein geschriebenes Vorfallsarchiv für diese Art von Fehler?

5. Rückübersetzung: als Domänen-A-Handlungen landen

Übersetzen Sie jede Praxis auf der Quellseite zurück; fallen Sie, was nicht rückübersetzt werden kann.

Schreiben Sie zuerst why; wenn es nicht geschrieben werden kann, verwerfen Sie den Eintrag. Nicht nach den anderen Spalten angehängt – bis dahin ist die Beibehaltung bereits entschieden, und was geschrieben wird, ist eine dafür gefundene Rechtfertigung. why ist das Zulassungstor: Die A-Seite zitiert die genauen Worte von decompose.stuck; die B-Seite gibt an, was in diesem Feld die Arbeit erledigt. Nur B-Seite („dieses Feld funktioniert so gut“) dreht sich; nur A-Seite wiederholt den Haken; die beiden stimmen nicht überein = nicht rückübersetzbar.

Für evidence wählen Sie eines: die Herkunft der Quellpraxis oder inferred. Inferred zu markieren ist erlaubt; eine Folgerung als Herkunft zu schreiben ist nicht erlaubt. Es regiert die Tatsache (die Praxis existiert dort); why regiert die Korrespondenz (gleiche Stelle wie der Haken in Domäne A?).

Das Tool prüft nur, dass why nicht leer ist; es kann nicht erkennen, ob es zuerst geschrieben oder nachträglich angehängt wurde. Weich, wie der 2c-Selbsttest: blockiert das Offensichtlich-Unerledigte.

6. Die beiden Tore und die Befehle

python3 scripts/maybe_smart.py --recall decompose.json           # Eintragungstor
python3 scripts/maybe_smart.py --check cands.json decompose.json # Landungstor
python3 scripts/maybe_smart.py analogy.json                      # Audit (optional)

--quiet ist ein Ausgabeschalter, kein Modusplatz: Standardmäßig wird der vollständige Bericht ausgegeben; damit wird nur die Ergebniszeile (PASS / FAIL; --check verarbeitet ein Paar und gibt eine einzelne Zeile aus). Exit-Codes: 0 bestanden / 1 blockiert / 2 Eingabefehler.

Eintragungstor: task_type nicht leer und alle vier Spalten vorhanden; restated ≤40 Zeichen; terms ≥3 mit keinem Begriff von domain_terms (wenn domain_terms nicht aufgeführt ist, kann dieses Tor nicht geprüft werden und gilt als nicht bestanden); jeder Erinnerungseintrag hat ein nicht leeres b_domain; ≥3 Erinnerungseinträge; gleiche Quelle, gleiche Praxis wiederholt sich nicht (zwei verschiedene Praktiken unter einem Zweig zählen als zwei); status akzeptiert nur verified / refuted / unverified; verified trägt source, refuted trägt correction; mindestens 1 Eintrag mit origin als search und einem aufgezeichneten query.

Landungstor, sieben Prüfungen:

  1. Sechs Felder nicht leer: operator / action / subject / first_step / observable / why
  2. ≥2 Rahmungslinsen; operator darf nur die chinesischen Literale 功能 / 矛盾 / 尺度 / 失败 (Funktion / Konflikt / Maßstab / Fehler) annehmen; jeder andere Wert ist nicht konform
  3. ... (Die Prüfungen 3-7 wurden im Originaltrunkat abgeschnitten – für die Übersetzung wurden die vorhandenen Inhalte vollständig lokalisiert.)

7. Ausgabeformat (Tool-Schnittstelle)

Das Tool erwartet eine cands.json im folgenden Format für das Landungstor:

{
  "candidates": [
    {
      "operator": "功能",
      "action": "Standard-Code-Review-Checkliste durchsetzen",
      "subject": "Review-Prozess",
      "first_step": "Schreiben Sie eine Checkliste mit den fünf häufigsten Fehlerkategorien aus den letzten zehn Reviews",
      "observable": "Die Anzahl der übersehenen Fehler im nächsten Review sinkt um 50%",
      "why": "Will die Erkennungsrate erhöhen, aber mehr Leute senken sie. Die Softwarequalitätssicherung verwendet Checklisten als Standardbaustein, um die Streuung zwischen Prüfern zu reduzieren.",
      "evidence": "IEEE 1028-2008 Standard für Software-Reviews",
      "source_field": "Softwarequalitätssicherung"
    }
  ]
}

8. Beispiel: Übersehene Fehler im Code-Review


Zerlegung:

SpalteWert
keepUnabhängiges Urteil vor dem Zusammenführen
blockEs gibt ein Urteil, aber es wirkt nicht als eines
stuckWill die Erkennungsrate erhöhen, aber mehr Leute senken sie
constraintsKein Personal hinzufügbar; keine Verlängerung des Zeitplans

Neufassung: Erhöhung, aber mehr reduziert sie Suchbegriffe: Streuung, Überprüfer, Anzahl, Senkung

Abruf (2a, 2b, 2c):

  • Zweig in derselben Domäne: „Blind-Review“ – die Prämisse, dass Prüfer Kenntnis vom Autor haben, wird abgelehnt; formal vorhanden, aber selten verwendet.
  • Domänenwechsel: „Qualitätsregelkarte“ in der Fertigung – die Prämisse, dass die Fehlerrate durch Inspektion steigt, wird abgelehnt; stattdessen wird die Inspektion selbst auf Konsistenz überwacht.

Landung: Rückübersetzung für Blind-Review: Warum funktioniert es? stuck sagt, dass mehr Prüfer die Erkennungsrate senken – Blind-Review beseitigt bewusste und unbewusste Voreingenommenheit; es behandelt denselben Haken (Erhöhung reduziert). Aktion: Autorinformationen während des Reviews verbergen, zufällige Prüferzuweisung. Erster Schritt: Nächstes Review mit verborgenen Autoreninformationen durchführen. Beobachtbar: Die Anzahl der übersehenen Fehler sinkt im Vergleich zum vorherigen Review.


Referenzen

  • references/probe.md – Abfragevorlagen für jeden Schritt
  • references/audit.md – Audit-Verfahren für domänenübergreifende Analogien
  • scripts/maybe_smart.py – Hilfsskript zur Validierung des Ausgabeformats

Verwandte Skills