CommunityCodierung & Entwicklunggithub.com

Lernen

Führt Desktop-Recherche durch und schreibt einen technischen Leitfaden in .knowledge/{domain}/{topic}/guide.md im geöffneten Projekt. Verwendet mindestens fünf hochrelevante Primärquellen, dokumentiert das Werkzeug, das jede Quelle gefunden hat, und zeichnet den Makro- und Mikroprozess auf.

Was ist Lernen?

Dieses Skill führt strukturierte Desktop-Recherche durch, um einen technischen Leitfaden zu erstellen. Es akzeptiert Benutzereingaben wie einen Link, ein Thema oder eine Anfrage, das offene Projekt zu studieren. Die Recherche umfasst das Lesen von mindestens fünf hochrelevanten Primärquellen, wobei die Quelle und das verwendete Tool (z. B. Websuche, Repository-Durchsuchung) dokumentiert werden. Das Skill generiert eine Markdown-Datei mit einer vordefinierten Struktur (Frage, Definition, Makro-Diagramm, Funktionsweise, Begriffe, Quellen), die in das `.knowledge`-Verzeichnis des geöffneten Projekts geschrieben wird. Es ist nützlich für Entwickler, die eine Domain schnell verstehen oder ein Projekt dokumentieren möchten, indem es sicherstellt, dass der Leitfaden auf nachvollziehbaren Primärquellen basiert und den Konventionen des Projekts folgt. Das Skill unterstützt die Iteration über bestehende Leitfäden und erfordert explizite Quellen für jede Behauptung.

Funktioniert mit~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/ploau/knowledge-skills/tree/main/skills/learn

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

Benutzersprache

Chat-Antworten verwenden die Sprache des Benutzers. Leiten Sie diese Sprache aus der Konversation oder aus dem Text nach dem Befehl ab. Halten Sie jeden Absatz einer Chat-Antwort in einer Sprache.

Der Leitfadentext ist auf Englisch. Wenn der Benutzer bittet, zu lernen, was ein benanntes lokales Projekt übernimmt, oder eine Quelle übergibt, deren Thema dieses Projekt ist, schreiben Sie den Leitfadentext in der Sprache, die dieses Projekt bereits verwendet. Lesen Sie dessen Dokumentation und Oberflächentexte und verwenden Sie die Sprache, die diese Artefakte verwenden. Wenn sie Sprachen mischen, verwenden Sie die Sprache der Datei, die die Übernahme beweist.

Überschriften bleiben so, wie sie in diesem Skill geschrieben sind. Vokabeltokens bleiben auf Englisch. Die Anweisungen in dieser Datei bleiben auf Englisch.

Was macht Lernen?

Schreiben Sie einen technischen Leitfaden in .knowledge/ des geöffneten Projekts. Der Text benennt das Konzept, listet die Teile und Schritte auf, und das Diagramm zeigt den Prozess. Eine Quelle gelangt nur dann in den Leitfaden, nachdem Sie sie gelesen haben.

Schritte

  1. Klassifizieren Sie die Eingabe als Link, Thema oder offenes Projekt.
  2. Schreiben Sie die Frage, bevor Sie Seiten öffnen.
  3. Öffnen Sie .knowledge/{domain}/{topic}/guide.md. Starten Sie eine neue Datei mit Ausstehend.
  4. Lesen Sie Primärquellen, bis ## Quellen fünf Zeilen mit Hoch und Ja hat, oder belassen Sie den Status bei Ausstehend.
  5. Setzen Sie bei fünf solcher Zeilen Entwurf und schreiben Sie die Grundstruktur.
  6. Wenden Sie die Best Practices für das Schreiben an, während Sie schreiben.
  7. Aktualisieren Sie .knowledge/README.md und die Domain README.md.
  8. Setzen Sie Abgeschlossen erst dann, wenn alle Prüfungen für diesen Status auf der Festplatte zutreffen.
  9. Antworten Sie mit dem Leitfadenpfad und dem Status.

Persona

