Gemeinsamer Richtlinien-Speicherort: docs/DISCOVERY.md, docs/WORKFLOW.md,
docs/LAUNCH-MIGRATION.md, docs/STANDALONE-ENTRY.md, docs/PROCESS.md, docs/using/README.md und docs/using/mirrors.md gehören zum aufgelösten Hatsu Plugin-Root,
nicht zum konsumierenden Repository. Verwende bei einer installierten Oberfläche den absoluten Root, der von ten ausgegeben wird, um diese Dateien zu lesen (bei Nichtverfügbarkeit über diesen Skill neu auflösen). Relative Links unten identifizieren Quellverzeichnisse; eine fehlende docs/-Kopie des Konsumenten ist keine fehlende Richtlinie und darf keine doppelte Meldung auslösen. Kopiere oder erfinde niemals eine zweite Richtlinie im Ziel-Repository.
Ren — eine Anfrage, ein Turn, jedes Mal
Kein fester Modus. Ren ist ein zusammengesetzter Lauf: der Modus ist der der Anfrage —
Enhancer für Produktcode, Conjurer für Kanon, Transmuter für Maschinerie — für den Turn gehalten
und in der Antwort benannt, mit Manipulator daneben benannt, während die Berichtsschritte des Turns
laufen. Benenne den aktiven Modus, sage, wann er wechselt und warum, und vermische niemals zwei unter einer Überschrift
(claude/agents/kurapika.md).
Nimm die Anfrage an. Wärme auf, wenn dies die erste ist, schreibe sie, beweise und committe sie, handhabe den Launch, zeige mir den Bericht, läute einmal. Dann warte.
Ren ist die Form der gewöhnlichen Arbeit in der lokalen Ebene. Es ist weder ein Batch-Runner noch ein Watcher: ein Aufruf ist eine Anfrage, und eine Anfrage ist ein Turn. Die Schleife ist, dass die nächste Anfrage den nächsten Turn startet, mit dem bereits abgeschlossenen Aufwärm-Schritt.
Diese Datei setzt zusammen. Sie spezifiziert nicht neu. Jeder Schritt unten gehört einem anderen Skill, benannt und verlinkt, und seine Prozedur, seine Exit-Code-Reaktionen, seine Verweigerungen und seine Rückstände leben dort. Wenn du hier eine Regel findest, die wirklich die eines anderen Skills ist, ist sie in der falschen Datei – lies sie dort, wo sie geschrieben ist, denn eine Regel, die an zwei Orten wiederholt wird, driftet in einem von ihnen.
1. Aufruf
P1 — dieser Lauf beginnt mit $ten ren (ten § 6 fängt die fehlenden
Voraussetzungen dieser Phase unter seinem eigenen Namen auf; die Phasen, die dieser Lauf aufruft, überspringen ihre).
$ren <anfrage> [--profile fast|standard|thorough]
nen parse ren --grammar "<anfrage> [--profile <profile:fast|standard|thorough>]" \
--line "<die Anfrage, ohne das $ren-Präfix>"
profile: (Klausel fehlt) bedeutet profile.default (§ 2a); die Wörter "schneller Turn" oder "gründlicher Turn"
innerhalb der Anfrage werden als dieselbe Überschreibung gelesen.
Verifiziert live unter v0.3.0 (docs/ab/ren.md § 2.1): eine Anfragezeile wird zu
request: <die gesamte Zeile> bei Exit 0 geparst, und eine leere Zeile verweigert bei Exit 2 — " wird
benötigt und die Zeile liefert sie nicht" — mit der korrigierten Zeile ausgegeben. Ein Turn ohne Anfrage wird
niemals daraus abgeleitet, was die Sitzung zuletzt getan hat – es wird als Freitext erfragt: die Anfrage ist das Wort des
Maintainers (Reihe missing-maintainer-choice, aufgezeichnet durch nen stop answer,
docs/WORKFLOW.md § 4 Das Wort des Maintainers wird niemals abgeleitet), daher
werden alle Lesarten, die die Sitzung vorschlägt, als Referenz aufgelistet, keine markiert und keine als Picker-Option, und der Turn
läuft mit dem, was der Maintainer eingibt.
Ren ist auch die Standardform, nicht nur ein expliziter Aufruf. In einem Repository, dessen
nen/workflow.json diese Schleife beschreibt, ist eine normale Anfrage des Maintainers ein Ren-Turn;
sage dies beim ersten, damit niemand vom Bericht und der Glocke am Ende überrascht ist.
2. Der Turn, in der Reihenfolge
| # | Schritt | Der Skill, dem er gehört | Warum er hier ist |
|---|---|---|---|
| 1 | aufwärmen | $breath | Isolation bei jedem Eintritt binden/neu verifizieren unter WORKFLOW § Wo Worktrees leben vor Ten-Catch-up oder Mutation; einen frischen Branch einmal pro neuem Effort in diesem Checkout wärmen und beweisen – der eigene Harness-Worktree der Sitzung bei beobachteter Hook-Verweigerung (HR-374). Explizite Fortsetzungen verwenden nur den verifizierten, effort-eigenen Worktree wieder. Ein roter Basisstand ist ein G5 vor dem Schreiben; ebenso eine widersprüchliche Klausel in seiner Konstitutionsprüfung (breath § 4a), aufgezeichnet im Ledger-Eintrag dieses Schritts |
| 2 | die Änderung schreiben | $rasengan | schreibe, was der Maintainer verlangt hat, auf dem Stack, den dieses Repository deklariert: die Änderungen, die Tests daneben, die Dokumentation und das Changelog, die seine Konventionen schuldet – mit den deklarierten iteration.checks, die als das eigene Feedback des Autors laufen, während die Arbeit vor ihm liegt |
| 3 | verifizieren und committen | $kokusen | jedes kostengünstige iteration.checks-Verb und die deklarierten fokussierten Tests über den fertigen Baum, rot verweigert; dann Triage, eine Nachfrage zu dem, was markiert ist, ein geformter Commit – nur lokal |
| 4 | Launch | $amaterasu | ein isolierter Effort meldet den Dry-Run-Befehl und zeichnet core launch deferred; explicit maintainer call required auf, fährt dann ohne Nachfrage fort, selbst wenn seriell. Kein Ziel → no launch target declared; skipped. Ein Core-Launch bewegt niemals das Authoring oder die Auslieferung aus seinem gebundenen Worktree |
| 5 | Bericht | $spiritual-message as turn | die Seite: erreicht, Herausforderungen, nicht ausgeliefert, Architektur, Screenshots, der genaue Launch-Befehl, Entscheidungen |
| 6 | Glocke | $jutaisho (§ 1 entscheidet, ob die Bitte der Seite sie zu einem Stopp macht) | die Sprossen, die der Workflow deklariert – und nur ein Stopp, wenn einer tatsächlich fällig ist |
Schritt 2 ist die Änderung selbst, und er hat aufgehört, halb nummeriert zu sein, am 2026-09-10. Diese Tabelle trug früher einen Schritt
1.5— "die Arbeit", der keinem Skill gehörte – neben einem Schritt 2 namens Build, derrasenganals führe den Build-Befehl aus las, nicht baue das Ding. Die Entscheidung des Maintainers (docs/ROSTER.mdHR-55) klärt es:rasenganIST die Authoring-Phase, also hat die Arbeit einen Skill, die sechs ganzen Zahlen sind wieder sechs Skills, und das Kompilieren-vor-Commit sitzt bei der Phase, die den Baum bereitstellt.
Die Reihenfolge ist an fünf Stellen tragend, und diese fünf sind die einzigen, die Ren behauptet:
- 1 vor 2 — kein Authoring auf einer unverifizierten Basis. Breath schneidet den Branch von
origin/<branch.base>'s frisch geholter Spitze ab und beweist die deklarierten Prüfungen darauf, sodass die erste Zeile der Änderung auf einem Baum landet, der bereits als buildbar bekannt ist, und das erste Rot, das jemand sieht, eines ist, das dieser Effort verursacht hat. Eine rote Basis-Spitze ist ein G5-Stopp dort, bevor eine Zeile geschrieben wird; sie wird niemals innerhalb dieses Efforts repariert. Dasselbe gilt für die Konstitutionsprüfung von breath § 4a, deren Tor breath § 6 angibt (WORKFLOW.md§ Die Konstitutionsprüfung). - 2 vor 3 — nichts wird committed, was nicht in diesem Turn geschrieben und darin verifiziert wurde. Rasengan schreibt die Änderung und hält seine eigene innere Schleife ehrlich; kokusen führt dann die deklarierten Prüfungen über den fertigen Baum aus und verweigert den Commit bei Rot. Die beiden Läufe sind keine Duplikation: der Baum bewegt sich mit jeder nach der letzten Prüfung des Autors geschriebenen Zeile, daher ist der einzige Lauf, auf den ein Commit sich stützen kann, der von der Phase, die den Index hält. Wo ein Turn iteriert (schreiben, prüfen, erneut schreiben), iteriert Schritt 2 mit sich selbst, und Schritt 3 wird einmal betreten.
- 3 vor 4. Die Launch-Behandlung folgt dem committeden Ergebnis; Isolation autorisiert keinen Core-Launch. Ein verzögerter Befehl ist keine Demonstration des Baums dieses Efforts.
- 4 vor 5. Der Bericht unterscheidet einen verzögerten Dry-Run-Befehl von tatsächlich ausgeführten argv.
- 5 vor 6. Die Glocke trägt den Link des Berichts. Eine Glocke, die läutet, bevor die Seite existiert, sendet den Maintainer ins Nichts.
Die Phasen, die dieser Verbund aufruft, ÜBERSPRINGEN ihre eigenen ## 0. Standalone-Entry-Abschnitte. docs/STANDALONE-ENTRY.md ist der
Vertrag für eine Phase, die von Hand in einen beliebigen Checkout getippt wird; eine Phase, die von hier erreicht wird, erbt P1–P4
von diesem Lauf — das Aufwärmen, die Orientierung, den Änderungssatz und jedes abgeleitete Argument — und
ein erneutes Ableiten würde eine zweite Antwort auf eine Frage erzeugen, die dieser Verbund bereits beantwortet hat. Jede Phase
sagt, welcher Verbund sie stattdessen hält.
Innerhalb von Schritt 1, einmal pro klassifiziertem Effort, läuft $direct — für einen Effort, der
ein Issue benennt (<CODE>#<N> in der Anfrage) oder eine bereits gekennzeichnete Textklassifikation — mit den
--surface, --model und --effort dieser Sitzung (unread, wo der Harness einen verbirgt), genau wie build § 2b es tut;
sein § 6 besitzt den Vergleich und die eine Nachfrage, und das getippte $ren ist bereits die Entscheidung, hier zu arbeiten, daher
blockiert es niemals. Seine Antwort B beendet diesen Turn, nicht die Schleife: die Schritte 5 und 6 laufen immer noch und der Bericht nennt
die Neustartzeile. Ein Effort ohne job/-Label ist undirectable, eine Zeile, und der Turn geht weiter. Es ist kein siebter Schritt und
behauptet keine eigene Reihenfolge: es liest innerhalb des Aufwärmens, fragt höchstens einmal, schreibt nichts — und sein § 7-Veröffentlichungsschritt
läuft hier nicht: Ren kann die Maschine nicht verlassen (§ 3), also bleibt das Urteil im Bericht und dem lokalen
Ledger, und direct.publish agiert nur unter build, file (sobald eingereicht) oder standalone.
Aufwärmen läuft einmal pro Effort; die Checkout-Auswahl wird bei JEDEM Eintritt geprüft. Spätere Turns und
PR-Phasen verifizieren den gebundenen absoluten Effort-Pfad unter $hatsu_root/docs/WORKFLOW.md § Wo Worktrees leben
vor Schritt 2 oder einem Catch-up neu. Melde den Pfad, den Status des ursprünglichen Prompt-Verzichts und ob Breath
aufgewärmt oder nur neu verifiziert hat. Fortsetzung umgeht niemals die Isolation.
Eine neue Anfrage ist ein neuer Effort, es sei denn, der Aufrufer setzt den aktuellen explizit fort. Auf einem
sauberen Feature-Branch von einem vorherigen Effort zu sitzen, ist keine Fortsetzung
(zheref/hatsu#60; $breath
§ 2a). Breath läuft trotzdem, holt die konfigurierte Basis und schneidet einen neu erstellten Branch
ab. Wiederverwendung erfolgt nur für ein explizites "fortsetzen" / "gleicher Effort" / "auf diesem Branch", oder für
Turn 2+ einer Schleife, deren Schritt 1 bereits diesen Branch in dieser Sitzung abgeschnitten hat.
Wenn ein späterer Turn dieses Efforts oder $mukai erneut
$hanten betritt, wird dasselbe Zyklus-Ledger wiederverwendet —
.nen/hanten/<branch-slug>.cycle.json. Korrektur setzt Reviewer-Zähler nicht zurück.
Breath, das einen neuen Branch abschneidet, ist der einzige neue Zyklus
(zheref/hatsu#63; hanten § 2a).
2a. Profile und das Phasen-Ledger
profile.default in nen/workflow.json formt den Turn (standard wenn nicht vorhanden); § 1's
--profile überschreibt es, ein Wert außerhalb von profile.allowed wird mit der erlaubten Liste als
Optionen des Pickers erneut erfragt, und die erste Zeile des Turns nennt das aktive Profil.
| Profil | Was in § 2 ändert sich |
|---|---|
fast | Schritt 1 verifiziert die Bindung; Aufwärmen läuft trotzdem einmal; Schritte 2 und 3 wie deklariert; Schritt 4 übersprungen, Launch-Zeile deferred by profile fast; isolation still requires an explicit maintainer core-launch call; Schritt 5 rendert --variant turn-fast |
standard | der heutige Turn, wie in der obigen Tabelle angegeben |
thorough | standard, und nach Schritt 3 laufen kotoamatsukami's betroffene Suiten, bei jedem Turn |
Ein Profil entscheidet, welche Schritte laufen und welche Variante Schritt 5 rendert, niemals, was innerhalb eines
Schritts passiert. Die Schritte 2 und 3 laufen, wie ihre Skills es sagen, unter jedem Profil. Unter
fast werden die betroffenen Suiten nicht ausgeführt (sie gehören mukai, Schritt 4 dort); unter
thorough laufen kotoamatsukamis betroffene Suiten nach Schritt 3, wobei Ren der dritte Aufrufer dieses Skills ist. Der Launch wird übersprungen, nicht verschoben:
Mukai hat keinen Launch-Schritt, und amaterasu § 1a sagt, wie ein übersprungener Launch
aufgenommen wird. Abdeckung wird von keinem Ren-Profil erfasst; das ist byakugan's bei Mukai.
Ein Landing (mukai) läuft immer thorough, unabhängig von den zuvor benannten Turns.
Jeder Schritt ist ein Ledger-Eintrag (WORKFLOW.md § Die Ledger des Efforts besitzt den
Mechanismus; was Rens ist, ist welche Schritte und wann). Vor einem Schritt: nen phase begin --effort <branch> --phase <schritt-name> --surface <s> [--model <gemeldetes-modell>] --dial <ebene>; wenn das Modell eine vom Harness gemeldete
geservte ID ist, füge --note "model-kind=served; registry alias <alias>" hinzu (WORKFLOW § Die Ledger des Efforts); beim ersten Phasen-Eintrag
nen session record mit dem Titel/der ID des Harness, wenn verfügbar, einmal pro Sitzung; nach einem Schritt: nen phase end --effort <branch> --phase <schritt-name> --exit <code>, sodass .nen/phases/<effort>.json einen zeitgestempelten Eintrag pro Phase trägt, einen
verweigerten Schritt eingeschlossen. Der end von Schritt 1 trägt breath § 4a's Aufzeichnung als sein --note, zusammengesetzt mit
der Notiz, mit der Schritt 1 begann, weil end --note sie ersetzt (das --begin-note des Skripts; WORKFLOW
§ Die Konstitutionsprüfung, Schritte 3, 5 und 6, besitzt die Formulare). Die Prüfung ist kein eigener Eintrag,
also bleiben die sechs Schritte sechs Einträge (HR-58). Der Nutzungs-Eintrag wird bei Schritt 5 aufgezeichnet: nen usage record --effort <branch> --surface <s> [--model] --dial <ebene> [--input] [--output] [--cache-read] [--cache-write] [--minutes] aus
der eigenen Kostenauslese der Oberfläche, --not-reported bei einer Oberfläche, die keine bereitstellt.
Ein fortgesetzter Effort liest, bevor er schreibt (zheref/hatsu#444, zheref/hatsu#445; nen 0.28, der Pin). Ein Effort, dessen
Branch bereits ein Phasen-Ledger hat oder ein PR, ist eine Fortsetzung: zuerst, wo ein PR existiert — der offene: eine Nachfolgenummer, niemals der PR, den eine Basis-Löschung geschlossen hat (en § 6) — nen pr ledger read --target <owner/name> --pr <n> --effort <branch> --repo <checkout> --json, füge --restore nur hinzu, wo
nen phase show kein lokales Ledger findet; dann nen phase show --effort <branch> --json. WORKFLOW § Die
Ledger des Efforts, Die dauerhafte Scheibe, besitzt die Urteile und die eine Zeilen-Überspringungsform; ein übersprungener
breath-Eintrag wird vor Schritt 2 gelesen (WORKFLOW § Die Konstitutionsprüfung, Schritt 7). Pro Phase, in der Reihenfolge:
beendet mit Exit 0 → **Rückmeldung nicht finden; einen neuen, frischen Code auschecken und neu starten. Der Assistent gibt eine Zusammenfassung des Fehlers.
Der Rest des SKILL.md wurde aus Platzgründen gekürzt, aber die Übersetzung folgt dem gleichen Muster.