zheref/aka

Envie o branch para fora — lint (gyo) antes de reescrever o histórico, squash apenas commits não enviados, coloque a base debaixo deles, re-lint se a atualização mudou a árvore e envie. Toda a habilidade é executada apenas na chamada de publicação do mantenedor. Ela nunca executa testes ou cobertura em todo o projeto; esses pertencem ao mukai através do kotoamatsukami e do byakugan.

O que é aka?

Aka é uma habilidade de manipulação do agente que gerencia a publicação de branches locais. Ela executa lint (gyo) antes de reescrever o histórico, faz squash apenas de commits não enviados, reposiciona a base sob os commits, relint se o catch-up alterou a árvore e, em seguida, envia o branch exato para o remoto. É chamada exclusivamente pelo mantenedor — agentes nunca a propõem — e não abre pull requests, não executa testes de projeto ou cobertura. Aka suporta plataformas como Claude Code, Cursor, Codex e aceita configuração via `nen/workflow.json` para chaves como `branch.base` (padrão `main`) e `iteration.lane`. Duas exceções permitem que composites tipados (futon, kazaana) deleguem a publicação sem permissão por commit, mantendo o escopo por branch de trabalho. A habilidade garante que nenhum commit já no remoto seja reescrito e para em vermelho se uma verificação obrigatória falhar.

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

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Localização da política compartilhada: docs/DISCOVERY.md, docs/WORKFLOW.md, docs/LAUNCH-MIGRATION.md, docs/STANDALONE-ENTRY.md, docs/PROCESS.md, docs/using/README.md e docs/using/mirrors.md pertencem à raiz do plugin Hatsu resolvida, não ao repositório consumidor. Em uma superfície instalada, use a raiz absoluta impressa por ten para ler esses arquivos (re-resolva através dessa habilidade se indisponível). Links relativos abaixo identificam locais de origem; uma cópia docs/ ausente no consumidor não é uma política ausente e não deve disparar um arquivamento duplicado. Nunca copie ou invente uma segunda política no repositório de destino.

Aka — o branch vai para fora

Natureza: Manipulador. Enviar é uma operação do lado do git em estado compartilhado por definição, independentemente de qual natureza tenha criado o diff.

Linte, faça squash apenas do histórico não publicado, coloque a base debaixo dele, relinte se isso moveu a árvore e coloque essa árvore exata no remoto. Sem PR. Sem testes de projeto.

Aka é a primeira chamada humana no plano local. Tudo antes dela — hatsu:ren's turnos, hatsu:kokusen's commits — acontece sem perguntar, porque nada disso sai da máquina. Aka é onde o trabalho se torna algo que outra pessoa pode buscar, e esse limite é do mantenedor cruzar.

Não abre pull request. Isso é a execução de hatsu:mukai e o passo de hatsu:shibari dentro dela. Aka termina com um branch enviado e nada mais, deliberadamente: um envio e um PR são duas decisões, e juntá-los torna uma delas inquestionável.


0. Entrada autônoma — esta habilidade SEMPRE foi a chamada do mantenedor

Aka não tem entrada conectada. § 1 já diz: toda a habilidade é executada apenas na chamada de publicação do mantenedor, e agentes nunca a propõem. A primeira exceção, o julgamento do mantenedor de 2026-09-28 (b) (docs/ROSTER.md § Julgamentos de 2026-09-26/27/28): um passo then nomeando esta habilidade em uma invocação tipada de futon é a chamada de publicação do mantenedor — o go avançado que mugetsu § 3 define — ainda nunca solicitado, nunca proposto. docs/STANDALONE-ENTRY.md § 6 a nomeia entre as fases que um relatório, um sino, uma parada e um composite nunca devem oferecer — e uma execução autônoma é precisamente onde tal oferta pareceria que o pipeline sabe o que é melhor.

