Agent skill

Gauntlet Fps

by corosolto in corosolto/client

Roda o Gauntlet Loop do CS BRASIL / CORO SOLTO — o ciclo crítico-adversarial → builders em paralelo → captura medida → verificação A/B → caçador de regressões que melhora gráficos, mapas, armas, UI…

AGPL-3.0Auto-check passedGame Development

Install Gauntlet Fps

skills CLI
$ npx skills add corosolto/client --skill gauntlet-fps -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install corosolto/client gauntlet-fps --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/corosolto/client.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/gauntlet-fps .claude/skills/gauntlet-fps && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
gauntlet-fps
GitHub stars
257
Token cost
~2.6k tokens
SKILL.md length
1,448 words
Files
3 (incl. references)
Skills in repo
21
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Roda o Gauntlet Loop do CS BRASIL / CORO SOLTO — o ciclo crítico-adversarial → builders em paralelo → captura medida → verificação A/B → caçador de regressões que melhora gráficos, mapas, armas, UI…

  • Works in 6 steps: Baseline medido → Críticos adversariais, um por frente → Builders em paralelo, particionados por… → …
  • Tasks that involve 3D graphics and WebGL
  • SKILL.md covers Por que este loop existe, Antes de qualquer coisa, Ambiente and O ciclo, plus 3 more sections
  • Calls npm, node and git

What it does

