Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/ggombee/code-forge/jestnpx skills add ggombee/code-forge --skill jestgit clone --depth 1 https://github.com/ggombee/code-forgeWhat 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 | $0.00027 | $0.01565 |
| Opus 5 | $0.00014 | $0.00783 |
| Sonnet 5 | $0.00005 | $0.00313 |
| Haiku 4.5 | $0.00003 | $0.00156 |
Grade A, and why
jest 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 yesterday.
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 — 223 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Jest 유닛 테스트 컨벤션
순수 함수(utils, helpers, lib, adapters)에 대한 유닛 테스트 작성 규칙.
컴포넌트/훅 테스트는 assayer 에이전트가 담당한다.
적용 대상
utils/,helpers/,lib/,adapters/내 순수 함수- 날짜 계산, 가격 계산, 포맷팅, 상태 변환, 데이터 매핑 등
파일 위치
{파일경로}/__tests__/{파일명}.test.ts
예시:
utils/period.ts→utils/__tests__/period.test.tsadapters/mapOrderToVm.ts→adapters/__tests__/mapOrderToVm.test.ts
테스트 구조 (필수 준수)
import { 함수명 } from '../파일명';
describe('함수명', () => {
// 날짜/시간 의존 함수는 필수
beforeAll(() => {
jest.useFakeTimers().setSystemTime(new Date('2025-01-15T00:00:00.000Z'));
});
afterAll(() => {
jest.useRealTimers();
});
describe('정상 케이스', () => {
it('일반적인 입력에 대해 올바른 결과 반환', () => {
expect(함수(입력)).toEqual(기대값);
});
});
describe('경계값', () => {
it('최소값 처리', () => {});
it('최대값 처리', () => {});
it('빈 값 처리', () => {});
});
describe('에러 케이스', () => {
it('잘못된 입력 시 에러/기본값 반환', () => {});
});
});
테스트 케이스 도출 (필수)
| 카테고리 | 설명 | 예시 |
|---|---|---|
| 정상 케이스 | 일반적인 유효 입력 | getPeriod('last14Days') |
| 경계값 | 0, 빈 배열, null, undefined | formatPrice(0) |
| 에러 케이스 | 잘못된 타입, 범위 초과 | getPeriod('invalid') |
| 정책 케이스 | 비즈니스 규칙 반영 | last14Days는 14일 전부터 |
날짜 함수 필수 케이스
describe('getPeriod', () => {
beforeAll(() => {
jest.useFakeTimers().setSystemTime(new Date('2025-01-15T00:00:00.000Z'));
});
afterAll(() => {
jest.useRealTimers();
});
it('last14Days - 오늘 기준 14일 전부터 오늘까지', () => {
expect(getPeriod('last14Days')).toEqual(['2025-01-01', '2025-01-15']);
});
it('thisMonth - 해당 월 1일부터 말일까지', () => {
expect(getPeriod('thisMonth')).toEqual(['2025-01-01', '2025-01-31']);
});
it('lastMonth - 이전 월 1일부터 말일까지', () => {
expect(getPeriod('lastMonth')).toEqual(['2024-12-01', '2024-12-31']);
});
it('잘못된 옵션 입력 시 기본값 반환', () => {
expect(getPeriod('invalid')).toEqual(['2025-01-01', '2025-01-15']);
});
});
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.
- yesterday First seen · 223 lines · 27 tokens per session scan A 6ab0333c72ec
jest is a skill published in the GitHub repository ggombee/code-forge (13 stars, last pushed 2mo ago), licensed MIT. It adds 27 tokens to every session and 1,565 once invoked, about $0.0001 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-08-30.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
babysit-pr
Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep…
imagegen
Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output…
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
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…