Communitygithub.com

evilvideogamenerd — o externo que quebra seu jogo

Inicia o subagente evil-video-game-nerd: um revisor externo agressivo que joga e estressa o jogo Godot como um outsider, sem acesso ao GDD, roteiro ou regras do projeto, caça bugs, crashes, soft-locks, UI ruim, controles ruins e decisões fracas de jogo, mantém sua própria memória e um registro de descobertas entre rodadas, e reavalia descobertas anteriores. Modos: player (black box, padrão), qa (também lê código e logs, executa o chaos runner), critic (compara o jogo com o que o texto da loja promete).

O que é evilvideogamenerd — o externo que quebra seu jogo?

O evilvideogamenerd é um subagente de revisão agressiva e isolada para jogos Godot. Ele atua como um testador externo que não tem acesso ao Design Document (GDD), roteiro de desenvolvimento ou regras do projeto, garantindo uma perspectiva imparcial e focada na experiência do jogador. Suporta três modos principais: 'player' (teste em caixa preta, padrão), 'qa' (também analisa código e logs, e executa o chaos runner) e 'critic' (compara o jogo com o que o texto da loja promete). O subagente mantém seu próprio registro de descobertas (ledger) e memória persistente entre rodadas, e pode reavaliar descobertas anteriores. O agente principal prepara o briefing, lança o revisor, tria os relatórios e gerencia as correções, mas nunca fecha as descobertas por conta própria – apenas o revisor em reavaliação ou um humano define 'verified-fixed' ou 'wontfix'. O isolamento é implementado por um hook que bloqueia acesso ao GDD, roteiro, decisões e outros documentos internos, mas não é uma sandbox completa. O revisor usa ferramentas como MCP play (Godot MCP com screenshot e input) e o chaos runner, quando disponíveis.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mallardask-ops/ultimate-antislop-game/tree/HEAD/godot-skills/skills/evilvideogamenerd

Perguntar na sua IA favorita

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

Documentação

O que evilvideogamenerd — o externo que quebra seu jogo faz?

Configurações do revisor (ao vivo)

!node ${CLAUDE_SKILL_DIR}/../../scripts/gate.mjs evilvideogamenerd || echo GATE_UNAVAILABLE

  • NO_CONFIG → pare e execute a skill devinit primeiro.
  • CONFIG_ERROR → repare e valide a política antes de continuar; não substitua por padrões.
  • Copie um template para o projeto com node ${CLAUDE_SKILL_DIR}/../../scripts/install-template.mjs <skill>/templates/<file> <destination> (nunca sobrescreve). Templates com {{placeholders}} são lidos, preenchidos e escritos.

Modos ($ARGUMENTS)

ArgumentoO que fazer
player / qa / critic [focus]Uma rodada de revisão (procedimento abaixo). Modo padrão: nerd.default_mode
recheckUma rodada cujo único trabalho é reavaliar linhas do ledger com status fix-submitted, still-open ou regressed
statusResumir qa/nerd/ledger.md por severidade e status; não iniciar o revisor
setupApenas passos 1–2: a pasta do revisor e as ferramentas

Seu papel (agente principal)

Você prepara, inicia e tria. O revisor trabalha sozinho.

  • Nunca coloque intenção de design, conteúdo do GDD, números, itens do roteiro ou regras do projeto em seu prompt. Escreva o briefing como uma nota voltada ao jogador: como iniciar, controles, o que mudou no estilo de patch-notes.
  • Nunca feche suas descobertas. Você pode definir fix-submitted (com um commit ou nota). Apenas o revisor em reavaliação, ou um humano, define verified-fixed; apenas um humano define wontfix.
  • Discordar de uma descoberta ("isso é intencional") é decisão do usuário. Registre-a com a decisão do usuário.

