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/humanerd-drew/opencode-drewgent/skill-gymnpx skills add humanerd-drew/opencode-drewgent --skill skill-gymgit clone --depth 1 https://github.com/humanerd-drew/opencode-drewgentWrote 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/humanerd-drew/opencode-drewgent/skill-gym)<a href="https://agentmods.dev/skills/humanerd-drew/opencode-drewgent/skill-gym"><img src="https://agentmods.dev/badge/skills/humanerd-drew/opencode-drewgent/skill-gym.svg" alt="Measured on agentmods" 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 | $0.00000 | $0.02137 |
| Opus 5 | $0.00000 | $0.01069 |
| Sonnet 5 | $0.00000 | $0.00427 |
| Haiku 4.5 | $0.00000 | $0.00214 |
Grade B, and why
skill-gym scanned grade B with 2 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 4d 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.
Sends data to an external URLmediumData exfiltration
A POST to an outside endpoint may be telemetry or may be exfiltration; either way the mod talks to somewhere, and you should know where.
resp = requests.post( "http://<OLLAMA_HOST>:11434/api/embeddings", Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
resp = requests.post( How it starts
The opening of the file, as written. The whole thing — 216 lines — stays where its author put it; the contents beside it link to each section on GitHub.
space: outcome type: document
Skill Gym
{{AGENT_NAME}} 에이전트의 스킬 활용을 주기적으로 분석하여 미사용 스킬의 활용 가능성을 추천하고, 삭제 고려 대상을 표시하는 자기反省 시스템.
목적
- 인지적 사각지대 해소 — 사용자가 모르는 스킬을 "있었네요"로 전환
- 오케스트레이터 편향 보완 — routing 바이어스를 의외성 메커니즘으로 보완
- 스킬 건강도 감사 — 방치된 스킬의 유지 가치를 정기적으로 검토
용어 정의
| 용어 | 정의 |
|---|---|
| 미사용 스킬 | skill_view()로 최근 로드된 적 없는 스킬 (state.db 기준) |
| 후보 풀 (candidate pool) | never_used + used_old (7일 이상 미사용) 스킬 |
| 관련성 점수 (relevance) | 0.0~1.0. {{AGENT_NAME}} 메모리 + 세션 키워드 vs 스킬 description 매칭 |
| 의외성 점수 (surprise) | 0.0~1.0. 최근 사용 스킬과 카테고리 거리가 클수록 높음 |
| 종합 점수 (combined) | relevance × 0.6 + surprise × 0.4 |
| 삭제 후보 | never_used 스킬 중 파일 크기 큰 순 (단순히 크다고 지우는 게 아님) |
Phase 1 — Weekly: 미사용 스킬 추천
실행 방법
python3 ~/.{{AGENT_NAME_LOWER}}/skills/skill-gym/scripts/gather_skill_data.py --since-days 30
출력된 JSON을 분석하여 Discord 보고서를 작성합니다.
보고서 작성 규칙
보고서는 반드시 다음 구조를 따릅니다:
## 🏋️ Skill Gym Weekly Report — {날짜}
**프로젝트 맥락 키워드:** [상위 5개]
**대상 기간:** 최근 {since_days}일
### 📊 현황
- 총 스킬: {total_skills}
- 사용 중 (7일 이내): {used_recently}
- 장기 미사용 (7일 초과): {used_old}
- 한 번도 사용 안 함: {never_used}
### 🎯 추천 스킬 (종합 점수 순, 상위 6개)
---
#### [{index}. {name}] **{category}**
| 지표 | 점수 |
|------|------|
| 관련성 | {relevance}/1.0 |
| 의외성 | {surprise}/1.0 |
| 종합 | {combined}/1.0 |
| 마지막 사용 | {last_used or '없음'} |
**설명:** {description}
**활용 시나리오:** {scenario}
---
### 💡 활용 방법
스킬을 로드하려면:
/{slugified_name}
### ⚠️ 참고
- 의외성 점수는 카테고리 거리를 기반으로 랜덤 변동이 있습니다
- 추천은 판단 보조 도구이며, 최종 판단은 사용자에게 있습니다
- 관련성 점수는 {{AGENT_NAME}} 메모리 + 세션 키워드 기반입니다
조합 점수 산출 로직
combined_score = relevance * 0.6 + surprise * 0.4
# 관련성 (0.0~1.0)
- {{AGENT_NAME}} memories (MEMORY.md, insights/) + 최근 세션 JSONL에서 키워드 추출
- 각 스킬의 name + description + category + tags 매칭
- 매칭률 × 2 (너무 낮으면 부스트)
# 의외성 (0.0~1.0)
- 최근 14일 내 사용한 스킬의 카테고리 집합 S_used 정의
- 후보 스킬의 카테고리가 S_used와 겹치면 → surprise 낮음 (0.1~0.4)
- 후보 스킬의 카테고리가 S_used와 다르면 → surprise 높음 (0.6~1.0)
- 카테고리 정보 없으면 랜덤 (0.4~0.9)
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.
- 4d ago First seen · 216 lines · 0 tokens per session scan B b16bf0c65d6c
skill-gym is a skill published in the GitHub repository humanerd-drew/opencode-drewgent (2 stars, last pushed 1mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 2,137 tokens. A static security scan graded it B with 2 findings (sends data to an external url, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
auto-perf-optimize
Run agent-driven VS Code performance or memory investigations. Use when asked to launch Code OSS, automate a VS Code scenario, run the Chat memory smoke runner, capture renderer heap snapshots, take workflow screenshots, compare run summaries, or drive a repeatable scenario before heap-snapshot analysis.
chat-perf
Run chat perf benchmarks and memory leak checks against the local dev build or any published VS Code version. Use when investigating chat rendering regressions, validating perf-sensitive changes to chat UI, or checking for memory leaks in the chat response pipeline.
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
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…