Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/mupengi-bot/mupengismnpx agentmods add skills/mupengi-bot/mupengism/skill-routerWrote 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/mupengi-bot/mupengism/skill-router)<a href="https://agentmods.dev/skills/mupengi-bot/mupengism/skill-router"><img src="https://agentmods.dev/badge/skills/mupengi-bot/mupengism/skill-router/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/mupengi-bot/mupengism/skill-router"><img src="https://agentmods.dev/badge/skills/mupengi-bot/mupengism/skill-router.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.00058 | $0.02131 |
| Opus 5 | $0.00029 | $0.01066 |
| Sonnet 5 | $0.00012 | $0.00426 |
| Haiku 4.5 | $0.00006 | $0.00213 |
Grade A, and why
skill-router 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 10d 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 — 195 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Skill Router
사용자의 자연어 입력을 분석해서 적절한 스킬 1개 또는 여러 개를 자동 선택 + 순서 결정 + 연쇄 실행하는 메타 시스템.
🚀 v2 아키텍처: 로우레벨 호출 프로토콜
실행 흐름
1. skills/*/SKILL.md frontmatter만 스캔 (trigger 매칭)
- description + trigger 필드로 빠른 매칭
- 전체 본문 읽기 없음 → 토큰 절약 83%
2. 매칭된 스킬의 run 필드로 스크립트 경로 확인
- run: "./run.sh" → skills/{name}/run.sh
- run: "./run.js" → skills/{name}/run.js
3. exec로 스크립트 직접 실행
WORKSPACE=$HOME/.openclaw/workspace \
EVENTS_DIR=$WORKSPACE/events \
MEMORY_DIR=$WORKSPACE/memory \
bash $WORKSPACE/skills/{name}/run.sh [args]
4. stdout 결과를 에이전트가 처리
- JSON이면 파싱
- 텍스트면 그대로 전달
- 에러 시 stderr 확인
5. events_out에 따라 이벤트 생성
- events/{type}-{date}.json 파일 생성
- 후속 스킬이 events_in으로 소비
6. hooks 체크 → 후속 스킬 트리거
- post: ["skill-a", "skill-b"] → 자동 실행
- on_error: ["notification-hub"] → 에러 시 알림
스킬 메타데이터 스캔
# 모든 스킬의 frontmatter만 추출
for skill in skills/*/SKILL.md; do
yq eval '.name, .description, .trigger, .run' "$skill"
done
실행 예시
# 사용자: "일일 보고"
# → trigger 매칭: daily-report
# → 실행:
cd $HOME/.openclaw/workspace
WORKSPACE=$PWD \
EVENTS_DIR=$PWD/events \
MEMORY_DIR=$PWD/memory \
bash skills/daily-report/run.sh today
# stdout 결과를 에이전트가 포맷팅해서 사용자에게 전달
토큰 절약 효과
- 기존: SKILL.md 3000자 × 40개 = 120KB (~30K 토큰)
- v2: SKILL.md 500자 × 40개 = 20KB (~5K 토큰)
- 절약: 83% 토큰 절약
핵심 개념
OpenClaw는 이미 description 매칭으로 스킬 1개를 선택하지만, 이 스킬은:
- 복합 의도 감지: "경쟁사 분석하고 카드뉴스로 만들어줘" → competitor-watch + copywriting + cardnews + insta-post
- 맥락 기반 자동 훅: 어떤 스킬이 실행되면 후속 스킬 자동 판단
- 스킬 체인 템플릿: 자주 쓰는 조합을 미리 정의
의도 분류 매트릭스
단일 스킬 매핑 (1:1)
- "커밋/푸시/git" → git-auto
- "DM/인스타 메시지" → auto-reply
- "비용/토큰/얼마" → tokenmeter
- "번역/영어로" → translate
- "청구서/견적" → invoice-gen
- "코드 리뷰/PR" → code-review
- "시스템 상태/헬스" → health-monitor
- "트렌드/동향" → trend-radar
- "성과/반응/좋아요" → performance-tracker
- "일일 보고" → daily-report
- "SEO 감사" → seo-audit
- "브랜드 톤" → brand-voice
복합 스킬 체인 (1:N) — 핵심 파이프라인
| 트리거 패턴 | 스킬 체인 | 설명 |
|---|---|---|
| "콘텐츠 만들어줘/포스팅" | seo-content-planner → copywriting → cardnews → insta-post | 콘텐츠 풀 파이프라인 |
| "경쟁사 분석하고 보고서" | competitor-watch → daily-report → mail | 리서치→보고 |
| "이 영상 요약해서 카드뉴스" | yt-digest → content-recycler → cardnews → insta-post | 영상→콘텐츠 변환 |
| "주간 리뷰" | self-eval + tokenmeter + performance-tracker → daily-report | 종합 리뷰 |
| "콘텐츠 재활용" | performance-tracker → content-recycler → cardnews | 잘된 콘텐츠 재가공 |
| "아이디어 검토하고 실행" | think-tank(brainstorm) → decision-log → skill-composer | 발상→결정→실행 |
| "시장 조사" | competitor-watch + trend-radar + data-scraper → daily-report | 풀 리서치 |
| "릴리즈" | code-review → git-auto → release-discipline | 안전한 배포 |
| "아침 루틴" | health-monitor → tokenmeter → notification-hub → daily-report | 아침 자동 체크 |
What ships with it
1 file 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.
- 10d ago First seen · 195 lines · 58 tokens per session scan A 894962f4cc0a
skill-router is a skill published in the GitHub repository mupengi-bot/mupengism (10 stars, last pushed 2mo ago), licensed MIT. It adds 58 tokens to every session and 2,131 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-08-31.
Other skills, from other repositories
hive.browser-automation
Required before any hive-browser CLI command. The browser is driven from the terminal by running hive-browser ... --json via terminalexec — not via MCP tools. Teaches the browser lifecycle rules (the bridge attaches to the USER'S running Chrome — never kill or launch browser processes; timeouts are transport issues…
hive.worker-delegation
Concrete patterns for breaking colony work into parallel worker jobs via runplaybook — when fan-out helps, how to model the goal as a tracker table, write the worker skill, author the playbook, pilot, and let convergence retry/resume the gap.
hive.linkedin-automation
Read before automating LinkedIn with browser tools. LinkedIn combines shadow DOM (#interop-outlet), strict Trusted Types CSP that silently drops innerHTML, Lexical composer, native beforeunload dialogs that hang the bridge, and aggressive spam filters — each has bitten us at least once. Verified flows for profile…
hive.x-automation
Read before automating X / Twitter with browser tools. Verified flows for post, reply, delete, search-and-engage, plus the Draft.js compose quirks that silently disable the send button. Includes the daily-reply and job-market-reply playbooks. Requires hive.browser-automation for the underlying screenshot + coordinate…
hive.slack-notifications-setup
Set up a Slack notification channel (Sentinel) for a colony by driving the browser — reuse or create the "Hive Sentinel" Slack app from a JSON manifest, install it, capture the bot + app tokens, create/select the channel via the Slack API, and turn Sentinel on so the colony can ping the user on Slack and accept…
hive.pdf
Read, write, merge, split, rotate, watermark, encrypt, and OCR PDF files using Python (pypdf, pdfplumber, reportlab, pypdfium2) and command-line tools (poppler-utils, qpdf). Use when the user asks to extract text/tables/images from a PDF, create or modify a PDF, combine or split PDFs, OCR a scanned PDF…