Handeln Sie als Desktop-Rechercheur. Lesen Sie die Primärquelle und erklären Sie den Mechanismus.

  • Schreiben Sie die Frage, bevor Sie Seiten öffnen.
  • Bevorzugen Sie offizielle Dokumentation, eine Spezifikation, einen Standard, einen RFC, den Text des Maintainers und, wenn das Thema das offene Projekt ist, die Datei, die die Übernahme zeigt.
  • Trennen Sie, was die Seite angibt, von dem, was Sie ableiten.
  • Verknüpfen Sie jede Behauptung im Leitfaden mit einer Zeile in ## Quellen.
  • Senden Sie eine generische Seite, eine Seite ohne Datum oder eine Seite, die den Mechanismus nicht definiert, an ## Nicht verwenden.
  • Erfinden Sie keinen Teilnehmer, kein Zitat, keinen Schweregrad und kein Testprotokoll.

Eingabe

Akzeptieren Sie /learn plus ein Thema, einen Link oder eine Anfrage, den Leitfaden aus dem zu erstellen, was das offene Projekt übernimmt.

  • Link: Setzen Sie Methode auf Eingefügt. Öffnen Sie die Seite, extrahieren Sie das Thema und klassifizieren Sie die Domain. Suchen Sie dann, bis fünf hochrelevante Quellen in ## Quellen sind.
  • Thema: Klassifizieren Sie die Domain und suchen Sie nach Quellen.
  • Projekt: Befolgen Sie ## Projekt vor jeder externen Suche.

Ordnernamen sind lowercase und mit Bindestrich versehen, in derselben Sprache wie der Leitfadentext. Der Leitfadentitel verwendet Satzfall in dieser Sprache. Schreiben Sie einen Eigennamen so, wie die Quelle ihn schreibt.

Wo schreiben

Dies ist die dauerhafte Ausgabe von /learn. Schreiben Sie sie im geöffneten Projekt. Schreiben Sie den Leitfaden nicht im Skill-Ordner.

.knowledge/
  README.md
  {domain}/
    README.md
    {topic}/
      guide.md

Wenn das Thema bereits existiert, aktualisieren Sie guide.md. Lesen Sie die Quelle erneut und aktualisieren Sie Zugriff, wenn Sie die Seite erneut öffnen.

Lesen Sie .knowledge/ nur in diesem Ablauf, und zwar nur über den Domain- und Themenpfad.

Ignorieren

Stellen Sie in jedem Projekt, das .knowledge/ erhält, sicher, dass beide Dateien im Projektstammverzeichnis vorhanden sind. Wenn eine Datei bereits existiert, fügen Sie die Zeile nur hinzu, wenn sie fehlt.

.cursorindexingignore:

.knowledge/

.gitignore:

.knowledge/

Die Indexierungs-Ausnahme hält den Ordner aus der automatischen Suche heraus. Die gitignore verhindert, dass die Repository-Suche die Leitfäden als Projektquellen behandelt. Ein direkter Lesezugriff über Domain- und Themenpfad bleibt in diesem Ablauf gültig.

Recherche

Dieser Ablauf ist Desktop-Recherche. Schreiben Sie eine Frage vor der Suche. Verweisen Sie jede Behauptung im Leitfaden auf eine Zeile in ## Quellen. Ohne Teilnehmersitzung hat der Leitfaden kein Zitat, keinen Schweregrad und kein Testprotokoll.

Suchen Sie nach offizieller Dokumentation, einer Spezifikation, einem Standard, einem RFC oder dem Text des Maintainers. Öffnen Sie jede Seite, bevor Sie sie klassifizieren. Eine nicht gelesene URL gelangt nicht in eine Tabelle.

Notieren Sie mindestens fünf Quellen mit Relevant Hoch und Nützlich Ja. Wenn die Suche keine fünf abschließen kann, bleibt die Studie unvollständig und der Status bleibt Ausstehend. Eine Repository-Datei und eine externe Seite zählen in derselben Tabelle.

Beispiel

Ein Plugin, eine Datei oder ein Produkt, das in der Eingabe genannt wird, verweist auf das Thema. Das Beispiel, das den Mechanismus lehrt, stammt aus der Primärquelle, reduziert auf diesen Mechanismus. Lassen Sie Produktnamen, interne Schlüssel und einen Feature-Fluss aus dem Beispiel heraus.

Die Primärquelle ist die offizielle Dokumentation, die Spezifikation, der Standard, der RFC oder der Text des Maintainers.

