Projekt fortführen
Wenn eine Sitzung geöffnet wird, sind die wichtigen Informationen aus früheren Sitzungen über mehrere Orte verstreut. Dieser Skill schafft den Weg zurück: Er sammelt sie, gleicht sie mit den aktuellsten verfügbaren Informationen ab und teilt sie dem Benutzer in wenigen Zeilen mit, damit dieser entscheiden kann, woran er heute arbeiten möchte, ohne sich an etwas erinnern zu müssen.
Vier Dinge bestimmen, wie er funktioniert:
- Nur lesen. Er schreibt in keine Datei, Notiz, Datenbank oder in kein Memory. Deshalb fragt er nicht für jeden Schritt um Erlaubnis: Lesen ändert nichts. Das Kopieren einer Datei vom Computer des Benutzers in die Sitzung zum Lesen zählt als Lesen. Der einzige zulässige Schreibvorgang ist
git fetch --prune, und nur, wennreferences/claude-code.mddies vorsieht. Der Sitzung Zugriff auf ein neues Repository zu gewähren, ist nicht nur Lesen: Tun Sie dies nicht eigenmächtig (siehe die GitHub-Zeile in Schritt 0). Hooks von anderen Plugins können beim Öffnen der Sitzung schreiben (Memory konsolidieren, Protokolle speichern): Dies ist kein Schreiben durch diesen Skill und muss nicht erwähnt werden, es sei denn, es ändert eine Quelle, die Sie gleich lesen werden. - Liest Dateien, startet keine Workflows. Mehrere Skills schreiben beim Starten Telemetrie oder Status, erstellen Ordner, fragen nach ihrem eigenen Ausgabeformat oder enden mit ihrer eigenen Frage. Wenn Sie wissen, wo ein Skill seine Daten speichert, lesen Sie diese Datei direkt. Starten Sie den Skill nur, wenn es keinen anderen Weg gibt, und nehmen Sie in diesem Fall seine Daten, überspringen Sie seine abschließende Frage und sein Format und stoppen Sie jeden Schritt, der schreibt.
- Projektanweisungen haben Vorrang. Wenn die Projektanweisungen, eine
CLAUDE.mdoder die Benutzereinstellungen angeben, wo der Status lebt, welche Ordner gelesen werden dürfen, wie Konflikte gelöst werden oder wie der Tag geplant wird, hat dies Vorrang vor diesem Skill. - Endet mit einer Frage und einer Übergabe. Ein Skill zum Abschließen einer Sitzung (z. B. wrap-up) endet mit der Aussage, dass die Sitzung archiviert werden kann; dieser Skill endet damit, zu fragen, woran heute gearbeitet werden soll, und die Antwort weiterzugeben (Schritt 6).
0. Inventar: Was Sie tatsächlich lesen können
Wählen Sie die Quellen nicht anhand des Umgebungsnamens aus. Dieselbe Sitzung kann gleichzeitig in der Cloud, innerhalb eines claude.ai-Projekts und mit dem Computer des Benutzers verbunden sein. Bevor Sie etwas lesen, schauen Sie sich die Tools an, die die Sitzung hat (auch die zurückgestellten, indem Sie danach suchen), und notieren Sie, welche dieser Fähigkeiten vorhanden sind:
| Fähigkeit | So erkennen Sie sie | Quellen, die sie öffnet |
|---|---|---|
| Terminal im Repository | Der Arbeitsordner ist eines der Repositories des Benutzers, oder es gibt ein Terminal auf seinem Computer (device_bash oder ähnlich) mit dem Repository in einem verbundenen Ordner | Git und das Remote (C), mit references/claude-code.md |
| Computerdateien ohne Terminal | Tools zum Auflisten und Kopieren von Dateien vom Computer, ohne Terminal | Vault (D), Sitzungsprotokoll (B, falls das Setup eines schreibt) und Übergaben (E), wenn sie sich in einem verbundenen Ordner befinden, und die CLAUDE.md eines Repositories, dessen Ordner verbunden ist (D). Nicht lokales Git |
| GitHub ohne Terminal im Repository | gh in der Sitzung installiert oder ein Tool zum Hinzufügen von Repositories zur Sitzung | Pull Requests, Branches und Commits auf dem Remote (C2) |
| Projektmanager | Ein Notion-Connector oder ein anderer Projektmanager, plus Anweisungen oder eine CLAUDE.md, die besagen, welche Datenbank oder Seite die Projekte enthält | Status, nächster Schritt und Aufgaben (A) |
| Frühere Chats | Tools zum Durchsuchen oder Auflisten von Chats | Chats (F), mit references/claude-ai.md |
| Claude Code Sitzungen | Tools zum Auflisten oder Durchsuchen der Sitzungen der Desktop-App (list_sessions, search_session_transcripts, list_events oder ähnlich) | Frühere Sitzungen (F2), mit references/claude-code.md |
| Veröffentlichte Artefakte | Tools zum Auflisten veröffentlichter Artefakte, Seiten oder Dokumente (Artifact mit list oder ähnlich) | Liefergegenstände außerhalb des Repositorys (I) |
| Memory | Memory im Kontext oder Memory-Tools | Memory (G) |
| claude.ai-Projekt | Projektanweisungen oder -dateien im Kontext oder ein Projekt-Tool | Anweisungen und Dateien (H) |
Die Referenzen geben die Details für Git (references/claude-code.md), für claude.ai-Chats (references/claude-ai.md) und für ein projektspezifisches Sitzungsprotokoll, das von einem Hook geschrieben wird (references/session-log.md). Lesen Sie nur die Referenz, die durch eine Fähigkeit geöffnet wird, die Sie haben, und session-log.md nur, wenn das Setup ein solches Protokoll schreibt. Wenn eine Referenz sagt, dass etwas nicht vorhanden ist (Vault, Festplatte, Git) und das Inventar sagt, dass es vorhanden ist, gewinnt das Inventar. Wenn eine Referenz fehlt, machen Sie mit dem weiter, was diese Datei sagt.
Wenn die Sitzung viele zurückgestellte Tools hat, laden Sie nicht alle, um das Inventar aufzunehmen: Suchen Sie nach den Wörtern in der Tabelle (notion, session, transcript, chat, memory, project, repository, artifact) und laden Sie das Schema nur für die, die Sie verwenden werden. gh ist kein Sitzungs-Tool, sondern ein Programm: Überprüfen Sie es mit gh auth status. Wenn die Namen der zurückgestellten Tools bereits im Kontext sichtbar sind, wählen Sie aus dieser Liste aus und laden Sie nur diese, ohne zu suchen.
Die Quellenbuchstaben in dieser Datei (A bis I) sind nicht die von claude-code.md (A bis H): E steht hier für Übergaben, während E in dieser Referenz für die CLAUDE.md steht. Wenn diese Datei eine Kategorie von claude-code.md zitiert, zitiert sie sie mit Namen; suchen Sie sie nach dem Namen, nicht nach dem Buchstaben.
Erlaubte Ordner. Lesen Sie nur die Ordner, die der Benutzer mit der Sitzung verbunden hat oder die deren Anweisungen Ihnen zu lesen erlauben, und die die Sitzung tatsächlich erreichen kann. Bitten Sie nicht um Zugriff auf einen von ihnen, um fortzufahren. Fassen Sie alles, was außerhalb der Reichweite liegt, in einer einzigen „Hinweis“-Zeile zusammen:
- Nützliche Quellen außerhalb der verbundenen Ordner (z. B.
~/.gstackim Home-Ordner, in einer Sitzung ohne Terminal); - Ordner, deren Lektüre die Anweisungen erlauben, die aber nicht verbunden sind (z. B. der eigene Ordner eines Projekts). Wenn einer zu einem Projekt gehört, das in der Zusammenfassung erscheint, fügen Sie hinzu, dass alles, was über dieses Projekt bekannt ist, das ist, was der Projektmanager sagt.
1. Um welches Projekt es sich handelt
- Ein Repository, ein Ordner oder ein Name. Wenn sich die Sitzung in einem Repository befindet, ist dies das Projekt. Wenn der Benutzer es benennt, suchen Sie danach im Projektmanager (A) und im Vault (D), ohne Berücksichtigung der Groß-/Kleinschreibung und unter Verwendung der Aliase, die das Memory liefert: Die Namen stimmen möglicherweise nicht überein, und ein Projekt kann sich mitten in einer Umbenennung befinden.
- Ein Dachprojekt. Wenn der Kontext ein Bereich mit mehreren Projekten ist (ein claude.ai-Projekt, das die gesamte Arbeit organisiert, ein Projektmanager mit einer Projektdatenbank, ein Vault mit mehreren Ordnern) und der Benutzer keines benennt, wählen Sie nicht stillschweigend. Schreiben Sie eine Multi-Projekt-Zusammenfassung (Schritt 4) mit denen, die die aktuellste Aktivität aufweisen, und denen, die die Anweisungen als kurzfristige Priorität markieren.
- Was der Benutzer als gegeben voraussetzt. Wenn die Eröffnungsnachricht einen Zustand behauptet (eine unvollständige Git-Operation, einen Branch, einen PR, ein Deployment), überprüfen Sie ihn anhand der Quellen, sobald Sie sie lesen: den schnellen Git-Schnappschuss, GitHub oder, falls vorhanden, das Sitzungsprotokoll. Wenn es nicht übereinstimmt, sagen Sie dies in einer Zeile vor der Zusammenfassung, mit dem, was jede Quelle sagt. Wenn das, was es benennt, zu einem anderen Projekt gehört (ein anderer Ordner, ein anderes Repository, eine andere Notiz), fragen Sie, welches fortgesetzt wird, bevor Sie weiterlesen; in einer Sitzung ohne Benutzer fahren Sie mit dem Projekt des Arbeitsordners fort und sagen dies oben in der Zusammenfassung.
- Nichts zum Fortsetzen. Keine Notizen, Protokolle, Chats oder Commits: Sagen Sie dies in einem Satz und fahren Sie mit Schritt 6 fort, mit dem, was der Benutzer tun möchte.
Wie dasselbe Projekt über Quellen hinweg abgeglichen wird
Der Projektmanager, der Vault und, falls vorhanden, das Sitzungsprotokoll benennen Projekte jeweils auf ihre eigene Weise. Gleichen Sie sie anhand von Schlüsseln ab, in dieser Reihenfolge, und nicht anhand des bloßen Namens:
- Pfad. Wenn das Setup ein Sitzungsprotokoll schreibt, dessen Pfad gegen das
path:-Feld im Frontmatter der Vault-Notiz (D), wie es „Matching by path“ inreferences/session-log.mdbeschreibt. - Projektmanager-Link. Das Feld des Projektmanagers, das auf die Notiz verweist (in Notion z. B. ein Feld wie „Obsidian note“), gegen den Ordner der Notiz.
- Name. Groß-/Kleinschreibung-unabhängig und mit den Aliasen aus dem Memory.
Wenn ein Projekt im Projektmanager nicht mit seiner Notiz verlinkt ist, die Notiz aber existiert (sie stimmt durch Pfad oder Namen überein), sagen Sie dies in einer „Hinweis“-Zeile.
2. Quellen, in Lesereihenfolge
Zuerst, was Ihnen sagt, wie viel jede Notiz wert ist (was wirklich passiert ist und wann), dann, was Ihnen sagt, was als nächstes kommt, und schließlich das Warum.
B. Sitzungsprotokoll, optional. Wenn das Setup eines schreibt, folgen Sie references/session-log.md.
C. Git und das Remote. Nur mit einem Terminal im Repository. Folgen Sie dem „Quick git snapshot“ und der Kategorie „Actual state of git and the remote“ von references/claude-code.md.
C2. GitHub ohne Terminal. Verwenden Sie es, um zu bestätigen, was die lokalen Quellen nicht wissen können: ob ein Branch gepusht wurde, ob er einen Pull-Request hat und ob er gemergt wurde. Holen Sie sich owner/repository aus der Vault-Notiz des Projekts (url:-Feld oder eine github.com/...-Zeile), aus der CLAUDE.md oder, falls ein Sitzungsprotokoll vorhanden ist, aus seinen Merge pull request #N von <owner>/...-Commits.
- Überprüfen Sie zuerst, ob die Sitzung bereits Zugriff mit einem Lesevorgang hat:
gh api "repos/<owner>/<repo>/pulls?state=all&sort=updated&direction=desc&per_page=10". Verwenden Sie die REST-API (gh api repos/...):gh pr listkann fehlschlagen, weil GraphQL nicht immer verfügbar ist. Jeder PR hatcreated_atundmerged_at: Wann er eingegangen ist, wird durchmerged_atangegeben, nicht durch das Erstellungsdatum. - Wenn es antwortet, lesen Sie auch die Branches (
repos/<owner>/<repo>/branches) und die letzten Commits auf dem Haupt-Branch (repos/<owner>/<repo>/commits?per_page=5). Damit wird ein ungemergter Branch, den eine andere Quelle nennt, zu „hat offenen PR #N“, „gemergt“ oder „nicht auf dem Remote“. - Lesen Sie auch die CI des Haupt-Branches (
repos/<owner>/<repo>/actions/runs?branch=<main>&per_page=1). Wenn der letzte Lauf fehlgeschlagen ist, kommt er in „Ausstehend“; wenn er bestanden hat, erwähnen Sie es nicht, und wenn es überhaupt keinen Lauf gibt (das Repository hat keine CI), erwähnen Sie das auch nicht. - Wenn es antwortet, dass das Repository für die Sitzung nicht aktiviert ist, fügen Sie es nicht eigenmächtig hinzu: Der Zugriff auf ein Repository zu gewähren, ist nicht nur Lesen. Notieren Sie es in „Hinweis“ und bieten Sie es in Schritt 5 als Option an („Auf GitHub bestätigen“). Überspringen Sie es in einer Sitzung ohne Benutzer.
A. Projektmanager. Wenn die Anweisungen besagen, dass Status, Priorität oder nächster Schritt in einem Projektmanager (Notion oder einem anderen) leben, lesen Sie ihn: Er ist die Quelle dafür, was als nächstes kommt. Holen Sie sich die Datenbankadresse aus den Anweisungen oder der CLAUDE.md; suchen Sie nicht nach Namen, wenn Sie sie bereits haben.
- In Notion: Holen Sie sich das Datenbankschema und fragen Sie die Zeilen mit ihrem Link (
url), Name, Bereich oder Branch, Status, Priorität, Schlüsseldatum, nächstem Schritt und Notiz ab. - Archiviert. Entfernen Sie die Zeilen, die Notion archiviert hat, und, wenn die Datenbank auch ein eigenes Kontrollkästchen oder einen eigenen Status dafür hat (z. B. ein „Archiviert“-Kontrollkästchen oder einen „Geschlossen“-Status), auch diejenigen, bei denen dies gesetzt ist.
- Bearbeitungsdaten. Die Abfrage gibt nicht das Datum der letzten Bearbeitung zurück. Öffnen Sie die Seite der Zeilen, die Sie anhand einer anderen Quelle überprüfen werden, und in einem Dachprojekt auch die der Projekte, die die Anweisungen als kurzfristige Priorität markieren, selbst wenn sie kein Protokoll oder keine Notiz haben: So können Projekte ohne Code ebenfalls in „Wo Sie aufgehört haben“ landen.
- Massenbearbeitungen. Wenn mehrere Seiten in derselben Datenbank Bearbeitungsdaten haben, die nur wenige Sekunden auseinander liegen, war es eine Änderung, die an allen gleichzeitig vorgenommen wurde (ein neues Feld, ein Import, eine Vorlage), keine Arbeit an diesen Projekten. Verwenden Sie dieses Datum nicht als Aktivität: Lassen Sie diese Projekte undatiert, es sei denn, eine andere Quelle gibt ihnen ein Datum.
- Aufgaben. Wenn die Anweisungen eine Aufgabendatenbank nennen, holen Sie sich deren Schema und fragen Sie die unerledigten Aufgaben ab, die überfällig sind oder in den nächsten sieben Tagen fällig werden. Nur die von Projekten, die in der Zusammenfassung erscheinen, zählen: Die von pausierten, geschlossenen oder nicht in der Zusammenfassung enthaltenen Projekten sind nicht ausstehend, selbst wenn sie überfällig sind. Sie kommen in „Ausstehend“ unter dem Eintrag ihres Projekts, mit ihrem Datum. Fragen Sie für Prioritätsprojekte ohne nächsten Schritt auch ihre offenen Aufgaben ohne Datumsfilter ab (siehe unten).
- Aufgaben ohne Projekt. Sie kommen nicht in „Ausstehend“. Aber wenn eine mit einer „Hinweis“-Warnung übereinstimmt (z. B. eine Aufgabe, die Notizen zu verknüpfen, wenn ein Projekt seine eigene Notiz nicht verknüpft), nennen Sie die Aufgabe in dieser Warnung, anstatt sie als neuen Fund zu präsentieren.
- Eine Zeile ohne nächsten Schritt ist kein ausstehender Punkt: Erfinden Sie keinen. Wenn das Projekt ein Prioritätsprojekt ist, setzen Sie es in „Ausstehend“ als „kein nächster Schritt“. Wenn es offene Aufgaben hat, mit oder ohne Datum, nennen Sie die erste (die mit dem nächsten Datum oder die erste undatierte): „Kein nächster Schritt; offene Aufgabe: ". Dies sind Daten aus dem Projektmanager, kein Vorschlag. Priorität bedeutet das, was die Anweisungen als kurzfristige Priorität markieren, plus die erste ihrer langfristigen Prioritäten; wenn die Anweisungen keine Prioritäten setzen, die höchste Priorität im Projektmanager. Der Projektmanager, der „Hoch“ sagt, reicht nicht aus, wenn die Anweisungen andere setzen.
- Wenn sie nicht passen. „Ausstehend“ hat maximal fünf Elemente. Wenn es mehr einzubeziehende Projekte gibt, kommen die kurzfristigen und die mit einem nächsten Schritt oder etwas Halbfertigem zuerst; Prioritätsprojekte, die nur „kein nächster Schritt“ hinzufügen würden, werden zu einer „Hinweis“-Zeile zusammengefasst: „Kein nächster Schritt: X, Y und Z“.
- Wenn der Status des Projektmanagers eindeutig einer anderen, aktuelleren Quelle widerspricht (z. B. „Idee“ im Projektmanager und die Vault-Notiz mit erledigter Arbeit), sagen Sie dies in „Hinweis“ mit beiden Daten.
D. Obsidian Vault. Die Projektnotiz im Projekte-Ordner des Vaults (die Anweisungen oder die CLAUDE.md sagen normalerweise, welcher; in einem PARA-Vault z. B. 2 Projekte/<Projekt>/) und ihr updated:. Ihr path:-Feld, falls vorhanden, ist ein Schlüssel zum Abgleichen (siehe Schritt 1). Lesen Sie die Kopfzeile und die neuesten Einträge, nicht die gesamte Notiz. Es ist kein Skill erforderlich, um sie zu lesen. In Claude Code sagt die Referenz, wann ein Vault-Skill gestartet werden soll und wann nicht.
- Die
CLAUDE.mddes Repositorys. Wenn sie erreichbar ist (ein Terminal oder der Repository-Ordner verbunden), sind ihre Status- und Ausstehend-Abschnitte („Current state“, „Pending“) die zuverlässigste Liste ausstehender Punkte, die lokal verfügbar ist; lesen Sie nur diese Abschnitte. Mit einem Terminal folgen Sie den Anweisungen, die...
…
[gekürzt für die Übersetzung]