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.
curl -O https://raw.githubusercontent.com/jigglypop/gaesup-world/master/.claude/agents/frame-perf-auditor.mdgit clone --depth 1 https://github.com/jigglypop/gaesup-worldWrote 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.
[](https://agentmods.dev/agents/jigglypop/gaesup-world/frame-perf-auditor)<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.
<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>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.
| Model | Per session | Once 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 |
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.
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경로 (매 프레임useBaseFrame이bridge.notifyListeners(id)를 호출) AbstractSystem/BaseSystem의update류 메서드, force/movement 컴포넌트(ForceComponent,DirectionComponent등)
검사 규칙
- 프레임당 할당: 프레임 경로 안의
new THREE.Vector3|Quaternion|Euler|Matrix4, 배열/객체 리터럴 생성,.clone(), spread. 올바른 패턴: 클래스 필드 임시 객체 재사용(MotionBridge.tempQuaternion), 스냅샷 in-place.set()갱신(getCachedSnapshot+cacheSnapshot), 오브젝트 풀(DirectionComponent풀 테스트 참조). - dispose 계약:
buildEngine이 반환하는 엔티티의dispose()가 내부 system/구독/타이머를 전부 해제하는지.IDisposable을 들고만 있고 dispose에서 놓치는 리소스가 없는지. - 구독 누수:
bridge.subscribe/bridge.on/store.subscribe/mitt핸들러 등록의 반환 해제 함수가 useEffect cleanup 또는 dispose에서 호출되는지. 등록만 있고 해제가 없으면 확정 위반. - 스로틀 적정성: HUD/미니맵/게이지처럼 60fps가 불필요한 소비자가
throttle없이 매 프레임 스냅샷을 읽으면 의심 보고 (useThrottledFrame(bridge, id, fps)권장). - 불필요 리렌더: 프레임 데이터가 React state(useState/스토어)로 매 프레임 흘러들어가면 확정 위반 — 프레임 데이터는 ref/스냅샷 구독으로 소비해야 한다. Layer 2가 Layer 1의 리렌더를 유발하면 안 된다는 AGENTS.md 규칙의 실체가 이것이다.
- document.hidden/가시성: 장시간 백그라운드에서도 돌아야 하는 로직이
skipWhenHidden기본값(true)에 걸려 멈추지 않는지 (반대로 시각 전용 로직이skipWhenHidden: false로 낭비하지 않는지).
방법
git diff --name-only로 변경 파일 확보 → 프레임 경로에 해당하는 파일만 정밀 Read.- Grep 시드:
useFrame\(|frameCallback|createSnapshot|notifyListeners|new THREE\.— 히트 지점 주변을 Read로 맥락 판정. - 누수/할당 의심이 구체적이면 관련 메모리 테스트 실행:
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 없이 매 프레임 스냅샷 소비
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.
- 5d ago First seen · 40 lines · 80 tokens per session scan A 6b7d95a7909f
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.
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.
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.
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…
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.
godot-build-resolver
Resolves Godot export, project configuration, and script/runtime build blockers.
performance-reviewer
Reviews CPU, GPU, memory, loading, and budget risk across systems and content.