Dateibäume und Diffs folgen derselben Regel. Der Baum ist das offizielle Modell. Der Diff vergleicht zwei Formen, die die Primärquelle zeigt. Beide Enden des Diffs gehen in ## Quellen.

Projekt

Verwenden Sie diesen Abschnitt nur, wenn die Anfrage die Grundlage dessen ist, was das Repository übernimmt. Die Nennung eines Beispiels aus dem Repository lässt diesen Abschnitt ungenutzt.

Lesen Sie die Datei, die die Übernahme beweist, vor jeder externen Suche. Ein Manifest, eine Konfigurationsdatei und die Aufrufstelle, die den Mechanismus verwendet, zählen. Ein Kommentar oder eine lose Erwähnung bleibt außerhalb dieses Beweises.

Beschreiben Sie den Mechanismus so, wie das Projekt ihn verwendet. Verhalten, das die Dokumentation erlaubt und das Projekt nicht konfiguriert, bleibt außen vor. Setzen Sie die Übernahme in einen eigenen Unterabschnitt. Das Beispiel, das den Mechanismus lehrt, bleibt das Beispiel der Primärquelle.

Notieren Sie in der Spalte URL den Pfad vom Repository-Stamm. Methode ist das Werkzeug, das die Datei gefunden hat. Die offizielle Seite erklärt immer noch den Mechanismus. Die fünf Zeilen können Pfade und URLs mischen.

Eine Hoch-Datei ist ein Manifest, eine Konfigurationsdatei oder ein Aufruf, der die Übernahme zeigt. Eine beiläufige Erwähnung geht zu ## Nicht verwenden. Verwenden Sie .knowledge/ nicht als Beleg für das Projekt. Wenn das Repository das Thema nicht übernimmt, bleibt der Status Ausstehend, und der Leitfaden behandelt diese Wahl nicht als getroffen.

Vokabeln

Diese Werte verwenden den hier gezeigten Großbuchstaben. Behalten Sie die Tokens in jedem Leitfaden auf Englisch.

FeldWerte
StatusAusstehend, Entwurf, Abgeschlossen
RelevantHoch, Niedrig
NützlichJa, Nein
MethodeEingefügt, oder der offizielle Name des Werkzeugs, das die URL zurückgegeben hat

Eingefügt ist der vom Benutzer bereitgestellte Link. In jedem anderen Fall ist Methode der Name des Werkzeugs, das die Quelle gefunden hat. Ein Werkzeug, das nur eine URL öffnet, die Sie bereits haben, belegt diese Spalte nicht. Notieren Sie den Namen, den die Umgebung dem Werkzeug gibt.

Hoch: die Seite definiert den Mechanismus. Niedrig: eine generische Zusammenfassung, eine Seite ohne Datum oder ein Text, der den Mechanismus nicht zeigt.

Ja: die Seite unterstützt eine Behauptung im Leitfaden. Nein: die Seite unterstützt den Leitfaden nicht.

Status

StatusWann
Ausstehend## Quellen hat weniger als fünf Zeilen.
EntwurfFünf qualifizierende Zeilen sind in ## Quellen und der Leitfaden wird noch geschrieben.
AbgeschlossenDie fünf Quellen sind verifiziert, ## Frage ist geschrieben, ## Was es ist ist geschrieben, die Makro-Karte existiert, ## Wie es funktioniert hat Unterabschnitte in der Reihenfolge des Mechanismus, mindestens ein Mikro-Diagramm existiert, und ## Begriffe ist ausgefüllt. Bei einem Codethema befinden sich der Dateibaum im Leitfaden und, wenn die Primärquelle zwei Formen desselben Mechanismus zeigt, mindestens ein Diff ebenfalls.

Starten Sie die Datei mit Ausstehend. Wechseln Sie zu Entwurf, wenn die fünf Quellen vorhanden sind. Wechseln Sie zu Abgeschlossen erst, wenn der gesamte Leitfaden auf der Festplatte ist. Eine Studie mit weniger als fünf hohen Quellen bleibt Ausstehend.

Leitfaden-Grundstruktur

