CommunityCodierung & Entwicklunggithub.com

zheref/aka

Den Branch ausliefern — vor dem Umschreiben der Geschichte gyo (linten), nur ungepushte Commits squashen, den Base darunter legen, erneut linten falls das Einholen den Tree verändert hat, und pushen. Die gesamte Fähigkeit läuft nur auf den Aufruf des Maintainers zum Veröffentlichen. Sie führt niemals projektweite Tests oder Coverage durch; diese gehören zu mukai durch kotoamatsukami und byakugan.

Was ist aka?

Aka ist eine Fähigkeit (Skill) für KI-Agenten, die den Prozess des Veröffentlichens (Push) eines Arbeitsbranches verwaltet, nachdem Änderungen lokal vorbereitet wurden. Sie führt eine Lint-Prüfung (gyo) durch, squash nur unveröffentlichte Commits, rebased auf den aktuellen Basis-Branch, lint erneut falls nötig, und pusht das Ergebnis. Der Zweck ist, den Push als explizite, bewusste Entscheidung des Maintainers zu isolieren, ohne dass der Agent proaktiv dazu auffordert. Aka öffnet keine Pull-Requests (das ist Aufgabe von mukai) und führt keine Tests oder Coverage-Analysen durch. Die Fähigkeit unterstützt die Plattformen Claude Code, Cursor und Codex über das Hatsu-Framework und ist die erste Fähigkeit im Ablauf eines Wired Runs, die den lokalen Arbeitsbereich verlässt und eine Änderung für andere sichtbar macht.

Funktioniert mit✓Claude Code✓Codex CLI✓Cursor
npx skills add https://github.com/zheref/hatsu/tree/HEAD/claude/skills/aka

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

Standort der gemeinsam genutzten Richtlinien: 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 zur aufgelösten Hatsu-Plugin- Wurzel, nicht zum konsumierenden Repository. Auf einer installierten Oberfläche verwenden Sie die absolute Wurzel, die von ten ausgegeben wird, um diese Dateien zu lesen (lösen Sie ggf. durch diese Fähigkeit erneut auf). Relative Links weiter unten kennzeichnen Quellorte; eine fehlende docs/-Kopie im Konsumenten ist keine fehlende Richtlinie und darf kein Doppelfiling auslösen. Kopieren oder erfinden Sie niemals eine zweite Richtlinie im Zielrepository.

Aka — der Branch geht raus

Natur: Manipulator. Pushen ist per Definition ein Git-seitiger Vorgang auf gemeinsamem Zustand, unabhängig davon, welche Natur den Diff erstellt hat.

Linten, nur nicht veröffentlichte Historie falten, den Base darunter legen, erneut linten, wenn das den Tree verschoben hat, und genau diesen Tree auf das Remote legen. Kein PR. Keine projektweiten Tests.

Aka ist der erste menschliche Aufruf in der lokalen Ebene. Alles davor — hatsu:ren 's Züge, hatsu:kokusen 's Commits — geschieht ohne Nachfragen, weil nichts davon die Maschine verlässt. Aka ist der Punkt, an dem die Arbeit zu etwas wird, das eine andere Person abrufen kann, und diese Grenze zu überschreiten ist Sache des Maintainers.

Es öffnet keinen Pull-Request. Das ist hatsu:mukai 's Lauf und hatsu:shibari 's Schritt darin. Aka endet mit einem gepushten Branch und nichts anderem, bewusst: ein Push und ein PR sind zwei Entscheidungen, und wenn man sie zusammenfasst, wird eine von ihnen unfragbar.


0. Standalone-Einstieg — diese Fähigkeit war IMMER Sache des Maintainers

Aka hat keinen verdrahteten Einstieg. § 1 sagt es bereits: Die gesamte Fähigkeit läuft nur auf den Aufruf des Maintainers zum Veröffentlichen, und Agenten schlagen sie niemals vor. Der erste Ausnahmefall, die Entscheidung des Maintainers vom 28.09.2026 (b) (docs/ROSTER.md § Entscheidungen vom 26./27./28.09.2026): ein then-Schritt, der diese Fähigkeit in einem typisierten futon-Aufruf benennt, ist der Veröffentlichungsaufruf des Maintainers — den vorausgehenden Zug mugetsu § 3 definiert — immer noch nie nachgefragt, nie vorgeschlagen. docs/STANDALONE-ENTRY.md § 6 nennt sie unter den Phasen, die ein Bericht, eine Glocke, die Optionen eines Stopps und ein Composite niemals anbieten dürfen — und ein Standalone-Lauf ist genau der Ort, an dem ein solches Angebot so gelesen würde, als wisse die Pipeline es besser.