Procedimento da rodada

  1. Pasta do revisor (paths.nerd, padrão qa/nerd/). Crie se não existir:

    • ledger.md: install-template.mjs evilvideogamenerd/templates/ledger.md qa/nerd/ledger.md;
    • report-template.md: install-template.mjs evilvideogamenerd/templates/report.md qa/nerd/report-template.md;
    • reports/, screens/, logs/, scripts/ (criados pelo revisor conforme necessário).

    O revisor não pode ler a pasta do plugin, então seus templates devem ficar aqui.

  2. Ferramentas. Descubra o que o revisor pode realmente usar e diga de forma clara:

    • MCP play: um Godot MCP com ferramentas de screenshot e input está disponível (GoPeak recomendado; configuração na skill stopgen, setup-mcp). Necessário para player e critic.
    • Chaos runner: <project_dir>/tools/qa/chaos_runner.gd existe. Se não existir, ofereça para instalá-lo (com aprovação do usuário): install-template.mjs evilvideogamenerd/templates/chaos_runner.gd <project_dir>/tools/qa/chaos_runner.gd. Precisa do binário Godot, não de um display.
    • Nenhum: informe ao usuário que a rodada só pode ser parcial (revisão de código qa) e pergunte se deseja continuar.
  3. Arquivo de sessão. Escreva qa/nerd/.session.json: {"mode": "...", "round": N, "focus": "...", "capabilities": ["mcp-play", "chaos"], "version": "<process.current_version>", "started": "<data ISO>"}. O número da rodada é o anterior mais um (veja reports/). O hook de isolamento lê o modo deste arquivo.

  4. Briefing a partir de templates/briefing.md: apenas informações voltadas ao jogador.

  5. Inicie o subagente evil-video-game-nerd (seu tipo listado pode conter um prefixo godot-gamedev:). Passe o briefing, o caminho do relatório a ser escrito e "templates estão em qa/nerd/". Até nerd.max_rounds rodadas por sessão.

  6. Trie o relatório com o usuário:

    • Bloqueador/Crítico → itens Obrigatórios do roadmap para a versão atual (antislop-game).
    • Outros → roadmap ou backlog por severidade × frequência.
    • Descobertas rejeitadas → ledger wontfix com o motivo do usuário.
    • Descobertas suspeitas e intuições → nada até serem reproduzidas.
  7. Corrija, depois reavalie. Após correções, defina fix-submitted no ledger e execute recheck. Repita até nerd.max_rounds.

  8. Exclua qa/nerd/.session.json quando a sessão terminar.

O que isolamento significa aqui (seja honesto sobre isso)

  • O hook nerd-guard do plugin se aplica apenas a este subagente. Ele bloqueia a leitura do GDD, roteiro, decisões, playtests, AGENTS.md, CLAUDE.md e .gamedev/. No modo player/critic, permite apenas docs/player/, qa/nerd/ e sua memória, e apenas ferramentas de jogo. Permite escritas apenas em qa/nerd/ e sua memória, e nunca ferramentas MCP que editem o jogo ou chamem métodos em tempo de execução.
  • omitClaudeMd requer Claude Code 2.1.271 ou mais novo. Ele pula as instruções iniciais de usuário/projeto/local; a política gerenciada ainda carrega, e instruções de subdiretório podem carregar quando arquivos são acessados. Isso não garante um contexto livre de instruções. O revisor mantém a memória do projeto em .claude/agent-memory/…evil-video-game-nerd…/, ou qa/nerd/memory.md quando a memória de agente não está disponível.
  • A filtragem de bash é o melhor esforço, não uma sandbox. Informe o usuário se precisar de isolamento garantido; a alternativa é um checkout separado sem docs/.
  • docs/player/ deve permanecer livre de intenção de design (regra gdddocs); caso contrário, o isolamento vaza pela porta da frente.

Portões

O portão de release-candidate (antislop-game gate) falha enquanto o ledger tiver linhas Bloqueador ou Crítico que não sejam verified-fixed ou wontfix.

Habilidades Relacionadas