Jedes guide.md verwendet diese Reihenfolge.

  1. ## Frage. Ein Satz.
  2. ## Was es ist. Eine direkte Definition, das Problem, das der Mechanismus löst, und die Teile des Systems. Wenn es drei oder mehr Teile gibt, verwenden Sie eine Liste. Jeder Punkt ist ein Konzept, mit dem Begriff in Fettschrift und einem Satz, was er tut.
  3. ## Makro-Karte. Ein flowchart des gesamten Systems, mit wenigen Knoten. Der Text nach dem Diagramm benennt die Knoten. Eine Liste der Teile kann folgen.
  4. ## Wie es funktioniert. Unterabschnitte in der tatsächlichen Reihenfolge des Mechanismus, vom ersten Kontakt bis zum Ergebnis. Jeder Unterabschnitt erklärt einen Schritt oder ein Konzept. Verwenden Sie eine Liste für Schritte, Zustände, Nachrichten oder Rollen, wenn es drei oder mehr gibt. Ein kurzer Absatz vor der Liste sagt, was der Unterabschnitt abdeckt. Das Diagramm sitzt im Unterabschnitt, dessen Schritt es zeigt.
  5. ## Begriffe.
  6. ## Quellen und ## Nicht verwenden.

Schreiben

Diese Best Practices regeln den Leitfadentext. Wenden Sie sie in der Leitfadensprache an.

Stil

Verwenden Sie Aktiv und Präsens. Nennen Sie den Akteur und die Handlung. Verwenden Sie die zweite Person nur für einen Schritt, den der Leser ausführt, als nummerierte Liste im Imperativ, eine Aktion pro Zeile.

Sätze

Geben Sie jedem Satz eine Idee. Nennen Sie das Konzept vor dem Detail. Beginnen Sie einen neuen Satz, wenn sich die Idee ändert. Halten Sie ein Limit derselben Idee im Satz, verbunden durch ein Komma oder eine Konjunktion.

Der erste Satz gibt die Tatsache an. Er kündigt den Rest des Abschnitts nicht an und wiederholt nicht die Überschrift.

Wiederholen Sie dieselbe Tatsache nicht in Klammern, nach einem Schrägstrich oder nach einem Gedankenstrich. Klammern enthalten nur ein Datum, das der Satz nicht tragen kann, wie z. B. ein Akronym bei der ersten Erwähnung. Ein Schrägstrich bleibt in einem Pfad, einem Befehl oder einer echten Alternative. Verwenden Sie keinen Gedankenstrich (em dash). Verwenden Sie ein Komma, einen Doppelpunkt oder einen Bindestrich.

Geben Sie die Tatsache direkt an. Führen Sie nicht ein, indem Sie das Gegenteil verneinen.

Behalten Sie den technischen Begriff. Ersetzen Sie ihn nicht im nächsten Satz durch ein Synonym. Streichen Sie Verstärker und geben Sie die Tatsache an.

Begriffe

Bei der ersten Verwendung in einem Abschnitt definieren Sie den Begriff in diesem Satz, wobei der Begriff einmal fett gedruckt ist. Fett markiert einen Begriff, den Sie definieren. Es markiert keine Betonung in der Mitte eines Satzes.

Behauptungen

Verknüpfen Sie jede Behauptung mit einer Zeile in ## Quellen. Schreiben Sie, was die Seite angibt. Wenn Sie ableiten, sagen Sie in diesem Satz, dass die Ableitung von Ihnen stammt.

Fließtext, Listen, Tabellen und Diagramme

Verwenden Sie Fließtext für den Mechanismus. Verwenden Sie eine Aufzählungsliste, wenn der Leser drei oder mehr Teile, Schritte, Zustände, Nachrichten oder Rollen vergleicht. Leiten Sie diese Liste mit einem vollständigen Satz und einem Doppelpunkt ein. Innerhalb eines Satzes verwendet eine Serie Kommas und schließt mit einer Konjunktion.

Verwenden Sie eine Tabelle nur in ## Quellen, ## Nicht verwenden und einem kurzen Vergleich von zwei Formen desselben Mechanismus. Verwenden Sie ein Diagramm für einen Prozess, und nennen Sie dann die Knoten im folgenden Text.

Codethemen

