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
- Klassifizieren Sie die Eingabe als Link, Thema oder offenes Projekt.
- Schreiben Sie die Frage, bevor Sie Seiten öffnen.
- Öffnen Sie
.knowledge/{domain}/{topic}/guide.md. Starten Sie eine neue Datei mitAusstehend. - Lesen Sie Primärquellen, bis
## Quellenfünf Zeilen mitHochundJahat, oder belassen Sie den Status beiAusstehend. - Setzen Sie bei fünf solcher Zeilen
Entwurfund schreiben Sie die Grundstruktur. - Wenden Sie die Best Practices für das Schreiben an, während Sie schreiben.
- Aktualisieren Sie
.knowledge/README.mdund die DomainREADME.md. - Setzen Sie
Abgeschlossenerst dann, wenn alle Prüfungen für diesen Status auf der Festplatte zutreffen. - 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
MethodeaufEingefügt. Öffnen Sie die Seite, extrahieren Sie das Thema und klassifizieren Sie die Domain. Suchen Sie dann, bis fünf hochrelevante Quellen in## Quellensind. - Thema: Klassifizieren Sie die Domain und suchen Sie nach Quellen.
- Projekt: Befolgen Sie
## Projektvor 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.
| Feld | Werte |
|---|---|
| Status | Ausstehend, Entwurf, Abgeschlossen |
| Relevant | Hoch, Niedrig |
| Nützlich | Ja, Nein |
| Methode | Eingefü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
| Status | Wann |
|---|---|
Ausstehend | ## Quellen hat weniger als fünf Zeilen. |
Entwurf | Fünf qualifizierende Zeilen sind in ## Quellen und der Leitfaden wird noch geschrieben. |
Abgeschlossen | Die 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.
## Frage. Ein Satz.## 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.## Makro-Karte. Einflowchartdes gesamten Systems, mit wenigen Knoten. Der Text nach dem Diagramm benennt die Knoten. Eine Liste der Teile kann folgen.## 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.## Begriffe.## Quellenund## 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]