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/skills/add-domain/SKILL.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/skills/jigglypop/gaesup-world/add-domain)<a href="https://agentmods.dev/skills/jigglypop/gaesup-world/add-domain"><img src="https://agentmods.dev/badge/skills/jigglypop/gaesup-world/add-domain/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/jigglypop/gaesup-world/add-domain"><img src="https://agentmods.dev/badge/skills/jigglypop/gaesup-world/add-domain.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.00066 | $0.01413 |
| Opus 5 | $0.00033 | $0.00707 |
| Sonnet 5 | $0.00013 | $0.00283 |
| Haiku 4.5 | $0.00007 | $0.00141 |
Grade A, and why
add-domain 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 — 94 lines — stays where its author put it; the contents beside it link to each section on GitHub.
도메인 추가/확장 절차
참조 구현: src/core/motions/ (가장 완성도 높은 도메인 — PhysicsSystem, MotionSystem, MotionBridge). 새 코드를 쓰기 전에 대응되는 motions 파일을 먼저 읽고 패턴을 복제할 것.
폴더 템플릿
src/core/<domain>/
core/ # Layer 1: 순수 엔진. react/zustand/@react-three/fiber import 금지(ESLint 차단). three/rapier 허용.
bridge/ # Layer 2: CoreBridge 상속. types.ts에 Entity/Snapshot/Command 타입.
hooks/ # Layer 3: use<Thing>.ts
components/ # Layer 3: <Name>/{index.tsx, styles.css, types.ts}
stores/ # <name>Store.ts 또는 slices/<name>/{slice.ts,types.ts}
__tests__/ # 테스트명 한글, 코드 옆 배치
types.ts index.ts plugin.ts
Layer 2 브리지 계약 (실제 시그니처)
CoreBridge<EngineType extends IDisposable, SnapshotType, CommandType> 상속 후 추상 메서드 3개만 구현:
@DomainBridge('<domain>')
@EnableEventLog()
export class FooBridge extends CoreBridge<FooEntity, FooSnapshot, FooCommand> {
private tempQuaternion = new THREE.Quaternion();
protected buildEngine(id: string, ...args: RuntimeValue[]): FooEntity | null { /* null 반환 = 등록 거부 */ }
@ValidateCommand()
protected executeCommand(entity: FooEntity, command: FooCommand, id: string): void { /* command.type별 switch */ }
protected createSnapshot(entity: FooEntity, id: string): FooSnapshot | null { /* 아래 할당 규칙 필수 */ }
}
- 스냅샷 할당 규칙:
getCachedSnapshot(id)로 가져와 in-place 갱신(snapshot.position.set(...)), 없을 때만 생성 후cacheSnapshot(id, s).createSnapshot은 프레임마다 불리므로 내부에서new THREE.*금지 — 임시 객체는 클래스 필드로 재사용(MotionBridge.tempQuaternion참조). - System 인스턴스 생성 시 DI 주입:
DIContainer.getInstance().injectProperties(system).buildEngine이 반환하는 엔티티는dispose()를 반드시 포함. - 브리지가 앱 시작 시 필요하면
src/core/initializeBridges.ts에 import 한 줄 추가(등록만 —BridgeFactory가 lazygetOrCreate). - 사용 가능한 데코레이터:
@DomainBridge(name),@EnableEventLog(),@ValidateCommand(),@LogSnapshot(),@Profile(),@HandleError(),@ManageRuntime({ autoStart })(boilerplate/decorators).
Layer 3 소비 계약
const entity = useManagedEntity(bridge, id, rigidBodyRef, {
onInit, onDispose, frameCallback, priority, throttle, skipWhenHidden, enabled, dependencies,
});
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 · 94 lines · 66 tokens per session scan A 955f0acc5a11
add-domain is a skill published in the GitHub repository jigglypop/gaesup-world (22 stars, last pushed 2d ago), licensed MIT. It adds 66 tokens to every session and 1,413 once invoked, about $0.0003 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 skills, from other repositories
next-cache-components-optimizer
Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…
next-partial-prefetching-optimizer
Optimize what selected Next.js client navigations include before the click under Partial Prefetching. Use after Cache Components and Partial Prefetching are adopted when the user wants selected URL-specific UI to be instant, wants reusable content to wait for navigation, or needs to choose between default, viewport…
react-patterns
React 18/19 patterns including hooks discipline, server/client component boundaries, Suspense + error boundaries, form actions, data fetching, state management decision trees, and accessibility-first composition. Use when writing or reviewing React components.
compiler-port
Port a compiler pass from TypeScript to Rust. Gathers context, plans the port, implements in a subagent with test-fix loop, then reviews.
verify
Build, launch, drive, and screenshot the OpenNOW Electron settings UI on Windows.
break
Renders a component you choose in every state and scenario on a temporary page and stress tests it.