Gauntlet Fps is an agent skill from corosolto/client. Roda o Gauntlet Loop do CS BRASIL / CORO SOLTO — o ciclo crítico-adversarial → builders em paralelo → captura medida → verificação A/B → caçador de regressões que melhora gráficos, mapas, armas, UI e jogabilidade do jogo FPS em Three.js. Use SEMPRE que o pedido for melhorar, avaliar, revisar ou "deixar melhor" qualquer parte do jogo — gráficos, fidelidade de mapa, feel das armas, menu, HUD, bots, movimento — mesmo que o usuário não diga "gauntlet". Use também quando ele reportar que algo ficou feio, estranho…

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/metricas.md` and `references/prompts.md`).

It sits in Game Development, covering 3D graphics and WebGL. It works with Three.js. The repository describes itself as: FPS satírico de navegador: 5 facções brasileiras caricatas, 44 personagens, 5 mapas e 26 armas — rounds e Capture the Flag contra bots, direto na aba, sem instalar nada. Three.js… The licence is AGPL-3.0.

When your agent uses it

  • Tasks that involve 3D graphics and WebGL

Example prompts

  • “deixar melhor”
  • “gauntlet”
  • “não parece profissional”
  • “/gauntlet-fps”

Requirements

  • Python 3

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Baseline medido
  2. Críticos adversariais, um por frente
  3. Builders em paralelo, particionados por arquivo
  4. Captura + métricas, um agente só
  5. Verificação A/B + caçador de regressões
  6. Decida e repita

What it can do on your machine

Read from SKILL.md and the folder at commit 6277618. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm
    • node
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm and git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Gauntlet Fps loads about 2.6k tokens when it runs, and up to ~5.1k if it reads all its reference files. Until then it costs about 190 tokens; SKILL.md has 1,448 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~190
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from corosolto/client at commit 6277618, republished under its AGPL-3.0 licence (© corosolto). 1,448 words, ~2,585 tokens.

Download SKILL.mdSave it as .claude/skills/gauntlet-fps/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
gauntlet-fps
description
Roda o Gauntlet Loop do CS BRASIL / CORO SOLTO — o ciclo crítico-adversarial → builders em paralelo → captura medida → verificação A/B → caçador de regressões que melhora gráficos, mapas, armas, UI e jogabilidade do jogo FPS em Three.js. Use SEMPRE que o pedido for melhorar, avaliar, revisar ou "deixar melhor" qualquer parte do jogo — gráficos, fidelidade de mapa, feel das armas, menu, HUD, bots, movimento — mesmo que o usuário não diga "gauntlet". Use também quando ele reportar que algo ficou feio, estranho, quebrado ou "não parece profissional", quando pedir comparação com CS2/Valorant/CoD, ou quando quiser uma avaliação do estado do jogo. Não use para tarefas mecânicas de uma linha nem para perguntas conceituais que não mexem no jogo.

Gauntlet Loop — CS BRASIL / CORO SOLTO

Por que este loop existe

Um agente sozinho produz um resultado decente e para. Ele para porque ele mesmo é quem julga, e ele conhece toda a razão por trás de cada decisão que tomou — o que o torna excelente em explicar por que o próprio trabalho é aceitável.

O Gauntlet resolve isso com três regras que valem mais que qualquer instrução de estilo:

  1. A régua não é negociável. Não é "ficou bom", é "perde ou ganha de um frame de CS2, e por qual medida".
  2. Quem constrói nunca dá a nota. O crítico é outro agente, com contexto limpo, que só vê o pixel — nunca a justificativa do builder.
  3. O loop não tem número fixo de rodadas. Ele para quando você para, não quando o agente se declara satisfeito.

O que faz a diferença aqui não é o número de agentes — é que cada afirmação carregue um número e um arquivo:linha. Uma crítica que diz "melhore a iluminação" é ruído. Uma que diz "22,7% dos pixels de game-praca_poderes-169-a.png estão em L* < 3 e a causa é bloom.js:18 power=1.25" é trabalho.

Antes de qualquer coisa

Leia, nesta ordem:

  1. STATUS.md (em ../progress) — o estado atual, em ≤100 linhas. (Substituiu o topo do HANDOFF-KIMI.md, que virou HANDOFF-KIMI.md (fora da árvore pública) e agora é só histórico — leia de lá quando precisar da causa raiz de uma decisão antiga.)
  2. tools/eval/BAR-CONSISTENCIA.md — a régua vigente, com precedência sobre a BAR.md: 25 critérios de consistência e flow. Melhoria visual que quebra o jogo é regressão. 2b. tools/eval/BAR.md — a régua de fidelidade. Look técnico do CS2/Valorant, o que é alcançável em Three.js r160, como os lugares brasileiros retratados realmente são, e o checklist de 25 critérios A1–D4 mensuráveis num frame.
  3. tools/eval/ARCH.md — índice do game.js por linha, os levers de cada frente, e a tabela de conflito (quem pode editar qual arquivo/range). É gerado: rode npm run arch antes de ler, ou você lê o índice de ontem.
  4. KNOWN-BUGS.md (em ../progress) — os defeitos abertos, com arquivo:linha, causa raiz e passo de reprodução. É onde mora o placar real do quality gate, colado de execução de verdade.
  5. docs/docs/stack.md — com o que o jogo é feito (Three.js/WebGL sem build, Astro/Vercel, Supabase) e como o asset é gerado (mint.gg, Tripo3D, Meshy, OpenRouter). Os números dessa página são gerados por npm run docs.
  6. git status — o dono revisa antes de commitar. Não commite sem autorização explícita.

Ambiente

Verifique antes de planejar, porque isso muda tudo:

bash
nproc                      # quantos builders dá pra rodar em paralelo
ls /opt/pw-browsers        # chromium do playwright (headless, software rendering)
npm root -g                # onde mora o playwright

Se o repositório estiver na máquina do usuário via bridge e o browser só existir no container, espelhe a árvore para o container e trabalhe lá. Rendering por software (SwiftShader) roda o jogo a ~0,3 FPS — uma captura in-game leva de 4 a 6 minutos por mapa/aspecto. Planeje em torno disso; não trate lentidão como bug.

Servidor de teste (sem depender do astro dev):

bash
node tools/eval/serve.mjs 8123

O ciclo

1. Baseline medido
bash
CHROME_BIN=/opt/pw-browsers/chromium-*/chrome-linux/chrome \
  node tools/eval/gl-shots.mjs /root/shots/base all

Captura todos os mapas registrados × 2 aspectos (16:9 e 3:2 — o dono joga em 3:2) × 4 ângulos, mais as telas de menu. Sem baseline não existe A/B, e sem A/B o loop vira opinião.

2. Críticos adversariais, um por frente

Rode em paralelo, cada um com contexto limpo: gráficos, mapas/fidelidade, armas (visual e feel, notas separadas), UI (menu e HUD, notas separadas), jogabilidade.

O que faz um crítico ser útil:

  • Recebe os PNGs e o código, nunca o relatório do builder.
  • Entrega nota 0–10 e os N gaps ordenados por (impacto ÷ custo), cada um com: o que se vê no frame que denuncia, a causa em arquivo:linha, e a correção com números.
  • Instrução literal que vale repetir: "melhorar a iluminação" é resposta inválida; "SSAO half-res de 8 amostras no composite do bloom.js, raio 0.6m, e chão 8 pontos de L* mais escuro que as paredes" é resposta válida.

Deixe os críticos escreverem scripts Python (PIL está instalado) para medir L*, saturação, contraste e % de blocos chapados. Medir é barato e transforma a crítica em algo que a próxima rodada pode conferir.

3. Builders em paralelo, particionados por arquivo

Use a tabela de conflito do ARCH.md — que é GERADA (npm run arch), justamente porque um índice por linha escrito à mão desatualiza no primeiro commit. Este parágrafo é a prova viva: ele afirmava "o game.js tem 3.234 linhas" e continuou afirmando isso enquanto o arquivo dobrava de tamanho, porque nenhuma régua olhava para ele. Por isso nenhum número de tamanho de arquivo é escrito aqui — rode npm run arch antes de particionar e leia o número de lá. O mesmo vale para a documentação: npm run docs gera, npm run docs:check reprova (está no check:fast).

O game.js é grande e todas as frentes precisam dele — por isso a regra:

Em game.js, use somente a ferramenta Edit. Nunca Write. Outros agentes estão editando outras regiões do mesmo arquivo ao mesmo tempo.

Partição que funciona: gráficos-core (bloom.js, textures.js, renderer) · um agente por map_*.js · armas (weapons.js, vmattach.js, springs.js, fparms.js + ranges de arma no game.js) · UI (style.css, index.astro, HUD) · jogabilidade (bots, movimento, rounds).

Regras que cada builder precisa receber:

  • Kill-switch por querystring em toda mudança arriscada (?ao=0, ?fxaa=0, ?water=0…) e degradação segura em quality === 'low'.
  • node --check em cada arquivo editado antes de retornar.
  • Alvo de 60 fps em GPU de notebook. Nada de SSAO full-res com 32 amostras.
  • Comentário em português explicando o porquê — é a cultura do repo e é o que sobrevive ao próximo handoff.
Show full SKILL.md (548 more words)Show less
4. Captura + métricas, um agente só

Um único agente roda browser. Duas sessões headless pesadas em paralelo derrubam o boot e produzem "countdown travado" que parece bug e é carga. Chrome zumbi de runs falhas come 200% de CPU — mate por pkill -f chrome antes de capturar.

Esse agente também mede e reporta, por mapa: tempo até live, renderer.info (calls, triangles, textures, programs, geometries) e usedJSHeapSize após 30s. O projeto já teve crash de OOM — heap acima de ~350MB é alarme, e contagem de texturas subindo rápido é o precursor.

5. Verificação A/B + caçador de regressões

Dois críticos novos, contexto limpo:

  • A/B: compara base × r1 × r2 frame a frame, roda o checklist A1–D4 de novo, e diz quais critérios saíram de FAIL para PASS.
  • Caçador de regressões: missão única de achar o que piorou. Este é o agente que paga o loop inteiro.

Truque que funciona muito bem: para isolar o viewmodel da arma sem máscara manual, pegue os pixels invariantes entre os 4 ângulos do mesmo mapa/aspecto — o cenário muda, a arma não. Dá para medir borda esquerda, borda direita e área de tela do viewmodel com precisão de subpixel.

Diga ao caçador, explicitamente: se não houver regressão, diga isso — não invente.

6. Decida e repita

Leia os vereditos, monte a rodada seguinte com as regressões em primeiro lugar (regressão não pode dormir), e rode de novo. Pare quando você quiser parar.

Detector de loop: se duas rodadas seguidas não moveram nenhum critério de FAIL para PASS, o loop está girando — mude de frente, troque o crítico (contexto limpo de verdade, não o mesmo com outro nome), ou pare e reporte o platô medido. Rodada que não move número é custo, não progresso.

Página viva

Gere uma página HTML com os pares antes/depois embutidos como data URL (redimensione para ~760px, JPEG q62 — 34 pares cabem em ~2MB) e entregue ao usuário a cada rodada. Ele acompanha do celular sem interromper o loop.

Armadilhas caras deste projeto (não repita)

ArmadilhaO que acontece
Validar framing de arma só em 16:9O dono joga em 3:2. Já custou uma rodada inteira.
Girar a arma para "expor identidade"Causa raiz do "mira num lugar, a arma aponta pro outro". Direção validada pelo dono: funcional > identidade por ângulo. Yaw ≤ 0,09.
Orientação de arma no olhoSempre medição objetiva (weapontest.html, weapon-capture.mjs). O cano pode correr em qualquer eixo do model space; o medidor por slab em Z pega os dedos.
Preload de todas as viewmodelsFoi o crash "Aw Snap" (OOM). Hoje é lazy-load. Não desfaça.
Calibrar exposição pelo frame mais escuroUma rodada calibrou assim e inverteu a ordem entre mapas: o Piscinão, mapa de praia, virou o mais escuro. Calibre pela média dos 8 frames.
Mexer em .js sem bumpar o ?v=O import map do index.astro serve módulo velho do cache. Já custou dias de "correção que não chegava".
// em CSSNão é comentário. O parser engole o bloco seguinte. Já matou um @keyframes inteiro.
Duas capturas headless em paraleloDerruba o boot e falsifica a medição.

Referências

  • references/prompts.md — esqueletos dos prompts de crítico, builder, captura e caçador de regressões, prontos para adaptar.
  • references/metricas.md — como medir L*, saturação, contraste WCAG, blocos chapados e a máscara do viewmodel.
  • tools/eval/BAR.md e tools/eval/ARCH.md no repo — a régua e o mapa de conflito.

© corosolto, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in .claude/skills/gauntlet-fps of corosolto/client.

  • SKILL.md
  • references/metricas.md
  • references/prompts.md

Open the folder on GitHubat commit 6277618

Compare with similar skills

Gauntlet Fps next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Gauntlet Fps compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Gauntlet Fps this skillcorosolto/client257—~2.6kAutomated safety check: PassAGPL-3.0
Image to Three.js Modelimg2threejs/img2threejs18k1 repos~8.2kAutomated safety check: PassApache-2.0
Web CloneJane-xiaoer/claude-skill-web-clone1k1 repos~2.7kAutomated safety check: PassMIT
Threejs Game Directormajidmanzarpour/threejs-game-skills2.5k—~2.2kAutomated safety check: PassMIT
Threejs Gameplay Systemsvalkor-ai/loom1.2k1 repos~1.4kAutomated safety check: PassApache-2.0
Threejs World Generationcalesthio/OpenMontage66k—~2kAutomated safety check: PassAGPL-3.0

Similar skills

  • Image to Three.js Model

    img2threejs/img2threejs

    Rebuilds the object in a reference image as a procedural, animation-ready Three.js model written entirely in code, using staged sculpting with quality checks.

    18k GitHub starsUsed in 1 repo~8.2k tokens
    Game DevelopmentAuto-check passed
  • Web Clone

    Jane-xiaoer/claude-skill-web-clone

    网站复刻 / 克隆方法论。USE WHEN 用户说 复刻网站、克隆网站、clone website、抄个站、仿站、 照着这个站做一个、reproduce site、还原某个网页效果、把这个站搬下来改成我的、 复刻某个交互/WebGL/Canvas/Three.js 效果。提供「先拿真源码 → 判路径 → 逆向拆解 → 搭工程 → 替换内容」的可移植决策树,覆盖静态站 /…

    1k GitHub starsUsed in 1 repo~2.7k tokens
    Game DevelopmentAuto-check passed
  • Threejs Game Director

    majidmanzarpour/threejs-game-skills

    Entrypoint for building, upgrading, and finishing Three.js browser games.

    2.5k GitHub stars~2.2k tokensUpdated 11 days ago
    Game DevelopmentAuto-check passed
  • Build and iterate playable Three.js game systems: starter scaffold, architecture, design briefs, core loops, level and encounter design, entities, input, camera, collision and physics, scoring…

    1.2k GitHub starsUsed in 1 repo~1.4k tokens
    Game DevelopmentAuto-check passed
  • Threejs World Generation

    calesthio/OpenMontage

    Build deterministic, editable, free-viewpoint Three.js worlds from text or structured briefs.

    66k GitHub stars~2k tokensUpdated 6 days ago
    Game DevelopmentAuto-check passed
  • 3Dviz Pro Max Scene Builder

    viettranx/3dviz-pro-max

    Guides building an expressive 3D scene in Three.js or Blender by reasoning through intent, object construction and scientific grounding before using a catalog of recipes and kits.

    697 GitHub stars~2.8k tokensUpdated 28 days ago
    Game DevelopmentAuto-check passed

More from corosolto/client

All 21 skills in this repo
  • Threejs Gameplay Systems

    corosolto/client

    Build and iterate playable Three.js game systems. An agent skill from corosolto/client.

    257 GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Threejs Gltf Loading

    corosolto/client

    Load glTF/GLB models in three.js with GLTFLoader and play their skinned animations with AnimationMixer, including DRACO/Meshopt-compressed meshes and KTX2 textures.

    257 GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check passed
  • Threejs 3D Generator

    corosolto/client

    Generate, texture, rig, animate, stylize, convert, and download 3D assets for Three.js games using the Tripo API.

    257 GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Light and shade a three.js scene: choose materials (MeshStandardMaterial PBR vs unlit MeshBasicMaterial), add ambient/hemisphere/directional/point/spot lights, turn on shadow maps, and use an…

    257 GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check passed
  • Threejs Scene Setup

    corosolto/client

    Stand up a three.js scene: import maps and the three/addons path, the Scene/PerspectiveCamera/WebGLRenderer trio, the setAnimationLoop render loop, responsive resize, and OrbitControls.

    257 GitHub starsUsed in 1 repo~1.7k tokens
    Auto-check passed
  • Threejs Game Director

    corosolto/client

    Primary entrypoint for complete Three.js browser game creation and premium iteration.

    257 GitHub stars~2.8k tokensUpdated today
    Auto-check passed

Works with

Questions about Gauntlet Fps

What does Gauntlet Fps do?

Roda o Gauntlet Loop do CS BRASIL / CORO SOLTO — o ciclo crítico-adversarial → builders em paralelo → captura medida → verificação A/B → caçador de regressões que melhora gráficos, mapas, armas, UI…. Gauntlet Fps is an agent skill from corosolto/client.js.

When should I use Gauntlet Fps?

Gauntlet Fps fits situations like: tasks that involve 3D graphics and WebGL.

How do I install Gauntlet Fps in Claude Code?

Run `npx skills add corosolto/client --skill gauntlet-fps -a claude-code`. Or copy the skill folder (.claude/skills/gauntlet-fps in corosolto/client) into .claude/skills/gauntlet-fps in your project. Claude Code loads it when a task matches its description.

How do I install Gauntlet Fps in Codex?

Run `npx skills add corosolto/client --skill gauntlet-fps -a codex`. Or copy the skill folder (.claude/skills/gauntlet-fps in corosolto/client) into .agents/skills/gauntlet-fps in your project. Codex loads it when a task matches its description.

Can I use Gauntlet Fps in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add corosolto/client --skill gauntlet-fps -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/gauntlet-fps, .gemini/skills/gauntlet-fps, .github/skills/gauntlet-fps and .opencode/skills/gauntlet-fps in your project.

What does Gauntlet Fps need to run?

Going by SKILL.md and its folder, Gauntlet Fps needs the command-line tools its instructions call (npm, node and git). Our summary lists: Python 3.

Does Gauntlet Fps access the network?

SKILL.md contains no URLs. Its commands use npm and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Gauntlet Fps safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Gauntlet Fps use?

Gauntlet Fps is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Gauntlet Fps use?

About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.5k tokens, read only when the agent opens those files.

What are the alternatives to Gauntlet Fps?

Skills that share tags, products or a category with Gauntlet Fps: Image to Three.js Model (img2threejs/img2threejs, 18k stars), Web Clone (Jane-xiaoer/claude-skill-web-clone, 1k stars), Threejs Game Director (majidmanzarpour/threejs-game-skills, 2.5k stars) and Threejs Gameplay Systems (valkor-ai/loom, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Gauntlet Fps?

corosolto (a GitHub organization) maintains it in corosolto/client, which has 257 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 9, 2026.

Source: corosolto/client on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.