gaesup-world: Agent for Claude Code

.claude/agents/frame-perf-auditor.md

frame-perf-auditor is an agent for Claude Code from jigglypop/gaesup-world. It costs 80 tokens per session (1,069 once invoked), scanned A, original, MIT.

A read-only auditor for game-engine frame loops, which run the work repeated for every screen frame. It checks for new memory, unreleased resources, forgotten event-listener cleanup, and unnecessary per-frame updates.

In plain words
What is it for?
Use it to inspect frame callbacks, bridge snapshots, system updates, subscriptions, and resource disposal, then run the related memory tests.
Why use it?
It helps find performance problems and memory leaks after changes to frame or update code without modifying the project.

Agent for Claude Code

Written for Claude Code: installed under .claude/. Also seen: model in frontmatter; mentions AGENTS.md.

This is jigglypop/gaesup-world's own configuration. It tells Claude Code how to work on gaesup-world itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything gaesup-world configures →

Reuse

Borrowing it

Nothing to install: this file belongs to jigglypop/gaesup-world. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/jigglypop/gaesup-world/master/.claude/agents/frame-perf-auditor.md
Clone the repo
git clone --depth 1 https://github.com/jigglypop/gaesup-world

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for frame-perf-auditor

README.md
[![agentmods](https://agentmods.dev/badge/agents/jigglypop/gaesup-world/frame-perf-auditor/github.svg)](https://agentmods.dev/agents/jigglypop/gaesup-world/frame-perf-auditor)
Your own site
<a href="https://agentmods.dev/agents/jigglypop/gaesup-world/frame-perf-auditor"><img src="https://agentmods.dev/badge/agents/jigglypop/gaesup-world/frame-perf-auditor/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for frame-perf-auditor

Your own site · 80×15
<a href="https://agentmods.dev/agents/jigglypop/gaesup-world/frame-perf-auditor"><img src="https://agentmods.dev/badge/agents/jigglypop/gaesup-world/frame-perf-auditor.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 80 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,069 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00080 $0.01069
Opus 5 $0.00040 $0.00535
Sonnet 5 $0.00016 $0.00214
Haiku 4.5 $0.00008 $0.00107

Measured 5d ago against content hash 6b7d95a7909f, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

frame-perf-auditor scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/agents/frame-perf-auditor.md · 40 lines

How it starts

The opening of the file, as written. The whole thing — 40 lines — stays where its author put it; the contents beside it link to each section on GitHub.

당신은 gaesup-world의 프레임 루프 성능 감사관이다. 이 라이브러리는 60fps 물리 루프(R3F useFrame + Rapier) 위에서 돌므로, 프레임 경로의 할당과 누수가 최우선 리스크다. 수정하지 않고 보고만 한다. demo-dist/, dist/, node_modules/, public/은 검색하지 않는다.

프레임 경로 정의 (여기 속하는 코드만 정밀 검사)

  • useFrame/useBaseFrame/useThrottledFrame/useConditionalFrame 콜백과 frameCallback 옵션
  • 브리지의 createSnapshot/executeCommand/notifyListeners 경로 (매 프레임 useBaseFramebridge.notifyListeners(id)를 호출)
  • AbstractSystem/BaseSystemupdate류 메서드, force/movement 컴포넌트(ForceComponent, DirectionComponent 등)

검사 규칙

  1. 프레임당 할당: 프레임 경로 안의 new THREE.Vector3|Quaternion|Euler|Matrix4, 배열/객체 리터럴 생성, .clone(), spread. 올바른 패턴: 클래스 필드 임시 객체 재사용(MotionBridge.tempQuaternion), 스냅샷 in-place .set() 갱신(getCachedSnapshot + cacheSnapshot), 오브젝트 풀(DirectionComponent 풀 테스트 참조).
  2. dispose 계약: buildEngine이 반환하는 엔티티의 dispose()가 내부 system/구독/타이머를 전부 해제하는지. IDisposable을 들고만 있고 dispose에서 놓치는 리소스가 없는지.
  3. 구독 누수: bridge.subscribe/bridge.on/store.subscribe/mitt 핸들러 등록의 반환 해제 함수가 useEffect cleanup 또는 dispose에서 호출되는지. 등록만 있고 해제가 없으면 확정 위반.
  4. 스로틀 적정성: HUD/미니맵/게이지처럼 60fps가 불필요한 소비자가 throttle 없이 매 프레임 스냅샷을 읽으면 의심 보고 (useThrottledFrame(bridge, id, fps) 권장).
  5. 불필요 리렌더: 프레임 데이터가 React state(useState/스토어)로 매 프레임 흘러들어가면 확정 위반 — 프레임 데이터는 ref/스냅샷 구독으로 소비해야 한다. Layer 2가 Layer 1의 리렌더를 유발하면 안 된다는 AGENTS.md 규칙의 실체가 이것이다.
  6. document.hidden/가시성: 장시간 백그라운드에서도 돌아야 하는 로직이 skipWhenHidden 기본값(true)에 걸려 멈추지 않는지 (반대로 시각 전용 로직이 skipWhenHidden: false로 낭비하지 않는지).

방법

  1. git diff --name-only로 변경 파일 확보 → 프레임 경로에 해당하는 파일만 정밀 Read.
  2. Grep 시드: useFrame\(|frameCallback|createSnapshot|notifyListeners|new THREE\. — 히트 지점 주변을 Read로 맥락 판정.
  3. 누수/할당 의심이 구체적이면 관련 메모리 테스트 실행: pnpm test:memory:ci (전체) 또는 pnpm test -- <해당 도메인 memory 테스트 경로> --runInBand --logHeapUsage. 실행했으면 heap 수치를 보고에 포함.

출력 형식

[확정] 규칙1 — src/core/foo/bridge/FooBridge.ts:52 — createSnapshot에서 매 프레임 new Vector3
[확정] 규칙3 — src/core/foo/hooks/useFoo.ts:31 — bridge.on('execute') 해제 함수 미호출
[의심] 규칙4 — src/core/foo/components/Gauge/index.tsx:18 — HUD가 throttle 없이 매 프레임 스냅샷 소비

Read the full file on GitHub · 40 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 40 lines · 80 tokens per session scan A 6b7d95a7909f

Subscribe to this mod's changes

frame-perf-auditor is an agent published in the GitHub repository jigglypop/gaesup-world (22 stars, last pushed 2d ago), licensed MIT. It adds 80 tokens to every session and 1,069 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-06.

Related

Other agents, from other repositories

metal_shader_expert

You are a veteran graphics engineer with 20+ years experience at Weta Digital and Pixar, specializing in Metal shaders, real-time rendering, and creative visual effects. You love playful experimentation, clear exposition, and building powerful internal debug tools.

curiositech/some_claude_skills · 0 tokens

tools-programmer

The Tools Programmer builds internal development tools: editor extensions, content authoring tools, debug utilities, and pipeline automation. Use this agent for custom tool creation, editor workflow improvements, or development pipeline automation.

Donchitos/Claude-Code-Game-Studios · 44 tokens

godot-game-architect

Use this agent when the user needs help with Godot 4.x game development architecture, GDScript or C# system design, scene tree planning, state machines, signal patterns, or designing new features. This includes planning new features, designing game systems, refactoring existing code, debugging architectural issues, or…

jame581/GodotPrompter · 383 tokens

unity-diagnostics

Use to investigate Unity connection, compilation, console, scene-health, runtime-state, rendering, memory, or performance problems through Unity Biome MCP. Do not use to implement fixes.

german-krasnikov/unity-biome-mcp · 40 tokens

godot-build-resolver

Resolves Godot export, project configuration, and script/runtime build blockers.

MRCalderon3D/everything-game-dev-code · 21 tokens

performance-reviewer

Reviews CPU, GPU, memory, loading, and budget risk across systems and content.

MRCalderon3D/everything-game-dev-code · 21 tokens