Zweiter Ausnahmefall — die delegierte Veröffentlichung eines typisierten Composites — die Entscheidung des Maintainers HR-20 (zheref/hatsu#332), die docs/ROSTER.md § Lesung vom 19.10.2026 — die delegierte Veröffentlichung eines typisierten Composites unverändert bestätigt. Sie stützt sich auf zwei bereits getroffene Entscheidungen: Der Delegat von kazaana erstellt und veröffentlicht jedes in die Warteschlange gestellte Issue (ROSTER § Entscheidungen vom 13.10.2026, Entscheidung 1), und ein futon-Effort auf einem Integrationsbranch führt aka aus, um seinen eigenen Effort-Branch zu veröffentlichen (ROSTER § Entscheidungen vom 30.09.2026 — En führt niemals Merges durch, Zeile Wo ein Effort stoppt); in der gestapelten oder pro-Issue-Form entspricht sein Push futon § 4 → build § 5. Ein typisierter futon- oder kazaana-Aufruf ist der Veröffentlichungsaufruf des Maintainers für die Arbeitsbranches, auf denen Autoren laufen — ein stehender Aufruf, niemals einer pro Commit:

Der Umfang einer typisierten futon-/kazaana-Zeile
Abgedecktpro Effort in der Warteschlange des Laufs: seine erstmalige Veröffentlichung (diese Fähigkeit, im Builder-Delegaten oder in der Session — kazaana § 3; build § 5) und jeder Wartungs-Commit und Push, der ihn ausliefert — ein Review-Fix, ein Einholen, ein reviewter Reparatur-Commit (murasaki § 6 innerhalb von mukai und en) — in das Zielrepository des Laufs und den eigenen Arbeitsbranch dieses Efforts, unverändert durch die Tore dieser Fähigkeit und von murasaki
Nicht abgedecktein anderes Remote oder Repository, ein anderer Branch, branch.base, eine Force-Form oder ein Umschreiben eines bereits veröffentlichten Commits, ein Tag, ein Merge, ein Release. Außerhalb der Zeile „Abgedeckt“ steht oder fällt ein Push mit der eigenen Regel der besitzenden Fähigkeit: murasaki § 6 für einen bereits veröffentlichten Branch; futon § 5's Integrationsbranch, nur mit nen wc publish gepusht, niemals durch aka und niemals per Force (ROSTER § Entscheidungen vom 30.09.2026 — En führt niemals Merges durch); getsuga § 3/§ 3a für den Proposal-Branch und § 4 (Der Cut) für den Tag. Das Retargeting eines gestapelten Kind-Branches ist Sache des Merge-Plans (WORKFLOW.md § Gestapelte Pull-Requests Regel 5; ROSTER § Entscheidungen vom 12.10.2026). Wenn keine Fähigkeit eine Handlung besitzt, wird sie nicht ausgeführt und wird gemeldet; es ist ein G5 nur dort, wo es eine Handlung ist, die nur der Maintainer ausführen kann
Erlischtwenn der Lauf endet (futon § 10), bei einem Halt oder einem G5, der den Lauf stoppt, oder auf das Wort des Maintainers hin — niemals, weil sich der Commit geändert hat; ein eigener G5 eines Efforts lässt den Umfang nur dieses Efforts erlöschen — niemals den eines anderen — und es wird fortgesetzt, wenn der Maintainer antwortet; eine G2/G4-Merge-Aufforderung lässt nichts erlöschen (wie mugetsu § 3). Eine fortgesetzte, neu gestartete oder kompakte Session hält ihn nur bei einem frischen typisierten Aufruf aufrecht, niemals von einem Checkpoint, einem Laufsdatensatz oder einer Zusammenfassung

Der Umfang ist das Ziel, niemals der SHA. Ein neuer Commit auf demselben Branch desselben Repositorys liegt darin; erneut zu fragen, weil sich der Commit bewegt hat, ist der Fehler, den #332 dokumentiert. Jede Übergabe trägt ihn — Eltern-Delegat an Builder-Delegat (kazaana § 3) und jeder Wartungsschritt danach (mukai, en, murasaki): der Fünf-Fakten-Datensatz — der Aufruf wörtlich zitiert, jede Antwort des Maintainers, auf die sich der Push ebenfalls stützt, das Repository, der Arbeitsbranch und Umfang: Erstveröffentlichung und Wartungs-Pushes an diesen Branch, bis der Lauf endet. Ein Checkpoint, ein Laufsdatensatz oder eine spätere Übergabe schränkt ihn niemals auf einen genauen Commit ein; wo eine ältere Zeile etwas anderes sagt, ersetzt die spätere Korrektur sie, anstatt daneben zu stehen.

Der Datensatz überlebt jede Übergabe, auch Wartungsübergaben, auf jeder Oberfläche gleich (zheref/hatsu#529). Dieser Absatz erweitert keine der drei Zeilen. Ein Voraussetzungs-Effort außerhalb der Warteschlange des Selektors wird von der typisierten Zeile nicht abgedeckt: Sein Push beruht nur auf den eigenen Worten des Maintainers, die diese Veröffentlichung autorisieren (§ 1's Aufruf, in ihren eigenen Worten), zitiert als der zweite Fakt, auf dem Zielrepository des Laufs — eine Antwort, die nur seine Vorbereitung genehmigt, autorisiert keinen Push und wird einmal erfragt. Die Auslieferung des Integrationsbranches eines laufenden Leerlaufs bleibt futon § 5's (oben nicht abgedeckt); seine Anfrage trägt dieselben Fakten und zitiert futon § 5 als seine Autorität. Ein Routine-Push, der die Zustimmung des Hosts benötigt, legt diesen Datensatz in der Anfrage vor — auf Codex die Begründung seines unterstützten Review-Wegs (docs/surfaces/codex.md § Veröffentlichungsanfragen) — so dass ein geänderter Akteur, Worktree oder Commit kein Grund ist, den Maintainer erneut zu fragen; was der Host entscheidet, bleibt Sache des Hosts. Der Datensatz ist ein Beweis für den Reviewer, niemals eine selbstgewährte Genehmigung: Ein Ziel außerhalb des Umfangs, der geschützte Base, ein Rewrite oder ein Release-Akt bleibt verweigert oder hinter seinem eigenen Tor; eine tatsächliche Ablehnung ist Sache des nächsten Absatzes. Die begrenzten Fälle sind docs/ab/publication-authority.md.

Eine Host-Verweigerung bleibt Sache des Hosts. Wenn die Genehmigungsebene der Umgebung einen Push innerhalb des Umfangs ablehnt, wird die Ablehnung dem Maintainer mit dem Aufruf und dem Umfang zitiert und gelöst wird sie nur durch den unterstützten Genehmigungspfad dieses Hosts — die Handlung des Maintainers: dessen Zustimmung dort oder eine Neueinreichung über denselben Weg, die seine neu gegebenen Worte, zitiert neben dem Datensatz, enthält (zheref/hatsu#529) — niemals ein erneuter Versuch allein auf Beweise gestützt, niemals ein anderer Befehl, Weg oder Oberfläche zum selben Push, niemals eine breitere Zusage erbeten, niemals eine Berechtigungseinstellung angetastet. Eine genau erteilte Zustimmung dort bleibt eine gültige Quittung für ihre eigene Handlung und erweitert nichts.

Eine repräsentative Trajektorie. hatsu:kazaana zheref/nen → der Delegat's aka veröffentlicht erstmals <model>/kurapika/<slug> bei Commit A → mukai öffnet den PR → en: Ein reviewter Fund wird behoben, kokusen erstellt Commit B, murasaki pusht B an denselben Branch. Beide Pushes beruhen auf der einen typisierten Zeile und keiner fragt nach; B, das an einen anderen Branch gepusht wird, liegt außerhalb und steht oder fällt mit der Zeile „Nicht abgedeckt“.

Die beiden Ausnahmefälle bleiben getrennt. Ein then aka-Schritt ist der einmalige Start des ersten Ausnahmefalls; der zweite deckt nur die Pushes pro Effort ab, die der Motor des Composites ausführt. Standalone hatsu:aka ist unverändert — ein Aufruf, ein Lauf (§ 1) — und keiner der beiden Ausnahmefälle erreicht einen Merge auf branch.base (en § 5's Aufforderung) oder ein Release (getsuga, mugetsu).

P1 gilt — hatsu:ten aka, das die Voraussetzungen dieser Phase einholt (ten § 6) — und P2 gehört in den Bericht vor dem Squash: der Branch, clean oder dirty, wie viele Commits ungepusht sind, und welche sich bereits auf dem Remote befinden. § 4 squash nur ungepushte Commits und diese Grenze wird vom Remote gelesen, niemals gemerkt.

Nichts anderes ändert sich. Aka führt immer noch keine projektweiten Tests und keine Coverage durch — hatsu:kotoamatsukami und hatsu:byakugan besitzen diese bei mukai — stoppt immer noch bei G5 bei einem roten erforderlichen Check und pusht niemals mit Force oder schreibt einen bereits auf dem Remote befindlichen Commit um.

Rückgabe. Nächster im verdrahteten Lauf: hatsu:mukai — Review, betroffene Tests, Coverage, Evidenz und der PR. Es liegt an Ihnen, ihn aufzurufen, und dieser Lauf fragt nicht danach.


1. Aufruf — und wer ihn tätigen darf

hatsu:aka

Keine Argumente, also gibt es nichts für nen parse zu besitzen — und das zu sagen ist der Punkt, nicht eine Auslassung. nen parse <skill> --grammar <template> --line <text> existiert für eine Grammatik; ein bloßes Verb hat keine, und eine optionale Klausel zu erfinden, damit ein Parse echoen kann, wäre Zeremonie.

Der Aufruf ist Sache des Maintainers, in seinen eigenen Worten oder namentlich. Zwei Konsequenzen, beide bindend:

  • Kein Agent fordert jemals dazu auf. Nicht hatsu:jutaisho am Ende eines Zugs, nicht hatsu:spiritual-message in einem Bericht, nicht ein Composite, das ihn als nächsten Schritt anbietet, nicht eine mit Buchstaben gekennzeichnete Option in einem Stopp. Ein Bericht darf sagen der Branch ist bereit rauszugehen; er darf nicht sagen soll ich ihn pushen? Ein Agent, der um Erlaubnis bittet, die er zu erwarten angewiesen wurde, hat einen menschlichen Aufruf in einen Schubser verwandelt, und der Schubser ist das, was die Push-Disziplin der lokalen Ebene zu verhindern existiert.
  • Ein Aufruf, ein Lauf. Ein ja für diesen Push ist keine Autorität für den nächsten. Sagen Sie, wann der Lauf begonnen hat, und sagen Sie, wann er endet. Der eine stehende Aufruf ist der eines typisierten Composites, eingeschränkt durch das Ziel (§ 0, zweiter Ausnahmefall: eine futon- oder kazaana-Zeile, deren Efforts durch build § 5 veröffentlichen); der Push eines Standalone-Laufs von build beruht auf build § 5's eigener laufbegrenzter Delegation, nicht auf diesem Ausnahmefall.

2. Die Parameter — nen/workflow.json, mit den genannten Standardwerten

SchlüsselVerwendet fürStandardwert, wenn der Schlüssel (oder die Datei) fehlt
branch.basedie Basis, gegen die § 4's Squash und § 5's Einholen arbeitenmain
iteration.lanewelche Spur § 3 und § 6 lintenproject.defaultLane
commits.allowedAttributionTrailerskanonische Personen-/Ebenen-Trailer, die der Commit tragen darfHatsu-Agent, Akatsuki-Agent
commits.forbiddenTrailersAttributions-Trailer, die den Commit kategorisch ablehnenumfasst Co-Authored-By, Claude-Session, Signed-off-by, Generated-by, Generated-with, Reviewed-by

nen schema check --repo <path> VALIDIERT diese Datei beim festgelegten Build — live verifiziert, die Zeile lautet ok nen/workflow.json coverage 80/85/90 (touched), branch '{model}/{persona}/{descriptor}' off 'main', checks: lint. Ein fehlerhafter Schlüssel ist ein FAIL per Zeiger, daher prüft diese Fähigkeit die Form nicht mehr per Augenschein; sie liest die Werte und nennt die Standardwerte wann immer sie zutreffen.

Ein fehlendes Argument oder Konfigurationselement wird erfragt und inline eingerichtet (missing-argument, missing-configuration; WORKFLOW.md § 4 Fragen, einrichten, fortsetzen); ein Standardwert oben, der den Schlüssel abdeckt, wird verwendet und genannt, niemals erfragt. § 4's Verweigerungen sind keine Lücken: Das Umschreiben veröffentlichter Geschichte, ein verbotener Trailer und ein Push des Trunks werden weiterhin verweigert, niemals erraten.

Deklarierte Änderung gegenüber claude/agents/kurapika.md § Wie Sie arbeiten — benannt, nicht eingeschlichen. Die Agenten-Definition lautet heute „Keine KI-Attribution über die Trailer hinaus, die die eigene Umgebung des Maintainers vorschreibt – heute Co-Authored-By: und Claude-Session: … Sie fügen weder eigene Attribution hinzu noch entfernen Sie ihre“ und hält fest, dass die endgültige Regel eine offene Verfassungsfrage ist. nen/workflow.json ist der Ort, an dem der Maintainer sie für ein bestimmtes Repository beantwortet, und dieser Workflow beantwortet sie: Hatsu-Agent und Akatsuki-Agent sind zugelassen, eine pro Ebene, und die anderen beiden sind verboten. Wo die beiden widersprechen, gewinnt das eigene commits-Block des Repositorys für dieses Repository, weil es die dokumentierte Entscheidung des Maintainers und keine ungelöste Spannung ist. Ein Repository, das keinen commits-Block ausliefert, erhält die obigen Standardwerte, die dasselbe aussagen. Dies ist eine deklarierte Prozessänderung, die hier so offengelegt wird, wie hatsu:futon § Deklarierte Prozessänderung ihre eigene offenlegt.

3. Lint-Tor vor dem Squash

Bevor nen wc squash selbst unveröffentlichte Commits umschreiben kann, führen Sie die deklarierte Lint-Zeile für iteration.lane aus:

nen shu lint --repo <path> --lane <iteration.lane> --dry-run
nen shu lint --repo <path> --lane <iteration.lane>

Führen Sie auf einem unbekannten Repository einmal einen Dry-Run durch. Ein rotes Lint beendet den Lauf, bevor sich die Geschichte ändert. Ein Sitz wird zitiert. Dieses Tor steht bewusst vor dem Squash; es ist billig und verhindert, dass aka mehrere nützliche Checkpoints durch einen roten Commit ersetzt. Es ist hatsu:gyo — der Lint-Prozess — nicht die

…

[abgeschnitten für Übersetzung]

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

zheref/ao

Bring the branch up to date with its base — rebase when nothing has been published, merge when it has, resolve the mechanical conflicts, and stop at G5 with both sides shown for a semantic one. Use when the maintainer invokes $ao [from <base>], asks to pull main in, catch the branch up, or rebase onto main, or whenever $aka, $murasaki or $en needs the branch current. Kurapika classifies every conflicted path before touching one and never picks a side on a conflict of meaning. Never pushes, never force-pushes, never rewrites a commit that is already on the remote.

zheref/en

Drive one open pull request to verified readiness under a mandatory acting-cycle cap. Use when $mukai hands over its PR, or when the maintainer invokes $en on <CODE>#<N> for an open PR. Pending CI or review keeps the run active; quiet polls spend no cycle. At Ready, merge only a recorded Futon-owned stacked delivery through Nen's bounded guard; hand every other PR to the maintainer. Never cast a review vote. After this run completes, the caller offers the wrap-up — $cleanup, required, with $third-hand optional beside it — En does not own it.

zheref/ren

Run each request in an independent effort worktree by default, rechecking isolation on continuations. Warm up, author, verify and commit locally, handle launch, report and ring the bell, then wait. Use on $ren <request> or ordinary work in a repository using the turn loop. Ren composes six skills; it never pushes or opens a PR and ends only on the maintainer's $aka or $tensho call.

Verwandte Skills