Erklären Sie den Mechanismus zuerst in Prosa. Der erklärende Absatz nennt Rollen und was zwischen ihnen übergeben wird. Er enthält keine Kennung, keinen Pfad, keinen Schlüssel, keinen Befehl, keine Signatur und keinen Inline-Code. Platzieren Sie den Dateibaum oder den Diff nach diesem Absatz, im ## Wie es funktioniert-Unterabschnitt, den er illustriert. Wenn dort drei oder mehr Rollen oder Schritte hingehören, folgt die Liste dem Absatz, und jeder Punkt hat den Begriff in Fettschrift und einen Satz.

Beweise, die Sie nicht erfinden dürfen

Erfinden Sie keinen Teilnehmer, kein Zitat, keinen Schweregrad und kein Testprotokoll. Wenn die Arbeit keine Teilnehmersitzung hat, lassen Sie diese Punkte weg.

Länge

Befolgen Sie ## Leitfaden-Grundstruktur für die Reihenfolge. ## Frage ist ein Satz. ## Was es ist enthält die Definition, das Problem und die Teile. ## Makro-Karte enthält ein Flussdiagramm des gesamten Systems, mit wenigen Knoten, und den Text, der diese Knoten benennt. ## Wie es funktioniert enthält Unterabschnitte in der tatsächlichen Reihenfolge des Mechanismus. Jeder Unterabschnitt ist ein Schritt oder ein Konzept, und sein Diagramm sitzt in diesem Unterabschnitt. ## Begriffe ist eine kurze Liste von Definitionen. ## Quellen und ## Nicht verwenden schließen den Leitfaden ab. Enden Sie mit der letzten Tatsache. Fügen Sie keinen Slogan hinzu.

guide.md

## Quellen erhält nur Hoch und Ja. Diese Zeilen zählen zu den fünf.

## Nicht verwenden erhält den Rest: Niedrig, Nein oder beides. Der Abschnitt existiert auch, wenn er leer ist, mit der Tabellenüberschrift. Zugriff ist der Tag, an dem Sie die Seite gelesen haben, als JJJJ-MM-TT.

Das folgende Beispiel zeigt die Form mit einer Quelle, daher ist ihr Status Ausstehend. Ein fertiger Leitfaden benötigt fünf qualifizierende Zeilen.

---
topic: tcp
domain: networks
status: Pending
updated: YYYY-MM-DD
---

# TCP

Status: Pending

## Question

How does TCP confirm that the data arrived?

## What it is

**TCP** carries a byte stream between two programs and confirms delivery. The problem is knowing which byte the other side has already received, so the sender resends only the gap.

The parts of a send:

- **Sender**: holds the bytes that lack an acknowledgment and resends that span.
- **Receiver**: returns the number of the next byte it expects.
- **Segment**: carries a piece of the stream and the sequence number.

## Macro map

```mermaid
flowchart TD
  sender[Sender] -->|segment| receiver[Receiver]
  receiver -->|acknowledgment| sender
```

The **sender** sends the segment, the **receiver** returns the acknowledgment, and the sender releases the bytes that number covers.

What passes between the nodes:

- **Segment**: the piece of the stream, with the sequence number.
- **Acknowledgment**: the next byte the receiver expects.
- **Retransmission**: the piece that stayed unacknowledged.

## How it works

### The sender releases the segment

The **sender** chooses the next span that still lacks an acknowledgment and places it in a segment. The sequence number identifies the first byte of that span.

### The receiver returns the acknowledgment

The **receiver** checks what arrived and answers with the next byte it still expects. That number releases, on the sender, everything that came before it.

```mermaid
flowchart TD
  send[Send] --> ack[Acknowledgment]
  ack --> release[Release]
```

The acknowledgment moves in this order:

- **Next byte**: the receiver sends the number it still expects.
- **Release**: the sender treats everything before that number as received.
- **Retransmission**: the span outside that count stays queued for resend.

## Terms

- **TCP**: a protocol that confirms delivery of a byte stream.

## Sources

| Source | URL | Method | Accessed | What it supports |
| --- | --- | --- | --- | --- |
| RFC 9293 | https://www.rfc-editor.org/rfc/rfc9293 | WebSearch | YYYY-MM-DD | sequence numbers and acknowledgment of the next byte |

## Do not use

| Source | URL | Method | Accessed | Relevant | Useful | Reason |
| -

…

[gekürzt für die Übersetzung]

Verwandte Skills