Skills do LoL Helper
Resumo das skills locais responsáveis por consultar a Riot API, manter o vault
e gerar relatórios do Oningume Guneta.
Fluxo pós-partida
Depois que o time terminar uma partida, o fluxo recomendado para uso interno é
o bundle:
/close_latest_match_cycleNo Discord, o comando indicado para o time é:
/analise/analise aciona o ciclo de análise e prepara a publicação do relatório no
mesmo chat Discord.
analise
Objetivo: rodar o ciclo completo da última partida e publicar o relatório
no Discord em partes seguras.
A skill analise depende de close-latest-match-cycle e só deve publicar
depois que o ciclo estiver fechado e o relatório validado. O helper local:
skills/analise/scripts/prepare-analysis-report-discord --match-id BR1_3248491056 --jsonl
skills/analise/scripts/prepare-analysis-report-discord --report team-wiki/wiki/reports/matches/BR1_3248491056-analysis.md --jsonlRegras do helper:
- lê reports em
wiki/reports/matches/; - exige frontmatter
type: "match_analysis"eanalyzed: true; - rejeita marcadores reais de incompleto (
TODO/PLACEHOLDERem linha,
blocosHINT, templates{{...}}); - remove frontmatter YAML antes do envio;
- remove comentários HTML internos;
- converte wikilinks Obsidian
[[page|Texto]]paraTextoe[[page]]para
page; - neutraliza mass mentions no Discord com zero-width space;
- divide o conteúdo em partes de até 1900 caracteres.
O limite de content da API do Discord é 2000 caracteres por mensagem; a skill
usa 1900 como margem para cabeçalhos parte X/Y.
close-latest-match-cycle
Objetivo: executar o ciclo completo da última partida em fases.
É o bundle local dos 5 passos:
- Descobrir e ingerir partidas compartilhadas.
- Hidratar payloads pendentes.
- Preparar scaffold narrativo via analyze-latest-match.
- Finalizar análise e preparar recompilação de players.
- Finalizar recompilação e marcar
players_analyzed: true.
Como duas etapas exigem trabalho do agente, o bundle é dividido em fases:
skills/close-latest-match-cycle/scripts/close-latest-match-cycle --check
skills/close-latest-match-cycle/scripts/close-latest-match-cycle
skills/close-latest-match-cycle/scripts/close-latest-match-cycle --post-narrative --match-id BR1_3248491056
skills/close-latest-match-cycle/scripts/close-latest-match-cycle --post-merge --match-id BR1_3248491056Validação prática em 2026-06-04: a skill fechou BR1_3248491056 e
BR1_3247511781, ambas com analyzed: true e players_analyzed: true.
Discord bot e exposição de skills
O Discord está conectado ao agente lol-helper por binding:
openclaw agents bindings
# lol-helper <- discordEstado operacional em 2026-06-04:
- bot autenticado como
Oningume no Faker; - canal Discord configurado, rodando e conectado;
agents.list[1].skillslimitado a:
["close-latest-match-cycle", "analise"]Comandos de skill antigos que pertenciam ao agente principal foram removidos do
registro global do Discord via API. Exemplos removidos: apple_reminders,
apple_notes, empreendedora, github, gog, home_assistant, discord.
Comandos de guild registrados para o Oningume Guneta:
/analise
/close_latest_match_cycleObservações:
- comandos globais do Discord podem demorar para sumir do cliente por cache;
- comandos de guild aparecem quase imediatamente;
- comandos core do OpenClaw podem continuar visíveis porque
channels.discord.commands.nativepermanecetrue; - não salvar nem imprimir
DISCORD_BOT_TOKEN.
report-latest-match
Objetivo: executar o fluxo pós-partida de ponta a ponta.
Descobre partidas recentes compartilhadas, cria páginas ausentes, hidrata os
payloads pendentes e conduz a análise narrativa da partida pendente mais
recente. É a skill indicada para uso rotineiro depois de jogar.
skills/report-latest-match/scripts/report-latest-match --check
skills/report-latest-match/scripts/report-latest-matchget-players-puuid
Objetivo: resolver os identificadores técnicos dos players cadastrados.
Lê os Riot IDs de PLAYER_REGISTRY, consulta ACCOUNT-V1 by-riot-id,
persiste as respostas raw sem sobrescrever evidência e preenche o campo
puuid das páginas em wiki/players/.
skills/get-players-puuid/scripts/get-players-puuid --check
skills/get-players-puuid/scripts/get-players-puuid
skills/get-players-puuid/scripts/get-players-puuid --slug goia
skills/get-players-puuid/scripts/get-players-puuid --refreshingest-shared-matches
Objetivo: descobrir partidas recentes compartilhadas e criar a estrutura
inicial compilada.
Consulta as cinco partidas mais recentes de cada player por padrão. Quando um
match aparece para pelo menos dois cadastrados, cria a página inicial em
wiki/matches/ com analyzed: false e cria ou atualiza o time canônico em
wiki/teams/.
Também sincroniza as páginas dos times:
- recalcula propriedades
wineloss; - atualiza
Sinergias observadascom retrospecto e aproveitamento; - atualiza
Pontos de atençãocom derrotas a revisar e lacunas de evidência; - preserva
## Notas manuais.
skills/ingest-shared-matches/scripts/ingest-shared-matches --check
skills/ingest-shared-matches/scripts/ingest-shared-matchesfetch-pending-match-data
Objetivo: hidratar partidas descobertas com dados objetivos completos.
Para cada página pendente, consulta MATCH-V5 GET_getMatch, persiste
raw/matches/<match-id>/riot-api.json imutavelmente, extrai
analysis-input.json e projeta placares, objetivos, composições, data, patch e
resultado na página compilada.
Depois da projeção, sincroniza novamente os times para que win, loss,
Sinergias observadas e Pontos de atenção reflitam os resultados recém
hidratados.
skills/fetch-pending-match-data/scripts/fetch-pending-match-data --check
skills/fetch-pending-match-data/scripts/fetch-pending-match-data
skills/fetch-pending-match-data/scripts/fetch-pending-match-data --match-id BR1_3246636980analyze-latest-match
Objetivo: produzir o relatório narrativo baseado nas evidências
persistidas.
Seleciona a partida pendente mais recente, gera um scaffold com números
objetivos e sugestões automáticas, exige revisão narrativa pelo Agent Faker e
finaliza a compilação.
Ao finalizar:
- cria o relatório em
wiki/reports/matches/; - marca match e relatório como
analyzed: true; - atualiza as seções de resumo da partida;
- registra evidências recentes nas páginas dos players participantes;
- reconcilia o time canônico e sincroniza seus resultados.
skills/analyze-latest-match/scripts/analyze-latest-match --check
skills/analyze-latest-match/scripts/analyze-latest-match --prepare
skills/analyze-latest-match/scripts/analyze-latest-match --prepare --match-id BR1_3246636980
skills/analyze-latest-match/scripts/analyze-latest-match --finalize --match-id BR1_3246636980Scripts auxiliares
Descoberta
scripts/get-team-recent-matches --check
scripts/get-team-recent-matchesLista partidas compartilhadas por pelo menos dois players cadastrados.
Extração compacta
scripts/extract-match-analysis-input --check
scripts/extract-match-analysis-inputTransforma o payload raw completo em evidência compacta para análise.
Projeção objetiva
scripts/update-match-wiki-from-analysis-input --check
scripts/update-match-wiki-from-analysis-inputProjeta dados objetivos do analysis-input.json nas páginas das partidas.
Sincronização de times
scripts/update-team-resultsRecalcula resultados e compila sinais objetivos em wiki/teams/. É
idempotente: execuções repetidas não duplicam partidas nem contagens.
Regras de segurança
- Nunca salvar a chave da Riot API no vault.
- Nunca sobrescrever evidências existentes em
raw/. - Não inventar estatísticas ausentes.
- Separar
observation,player_reportehypothesis. - Preservar conteúdo escrito manualmente fora das seções geradas.