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 skills add ggombee/code-forge --skill crawlergit clone --depth 1 https://github.com/ggombee/code-forgeWrote 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/ggombee/code-forge/crawler)<a href="https://agentmods.dev/skills/ggombee/code-forge/crawler"><img src="https://agentmods.dev/badge/skills/ggombee/code-forge/crawler/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/ggombee/code-forge/crawler"><img src="https://agentmods.dev/badge/skills/ggombee/code-forge/crawler.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.00037 | $0.00979 |
| Opus 5.5 | $0.00015 | $0.00392 |
| Sonnet 5.5 | $0.00007 | $0.00196 |
| Haiku 4.5 | $0.00004 | $0.00098 |
Grade A, and why
crawler 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 — 118 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Crawler Skill
Playwright exploration → API/Network analysis → Documentation → Code generation
Templates: document-templates.md · code-templates.md Checklists: pre-crawl-checklist.md · anti-bot-checklist.md References: playwriter-commands.md · crawling-patterns.md · selector-strategies.md · network-crawling.md
<trigger_conditions>
| 트리거 | 액션 |
|---|---|
| Crawling, scraping, crawl, scrape | 즉시 실행 |
| 웹사이트 데이터 추출 | 즉시 실행 |
| API 리버스 엔지니어링 | API 인터셉션 시작 |
| Anti-bot 우회 요청 | Anti-Detect 가이드 확인 |
</trigger_conditions>
워크플로우
| Phase | 작업 | 명령/방법 |
|---|---|---|
| 1. Session | 세션 생성 + 페이지 열기 | playwriter session new |
| 2. Explore | 구조 파악 | accessibilitySnapshot, screenshotWithAccessibilityLabels |
| 3. Analyze | API 인터셉트, 셀렉터 추출 | page.on('response'), getLocatorStringForElement |
| 4. Document | .forge/crawler/[site]/에 저장 |
Write |
| 5. Code | 크롤러 코드 생성 | code-templates.md |
Quick Commands
# 세션 생성 + 페이지 열기
playwriter session new
playwriter -s 1 -e "state.page = await context.newPage(); await state.page.goto('https://target.com')"
# 구조 파악
playwriter -s 1 -e "console.log(await accessibilitySnapshot({ page: state.page }))"
# API 응답 인터셉트
playwriter -s 1 -e $'
state.responses = [];
state.page.on("response", async res => {
if (res.url().includes("/api/")) {
try { state.responses.push({ url: res.url(), body: await res.json() }); } catch {}
}
});
'
# 인증 자료 추출
playwriter -s 1 -e "console.log(JSON.stringify(await context.cookies(), null, 2))"
playwriter -s 1 -e "console.log(await state.page.evaluate(() => localStorage.getItem('token')))"
# 셀렉터 변환
playwriter -s 1 -e "console.log(await getLocatorStringForElement(state.page.locator('aria-ref=e14')))"
What ships with it
8 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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 · 118 lines · 37 tokens per session scan A 5498bd21ef55
crawler is a skill published in the GitHub repository ggombee/code-forge (18 stars, last pushed 2d ago), licensed MIT. It adds 37 tokens to every session and 979 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.
crawler compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| crawlerggombee/code-forge | Skill | 18 | 2d ago | MIT | A | 37 | Claude Code |
| test-sitemicrosoft/power-platform-skills | Skill | 1.1k | yesterday | MIT | A | 46 | Claude Code |
| preview-screensmicrosoft/power-platform-skills | Skill | 1.1k | yesterday | MIT | A | 41 | Claude Code |
| qaSethGammon/Citadel | Skill | 927 | yesterday | MIT | A | 56 | Claude Code |
| broken-link-checkernowork-studio/notfair-plugin | Skill | 4.1k | 8d ago | MIT | A | 70 | Claude Code |
| desktop-actLifecycle-Innovations-Limited/claude-ops | Skill | 548 | 4d ago | MIT | A | 41 | Claude Code |
| cloudflare-browser-renderingsecondsky/claude-skills | Skill | 245 | 6d ago | MIT | A | 37 | Claude Code |