Borrowing it
Nothing to install: this file belongs to hexianWeb/Third-Person-MC. 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/hexianWeb/Third-Person-MC/main/.agent/skills/vtj-anti-patterns/SKILL.mdgit clone --depth 1 https://github.com/hexianWeb/Third-Person-MCWrote 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/skills/hexianweb/third-person-mc/vtj-anti-patterns)<a href="https://agentmods.dev/skills/hexianweb/third-person-mc/vtj-anti-patterns"><img src="https://agentmods.dev/badge/skills/hexianweb/third-person-mc/vtj-anti-patterns/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/skills/hexianweb/third-person-mc/vtj-anti-patterns"><img src="https://agentmods.dev/badge/skills/hexianweb/third-person-mc/vtj-anti-patterns.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00035 | $0.02224 |
| Opus 5.5 | $0.00014 | $0.00890 |
| Sonnet 5.5 | $0.00007 | $0.00445 |
| Haiku 4.5 | $0.00003 | $0.00222 |
Grade A, and why
vtj-anti-patterns 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 2mo 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 — 290 lines — stays where its author put it; the contents beside it link to each section on GitHub.
vite-threejs Anti-Patterns (禁止事项)
Overview
本文档列出本项目中 禁止的做法。违反这些规则会导致 bug、内存泄漏或维护困难。
在编写任何代码之前,请先检查此列表。
禁止清单
1. 类型安全
| 禁止 | 原因 | 正确做法 |
|---|---|---|
as any |
隐藏类型错误 | 正确定义类型 |
@ts-ignore |
绕过检查 | 修复类型问题 |
@ts-expect-error |
绕过检查 | 修复类型问题 |
// ❌ FORBIDDEN
const value = someObject as any
// @ts-ignore
problematicCode()
// ✅ CORRECT
const value = someObject // 确保类型正确
2. 错误处理
| 禁止 | 原因 | 正确做法 |
|---|---|---|
| 空 catch 块 | 吞掉错误,调试困难 | 记录或重新抛出 |
| 删除失败的测试 | 隐藏问题 | 修复测试或标记 skip |
// ❌ FORBIDDEN
try {
riskyOperation()
}
catch (e) {} // 空 catch!
// ✅ CORRECT
try {
riskyOperation()
}
catch (e) {
console.error('Operation failed:', e)
// 或重新抛出
throw e
}
3. 资源管理
| 禁止 | 原因 | 正确做法 |
|---|---|---|
| 缺少 destroy() | 内存泄漏 | 涉及 Object3D 必须实现 |
| 不清理事件监听 | 内存泄漏 | destroy() 中 emitter.off() |
| 不 dispose 材质/几何体 | GPU 内存泄漏 | 销毁时 dispose() |
// ❌ FORBIDDEN: 创建 mesh 但没有 destroy
class BadComponent {
constructor() {
this.mesh = new THREE.Mesh(...)
this.scene.add(this.mesh)
emitter.on('event', this.handler.bind(this))
}
// 没有 destroy() → 泄漏!
}
// ✅ CORRECT
class GoodComponent {
constructor() {
this.mesh = new THREE.Mesh(...)
this.scene.add(this.mesh)
this._boundHandler = this.handler.bind(this)
emitter.on('event', this._boundHandler)
}
destroy() {
emitter.off('event', this._boundHandler)
this.scene.remove(this.mesh)
this.mesh.geometry?.dispose()
this.mesh.material?.dispose()
this.mesh = null
}
}
4. 输入处理
| 禁止 | 原因 | 正确做法 |
|---|---|---|
| 手动计算 NDC | 不一致,易出错 | 使用 iMouse.normalizedMouse |
| 直接监听 window 事件 | 绕过输入系统 | 使用 mitt 事件 |
| 匿名事件监听器 | 无法清理 | 保存函数引用 |
// ❌ FORBIDDEN
const x = (event.clientX / window.innerWidth) * 2 - 1
window.addEventListener('keydown', e => this.handle(e))
emitter.on('event', data => this.process(data))
// ✅ CORRECT
const ndc = this.iMouse.normalizedMouse
emitter.on('input:jump', this._boundHandler) // 保存引用
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.
- 2mo ago First seen · 290 lines · 35 tokens per session scan A 19f98c840e7c
vtj-anti-patterns is a skill published in the GitHub repository hexianWeb/Third-Person-MC (197 stars, last pushed 3mo ago), licensed MIT. It adds 35 tokens to every session and 2,224 once invoked, about $0.0001 per session on Opus 5.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-08-30.
Other skills, from other repositories
super-claudio-brothers
Generate a unique themed Super Claudio Brothers platformer. Creates a custom level, colour palette, enemy look, and Claudio costume. Every run produces a different game.
build-ghost-app-ui
Build a Ghost app's screens with Shade, Ghost's design system, and find its docs and skills. Use when building or changing a Ghost app's UI, or adding Shade to an app.
shade-tokens-not-hex
Colour Ghost UI with Shade's semantic tokens. Use when choosing colours or styling UI, including surfaces, text, borders and hover states.
shade-use-primitives
Lay out Ghost UI with Shade's layout primitives. Use when laying out a screen, section or row, or when spacing, aligning, stacking or wrapping elements.
shade-no-dark-variants
Make dark mode work through Shade's semantic tokens. Use when writing or reviewing dark: classes, or when something looks wrong only in dark mode.
audio-and-sound
Use this skill when adding audio or sound to a Phaser 4 game. Covers loading audio, playing sounds, music, volume, spatial audio, Web Audio API, and SoundManager. Triggers on: sound, audio, music, volume, mute.