Projekte
Projekte sind Vorhaben mit einem definierten Ziel und einem Endzustand – im Gegensatz zu Bereichen (Areas), die fortlaufend sind. Ein Projekt ist ein Ordner im Vault, gepaart mit einem Projekt im Aufgaben-Backend:
Der Ordner enthält die Bedeutung des Projekts, das Backend seine Aufgaben (tasks.md).
Jeder Aufgabenaufruf ist eine Operation aus tasks.md, ausgeführt gemäß dem Adapter für TASKS.
Basis-Schicht
Vor dem Handeln lesen, jeweils als ../../para/<datei>.md relativ zum Basisverzeichnis dieses Skills – diese enthalten die gemeinsamen Regeln, sie nicht aus dem Gedächtnis wiederholen:
../../para/paths.md– immer, einschließlich »Sprache«: die folgenden Zeichenketten stammen auslang/<LANG>.md../../para/tasks.md– immer: die Operationen, die Paarung, was eine Aufgabe ist../../para/find-target.md– füroverviewundtask../../para/note-format.md– fürcreate; für jeden Unterbefehl, »Legacy-Felder«../../para/project-id.md– fürcreate../../para/dod.md– fürcreate(Schreiben des Abschnittsproject.dod) undoverview../../para/thresholds.md– fürlistundoverview: Projekt-Reihenfolge, Veralterung, Horizonte, Aufgabenzählungen, Ausgabegröße../../para/confirm.md–createundtaskschreiben (Stufe 1);listundoverviewschreiben nichts../../para/move.md– fürcreate, vor dem Schreiben eines Ordners, der kollidieren könnte
Unterbefehle
Das erste Wort von $ARGUMENTS wählt den Unterbefehl: list, create, overview,
task. Wenn es keiner davon ist, ermitteln, welcher aufgrund des Wortlauts gemeint ist, und sagen, welchen du gewählt hast. Leeres $ARGUMENTS → list ausführen, dann fragen, was zu tun ist.
Jeder Unterbefehl begegnet Projekten, die älter sind als das Aufgaben-Backend: status, Tasks/ (note-format.md sagt, wann das Legacy ist), kein tasks_ref-Feld. Lesen wie note-format.md »Legacy-Felder« es sagt – berichten, niemals
umschreiben.
create <beschreibung> – ein Projekt starten
Eingabe: was das Projekt ist, sein Ziel, Frist, erste Schritte. Leer → fragen, was das Projekt ist und sein Ziel.
-
Templates/Project.mdvon der Festplatte lesen, wortwörtlich. -
Einen Titel ableiten gemäß
note-format.md. Er wird auf drei Arten verwendet: alstitleund die H1 ohne den ID-Präfix, und – mit dem Präfix – als der Ordnername und der Übersichts-Dateiname.shortvorschlagen gemäßnote-format.md. -
Die ID ausstellen gemäß
project-id.md. -
Die Ordnerstruktur erstellen unter
Projects/:PROJ-xxxx <titel>/ ├── PROJ-xxxx <titel>.md ← Übersicht, von Templates/Project.md ├── Notes/ ├── Resources/ └── Results/Alle drei Unterordner, auch wenn leer. Kein
Tasks/(unterTASKS = fileserstellt der Adapter ihn mit der ersten Aufgabe). -
Das Frontmatter ausfüllen gemäß der Projekt-Zeile in
note-format.md.createdist heute.deadlinenur, wenn die Beschreibung eine angibt.tasks_refbleibt leer bis Schritt 7 (unterpairing: nonewird das Feld weggelassen). -
Den Textkörper ausfüllen:
- der Abschnitt
project.goal– das Ziel / der gewünschte Endzustand. Erforderlich. - der Abschnitt
project.value– was der Nutzer gewinnt, messbar oder eindeutig (note-format.md, »Drei Abschnitte über das Ergebnis«). Erforderlich. Wenn entweder dieser oderproject.goalaus der Eingabe nicht klar hervorgeht, beide in einer Frage erfragen (confirm.md, Stufe 1.5) vor dem Schreiben. - der Abschnitt
project.problem– was das Projekt ausgelöst hat. - der Abschnitt
project.expected_result– die konkreten Artefakte und wo sie abgelegt werden. - der Abschnitt
project.scope– nur die vom Nutzer genannten Elemente. Normalerweise leer: die Recherche-Aufgabe füllt ihn (tasks.md»Die Recherche-Aufgabe«). - der Abschnitt
project.dod– Kontrollkästchen gemäßdod.md. Wenn die Beschreibung keine echten Prüfungen ableiten lässt, fragen – wie bei einem fehlendenproject.goal. - der Abschnitt
common.links– Wikilinks zu klar verwandten Notizen, sonst das Template's-.
- der Abschnitt
-
Das Pendant erstellen gemäß
tasks.md»Paarung«:project.createmit dem Titel und der ID. Unterpairing: separatedie zurückgegebenerefintasks_ref:schreiben; wenn der Aufruf fehlschlägt, dies mitteilen: der Ordner bleibt, ungepaart, und/projects taskwird später anbieten, ihn zu paaren. Unterpairing: nonegibt es kein Pendant und keintasks_ref: das Schreiben überspringen. -
Erste Aufgaben im neuen Projekt, ohne Daten:
- die Recherche-Aufgabe gemäß
tasks.md»Die Recherche-Aufgabe«, immer, es sei denn, der Nutzer hat den vollständigen Umfang bereits genannt – dann stattdessen in denproject.scope-Abschnitt schreiben; - Schritte, die der Nutzer explizit genannt hat, hinzugefügt mit
task.addund formuliert gemäß »Was eine Aufgabe ist«. Ein Schritt, der nicht als Aktion formuliert werden kann, ist eine Frage für die Recherche, keine Aufgabe.
Niemals Schritte erfinden, die der Nutzer nicht genannt hat.
- die Recherche-Aufgabe gemäß
-
Berichten: den Pfad des Ordners, ID, Titel,
short(mit dem Angebot ihn zu ändern), Frist, Ziel, die Wertzeile, den Namen des Backend-Projekts und die erstellten Aufgaben.
Wenn die Eingabe eine fortlaufende Verantwortung ohne Ende beschreibt, ist dies kein Projekt –
dies mitteilen und /areas create stattdessen anbieten. Wenn es eine Idee ist, die der Nutzer nicht
entschieden hat anzunehmen, mitteilen, dass es noch kein Projekt ist (tasks.md »Paarung«) und
danbieten, es im Posteingang zu belassen (inbox.name).
task <projekt> <aufgabe> – eine Aufgabe hinzufügen
- Das Projekt finden gemäß
find-target.md, Operation »Aufgabe zu einem Projekt hinzufügen«. Das Ziel kann auch ein Bereichsprojekt ausAREA_TASK_PROJECTSinareas.mdsein – nach Namen abgleichen. - Auflösen, wohin es geht: ein Bereichsprojekt →
area; andernfalls dietasks_refder Übersicht →project_ref(unterpairing: noneist der Projektordner dierefund dieser Schritt ist lediglich das Projekt).pairing: separateund keintasks_refin der Übersicht → dietask.unpaired-Zeichenkette ausgeben und anbieten, das Pendant zu erstellen (Schritt 7 voncreate). Bei Bestätigung das Pendant erstellen, dann fortfahren. Niemals die Aufgabe stattdessen in den Vault schreiben.
- Die Aufgabe formulieren gemäß
tasks.md»Was eine Aufgabe ist«. Wenn die Formulierung des Nutzers bereits passt, behalten; andernfalls die umformulierte Version in der Ankündigung vorschlagen. Wenn es keine Aktion sein kann, nach dem nächsten Schritt fragen (Stufe 1.5). task.addmitproject_refoderarea(unterTASKS = filesist ein vergebener Basisname ein Konflikt:note-format.md»Namenskonflikte«, nachfragen, kein stiller Suffix): den Text, eine Beschreibung für alles Längere,durationnur, falls angegeben. Die Datumsregel isttasks.md»Felder«.- Berichten: die Aufgabe und das Projekt.
overview <projekt> – der Stand des Projekts
Schreibgeschützt. Schreibt nichts – weder in den Vault noch ins Backend. Wenn die Zusammenfassung etwas offenbart, das es zu beheben lohnt, dies sagen und den Nutzer entscheiden lassen.
-
Das Projekt finden gemäß
find-target.md, Operation »Bericht erstatten über«. Ohne Argument die Projekte auflisten und nachfragen. -
Die Übersichtsnotiz lesen: Frontmatter und die Abschnitte
project.goal,project.value,project.expected_result,project.dod,common.links. Ein leeres Feld wird als leer gemeldet, niemals durch Rückschlüsse ausgefüllt. -
Die Aufgaben lesen (
task.list, offen): ihre Daten und Dauern. Die Anzahlen berechnen gemäßthresholds.md»Aufgabenzählungen«. Unterpairing: separate, kein Pendant → überspringen, und dietask.unpaired-Zeichenkette ausgeben. -
Notes/lesen (undResults/, falls etwas darin ist) vollständig, bis zum Limit inthresholds.md– hier liegen tatsächlich Entscheidungen und Risiken. -
Legacy. Wenn die Übersicht
status/priority/value/estimateträgt oder der Ordner ein altesTasks/hat (note-format.md), eine Zeile hinzufügen, dieoverview.legacy-Zeichenkette mit{fields}, z.B.status, Tasks/ (3 Dateien)(die Ordneranzahl ist dieoverview.legacy_tasks-Zeichenkette), nur benennen, was vorhanden ist. Aufgaben-Notizen nicht auf Fortschritt prüfen; die Migration entscheidet, was überlebt. -
Signale – nur die melden, die zutreffen:
- die
deadlinedes Projekts liegt in der Vergangenheit oder innerhalb des Horizonts inthresholds.md; - überfällige Aufgaben – um wie viele Tage angeben;
- nichts eingeplant, während die Frist innerhalb des Horizonts liegt;
- datierte Aufgaben ohne Dauer;
- länger als der Projektschwellwert in
thresholds.mdkeine Aktivität, gemessen wie dort angegeben (project.activitybei Paarung, ansonsten mtime, gemäßthresholds.md); - lose Wikilinks im Abschnitt
common.links; - alle Akzeptanzkriterien abgehakt, während das Projekt noch in
Projects/ist – abgeschlossen und nicht geschlossen.
- die
-
Im Chat ausgeben, in
SPRACHE. Die Bezeichnungen sind Zeichenketten auslang/<SPRACHE>.md, benannt in der Vorlage unten nach Schlüssel in geschweiften Klammern; hier mit den englischen Zeichenketten:## PROJ-0001 · Project A **{overview.area}** Area A · **{overview.deadline}** 2026-10-31 — 14 Tage **{overview.tasks}** {count.scheduled} 3 · {count.overdue} 1 · {count.backlog} 6 **{overview.acceptance}** ☑☐☐ 1/3 ### {overview.essence} <Das Ziel, 1–2 Sätze.> <Das erwartete Ergebnis – eine Zeile.> <Der Wert – eine Zeile.> ### {overview.scheduled} - **Dem Lieferanten eine E-Mail schreiben** — Di 10-21, 30 Min - **Das Formular ausfüllen** — um 2 Tage überfällig, 1 h ### {overview.backlog} - Einen Termin vereinbaren - …und 3 weitere ### {overview.digest} - <Eine wichtige Entscheidung oder Schlussfolgerung aus Notes/ – in eigenen Worten.> ### {overview.signals} - Frist in 14 Tagen, nichts eingeplantDie geschweiften Klammern sind Schlüssel, kein wörtlicher Text: die Zeichenkette ausgeben, für die jeder Schlüssel steht. Daten sind das
common.date-Format (2026-10-31;10-31in der Kurzformcommon.date_short, verwendet mit einem Wochentag auscommon.weekdaysin einer Aufgabenzeile); die Tage bis zur Frist sindcommon.days; Einheitenkürzel sindcommon.unit.*; eine überfällige Aufgabe trägt dietask.overdue_by-Zeichenkette; der Backlog-Rest ist dieoverview.backlog_more-Zeichenkette ({n}= nicht angezeigte Aufgaben). Deroverview.backlog-Abschnitt zeigt die ältesten undatierten Aufgaben bis zum Limit inthresholds.md. Jeden Abschnitt oder jedes Feld weglassen, das leer wäre. Ein leeresResults/ist ein normaler Zustand.
list – die Projekte
Schreibgeschützt. Eine Zeile pro Projekt – der Index, keine Zusammenfassung: niemals Notes/ öffnen.
-
Die Ordner direkt unter
Projects/auflisten. Archivierte Projekte werden nicht aufgelistet – das ist/archive list. -
Das Frontmatter der Übersicht lesen:
id,title,area,deadlineund unterpairing: separatetasks_ref. Ein Ordner ohne Frontmatter ist vor der Konvention – nach Ordnername mit dercommon.no_metadata-Zeichenkette ausgeben. -
Die Aufgaben jedes Projekts mit einer
reflesen (task.listmitproject_ref, offen), gezählt gemäßthresholds.md»Aufgabenzählungen«. -
Ordnen gemäß
thresholds.md»Projekt-Reihenfolge«. -
Ausgeben, in
SPRACHE, mit denlist.*-,count.*- undtask.unpaired-Zeichenketten – die Zeile ist kurz, daher ist die Backlog-Anzahlcount.backlog_short(Kopfzeilelist.header, Fristlist.untilmit dem Datum incommon.date_shortund, innerhalb des Horizonts vonthresholds.md,(14 d)dahinter: die verbleibenden Tage undcommon.unit.day); hier mit den englischen Zeichenketten:**Projekte (4)** 1. PROJ-0008 Project A — Area A · bis 10-31 (14 d) · eingeplant 2 · Backlog 3 2. PROJ-0020 Project B — bis 10-31 (14 d) · eingeplant 0 · Backlog 3 3. PROJ-0009 Project C — Area B · bis 02-28 · kein Pendant im Aufgabenmanager · altes Format 4. PROJ-0027 Project D — Backlog leer Kein Pendant im Vault: „Project E“- Eine abgelaufene Frist: die
list.deadline_passed-Zeichenkette. - Die
list.legacy-Zeichenkette, wenn Legacy-Felder vorhanden sind oder ein altesTasks/existiert. - Ein Projekt mit leerem Backlog: die
list.backlog_empty-Zeichenkette. - Die letzte Zeile (
list.orphans) nennt Backend-Projekte, auf die keine Übersicht zeigt, gefunden alstasks.md»Anmerkungen zur Tabelle«,project.list, sagt. Weglassen, wenn leer oder wenn der Adapterproject.listnicht unterstützt. - Jedes leere Feld weglassen, anstatt einen Platzhalter zu drucken. Ein leeres
Projects/ist eine gültige Antwort: es klar sagen.
- Eine abgelaufene Frist: die
Archivierte und vor der Konvention liegende Projekte
Projekte in Archive/ können älter sein als die Konventionen: kein Frontmatter, kein PROJ-xxxx-
Präfix, keine Unterordner. Den Abschnitt project.goal aus der Notiz lesen, den Aufgabenabschnitt
und overview.acceptance überspringen und klar sagen, dass es archiviert und im alten Format ist.
Hinweise
- Berechnen, nicht schätzen: Tageszählungen, Aufgabenzählungen und Überfälligkeitsspannen stammen vom Backend, den Dateien und dem heutigen Systemdatum. Wenn etwas nicht berechnet werden kann, weil ein Feld leer ist, sagen, dass es leer ist, anstatt zu raten.
- Eine Zusammenfassung berichtet über den Zustand; sie bewertet den Nutzer nicht. „um 5 Tage überfällig“, nicht „du hast das Projekt aufgegeben“.
- Alles in
SPRACHE, Aufgaben eingeschlossen.