Segunda exceção — publicação delegada de um composite tipado — o julgamento do mantenedor HR-20 (zheref/hatsu#332), ratificando docs/ROSTER.md § Leitura de 2026-10-19 — publicação delegada de um composite tipado inalterado. Baseia-se em dois julgamentos já feitos: o delegado de kazaana cria e publica cada issue enfileirada (ROSTER § Julgamentos de 2026-10-13, julgamento 1), e um esforço de futon em um branch de integração executa aka para publicar seu próprio branch de esforço (ROSTER § Julgamentos de 2026-09-30 — En nunca faz merge, linha Onde um esforço para); na forma empilhada ou por issue, seu envio é futon § 4 → build § 5. Uma invocação tipada de futon ou kazaana é a chamada de publicação do mantenedor para os branches de trabalho que executam autores — uma chamada única, nunca uma por commit:

O escopo de uma linha tipada de futon / kazaana
Cobertopor esforço na fila da execução: sua publicação inicial (esta habilidade, no delegado builder ou na sessão — kazaana § 3; build § 5) e todo commit de manutenção e envio que o entrega — uma correção de revisão, um catch-up, um reparo revisado (murasaki § 6 dentro de mukai e en) — para o repositório de destino da execução e para o próprio branch de trabalho daquele esforço, através dos portões inalterados desta habilidade e de murasaki
Não cobertooutro remoto ou repositório, outro branch, branch.base, um formulário de força ou uma reescrita de um commit publicado, uma tag, um merge, um release. Fora da linha Coberto, um envio depende de sua própria regra da habilidade proprietária: murasaki § 6 para um branch já publicado; o branch de integração de futon § 5, enviado apenas com nen wc publish, nunca através de aka e nunca forçado (ROSTER § Julgamentos de 2026-09-30 — En nunca faz merge); getsuga § 3/§ 3a para o branch de proposta e § 4 (O corte) para a tag. O redirecionamento de um filho empilhado é do plano de merge (WORKFLOW.md § Pull requests empilhados regra 5; ROSTER § Julgamentos de 2026-10-12). Onde nenhuma habilidade possui um ato, ele não é executado e é relatado; é um G5 apenas onde é um ato que apenas o mantenedor pode fazer
Expiraçõesquando a execução termina (futon § 10), em uma parada, ou um G5 que para a execução, ou pela palavra do mantenedor — nunca porque o commit mudou; o próprio G5 de um esforço expira o escopo daquele esforço apenas — nunca o de outro — e ele retoma quando o mantenedor responde; um prompt de merge G2/G4 não expira nada (como mugetsu § 3). Uma sessão retomada, reiniciada ou compactada o mantém apenas em uma invocação tipada nova, nunca de um checkpoint, um registro de execução ou um resumo

O escopo é o destino, nunca o SHA. Um novo commit no mesmo branch do mesmo repositório está dentro dele; perguntar novamente porque o commit mudou é a falha que #332 registra. Cada passagem o carrega — do pai ao delegado builder (kazaana § 3) e cada passo de manutenção depois (mukai, en, murasaki): o registro de cinco fatos — a invocação citada literalmente, qualquer resposta do mantenedor na qual o envio também se baseia, o repositório, o branch de trabalho e escopo: publicação inicial e envios de manutenção para este branch até o fim da execução. Um checkpoint, um registro de execução ou uma passagem posterior nunca o restringe a um commit exato; onde uma linha mais antiga diz o contrário, a correção posterior o substitui em vez de permanecer ao lado dele.

O registro sobrevive a cada passagem, incluindo as de manutenção, o mesmo em toda superfície (zheref/hatsu#529). Este parágrafo não amplia nenhuma das três linhas. Um pré-requisito fora da fila do seletor não é Coberto pela linha tipada: seu envio depende apenas das palavras do próprio mantenedor autorizando essa publicação (§ 1 da chamada, em suas próprias palavras), citadas como o segundo fato, no repositório de destino da execução — uma resposta aprovando apenas sua preparação não autoriza nenhum envio e é solicitada uma vez. A entrega de integração de uma execução ociosa permanece em futon § 5 (Não coberto acima); sua solicitação carrega os mesmos fatos e cita futon § 5 como sua autoridade. Um envio rotineiro que precisa da aprovação do host apresenta esse registro na solicitação — no Codex, a justificativa de sua rota de revisão suportada (docs/surfaces/codex.md § Solicitações de publicação) — para que um ator, árvore de trabalho ou commit alterado não seja motivo para perguntar ao mantenedor novamente; o que o host decide permanece do host. O registro é evidência para o revisor, nunca uma aprovação autoconcedida: um destino fora do escopo, a base protegida, uma reescrita ou um ato de release permanecem recusados ou atrás de seu próprio portão, e uma rejeição real é o próximo parágrafo. Os casos limitados estão em docs/ab/publication-authority.md.

Uma recusa do host permanece do host. Onde a camada de aprovação do harness recusa um envio dentro do escopo, a recusa é citada ao mantenedor com a invocação e o escopo e resolvida apenas através do caminho de aprovação suportado desse host — o ato do mantenedor: sua aprovação lá, ou um reenvio através da mesma rota carregando suas palavras recém-dadas citadas ao lado do registro (zheref/hatsu#529) — nunca uma nova tentativa com base apenas em evidências, nunca outro comando, rota ou superfície para o mesmo envio, nunca uma autorização mais ampla solicitada, nunca uma configuração de permissão tocada. Uma aprovação exata dada lá permanece um recibo válido para sua própria ação e não amplia nada.

Uma trajetória representativa. hatsu:kazaana zheref/nen → o aka do delegado publica pela primeira vez <model>/kurapika/<slug> no commit A → mukai abre o PR → en: um achado revisado é corrigido, kokusen commit B, murasaki envia B para o mesmo branch. Ambos os envios se baseiam na única linha tipada e nenhum pergunta; B enviado para qualquer outro branch está fora e depende da linha Não coberto.

As duas exceções permanecem separadas. Um passo then aka é o uso único da primeira exceção; a segunda cobre apenas os envios por esforço que o motor do composite faz. hatsu:aka autônomo permanece inalterado — uma chamada, uma execução (§ 1) — e nenhuma exceção atinge um merge em branch.base (o prompt de en § 5) ou um release (getsuga, mugetsu).

P1 se aplica — hatsu:ten aka, que atualiza os pré-requisitos desta fase (ten § 6) — e P2 pertence ao relatório antes do squash: o branch, limpo-ou-sujo, quantos commits não foram enviados e quais já estão no remoto. § 4 faz squash apenas de commits não enviados e esse limite é lido do remoto, nunca lembrado.

Nada mais muda. Aka ainda não executa testes de projeto e nem cobertura — hatsu:kotoamatsukami e hatsu:byakugan possuem esses no mukai — ainda para em G5 em uma verificação obrigatória vermelha e ainda nunca força push ou reescreve um commit já no remoto.

Devolução. Próximo na execução conectada: hatsu:mukai — revisão, testes impactados, cobertura, evidências e o PR. É sua para chamar, e esta execução não pergunta por ela.


1. Invocação — e quem tem permissão para dizê-la

hatsu:aka

Sem argumentos, então não há nada para nen parse possuir — e dizer isso é o ponto, não uma omissão. nen parse <skill> --grammar <template> --line <text> existe para uma gramática; um verbo simples não tem nenhuma, e inventar uma cláusula opcional para que uma análise possa ser ecoada seria cerimônia.

A chamada é do mantenedor, em suas próprias palavras ou por nome. Duas consequências, ambas vinculantes:

  • Nenhum agente nunca a solicita. Nem hatsu:jutaisho no final de um turno, nem hatsu:spiritual-message em um relatório, nem um composite oferecendo-a como um próximo passo, nem uma opção letrada em uma parada. Um relatório pode dizer o branch está pronto para sair; ele não pode dizer devo enviá-lo? Um agente que pede permissão que lhe foi dito para esperar converteu uma chamada humana em um empurrão, e o empurrão é o que a disciplina de envio do plano local existe para prevenir.
  • Uma chamada, uma execução. Um sim para este envio não é autoridade para o próximo. Diga que a execução começou e diga quando termina. A única chamada permanente é de um composite tipado, com escopo por destino (§ 0, segunda exceção: uma linha de futon ou kazaana, cujos esforços publicam através do build § 5); o envio de um build autônomo depende da delegação com escopo de execução do próprio build § 5, não desta exceção.

2. Os parâmetros — nen/workflow.json, com os padrões declarados

ChaveUsado paraPadrão quando a chave (ou o arquivo) está ausente
branch.basea base contra a qual § 4 faz squash e § 5 faz catch-upmain
iteration.lanequal lane § 3 e § 6 lintproject.defaultLane
commits.allowedAttributionTrailerstrailers canônicos de persona/plano que o commit pode carregarHatsu-Agent, Akatsuki-Agent
commits.forbiddenTrailerstrailers de atribuição que recusam o commit imediatamenteinclui Co-Authored-By, Claude-Session, Signed-off-by, Generated-by, Generated-with, Reviewed-by

nen schema check --repo <path> VALIDA este arquivo no build travado — verificado ao vivo, a linha lê ok nen/workflow.json coverage 80/85/90 (touched), branch '{model}/{persona}/{descriptor}' off 'main', checks: lint. Uma chave malformada é um FAIL por ponteiro, portanto esta habilidade não verifica mais a forma a olho; ela lê os valores e declara os padrões sempre que eles são o que se aplicou.

Um argumento ou item de configuração ausente é perguntado e configurado inline (missing-argument, missing-configuration; WORKFLOW.md § 4 Pergunte, configure, continue); um padrão acima que cobre a chave é usado e declarado, nunca perguntado. As recusas de § 4 não são lacunas: reescrever história publicada, um trailer proibido e um envio do tronco ainda recusam, nunca adivinhados.

Mudança declarada de claude/agents/kurapika.md § Como você trabalha — nomeada, não introduzida sorrateiramente. A definição do agente hoje diz "Sem atribuição de IA além dos trailers que o próprio harness do mantenedor exige — hoje Co-Authored-By: e Claude-Session: … você não adiciona atribuição própria nem remove a deles" e registra que a regra final é uma questão constitucional deixada em aberto. nen/workflow.json é onde o mantenedor responde por um determinado repositório, e este workflow responde: Hatsu-Agent e Akatsuki-Agent são admitidos, um por plano, e os outros dois são proibidos. Onde os dois discordam, o próprio bloco commits do repositório vence para aquele repositório, porque é a decisão registrada do mantenedor em vez de uma tensão não resolvida. Um repositório que não envia nenhum bloco commits obtém os padrões acima, e eles dizem a mesma coisa. Esta é uma mudança de processo declarada, divulgada aqui da mesma forma que hatsu:futon § Mudança de processo declarada divulga a sua.

3. Portão de lint pré-squash

Antes de nen wc squash poder reescrever até mesmo commits não publicados, execute a linha de lint declarada para iteration.lane:

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

Dry-run uma vez em um repositório desconhecido. Um lint vermelho termina a execução antes que o histórico mude. Um assento é citado. Este portão está deliberadamente antes do squash; é barato e impede que aka substitua vários checkpoints úteis por um commit vermelho. É hatsu:gyo — o processo de linting — não o

…

[truncado para tradução]

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.

Habilidades Relacionadas