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/imjszhang/js-eyes/js-github-ops-skillnpx skills add imjszhang/js-eyes --skill js-github-ops-skillgit clone --depth 1 https://github.com/imjszhang/js-eyesWrote 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/imjszhang/js-eyes/js-github-ops-skill)<a href="https://agentmods.dev/skills/imjszhang/js-eyes/js-github-ops-skill"><img src="https://agentmods.dev/badge/skills/imjszhang/js-eyes/js-github-ops-skill.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.00032 | $0.01028 |
| Opus 5 | $0.00016 | $0.00514 |
| Sonnet 5 | $0.00006 | $0.00206 |
| Haiku 4.5 | $0.00003 | $0.00103 |
Grade A, and why
js-github-ops-skill 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 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.
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 — 97 lines — stays where its author put it; the contents beside it link to each section on GitHub.
js-github-ops-skill
面向 github.com 的只读 + 仅改浏览器 URL(location.assign)的 JS Eyes 扩展技能。READ 数据走官方 GitHub REST API(https://api.github.com):浏览器内 fetch 支持匿名访问公开仓库;与 GitHub 网页不同源,但 CORS 对只读公开 API 可用,且不携带浏览器 Cookie(credentials: 'omit')。登录态探测仅使用页面内 meta[name="user-login"]。
依赖
- Node.js 22+、JS Eyes 2.8.5+;JS Eyes Server 已启动且扩展已连接。
- 宿主设置
security.allowRawEval: true以允许 bridge 注入;JS Eyes 2.5+ 会同步到扩展,扩展侧显式false仅作为强制关闭覆盖。 - Chrome 要求 135+;Chrome 138+ 还需开启浏览器控制的 Allow User Scripts。
- 浏览器内至少打开一个 github.com tab(READ 默认不切走当前 tab;无 tab 时可
createIfMissing打开示例页)。 - 公开仓库读取无需登录;
github_session_state只检测现有登录态,本 Skill 不执行登录自动化。
安全档位
| 档位 | 说明 |
|---|---|
| READ | fetch api.github.com + JSON 解析;不改 DOM / URL |
| INTERACTIVE | 仅 location.assign 到 *.github.com |
| DESTRUCTIVE | 不做(不 star / comment / PR / 写 API) |
AI 工具(skill.definition.js)
| 工具 | 说明 |
|---|---|
github_session_state |
登录态(meta) |
github_get_repo |
仓库元数据 |
github_list_issues |
Issues 列表(默认排除 PR) |
github_get_issue |
单条 Issue |
github_navigate_* |
仅导航 |
CLI
cd skills/js-github-ops-skill && npm install
node index.js doctor
node index.js get-repo octocat/Hello-World --pretty
node index.js list-issues octocat/Hello-World --limit 10
node index.js get-issue octocat/Hello-World 1347
node index.js navigate-repo octocat/Hello-World
node index.js navigate-issues octocat/Hello-World
node index.js navigate-issue octocat/Hello-World 1347
node index.js dom-dump --anchors
node index.js xhr-log --filter 'github\\.com|api\\.github\\.com'
启用
js-eyes skills link /path/to/js-eyes/skills/js-github-ops-skill
js-eyes skills reload
Page profiles
| profile | bridge |
|---|---|
repo |
__jse_github_repo__ |
issues |
__jse_github_issues__ |
issue |
__jse_github_issue__ |
故障排查
| 现象 | 处理 |
|---|---|
E_NO_TAB |
打开任意 github.com 页面 |
RAW_EVAL_DISABLED |
在宿主启用 security.allowRawEval 并重新连接扩展;若扩展曾显式保存 false,清除该覆盖 |
fetch_failed 403/404 |
私有库或未授权;公开库请检查 owner/repo |
| 429 | API 速率限制;稍后重试 |
What ships with it
22 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.
- bridges/common.js 7.5 KB runs code
- bridges/issue-bridge.js 3.6 KB runs code
- bridges/issues-bridge.js 4.0 KB runs code
- bridges/repo-bridge.js 3.1 KB runs code
- CHANGELOG.md 256 B
- cli/index.js 12 KB runs code
- docs/dev/bridges-cheatsheet.md 1.5 KB
- index.js 390 B runs code
- lib/commands.js 9.9 KB runs code
- lib/config.js 3.1 KB runs code
- lib/debug.js 121 B runs code
- lib/history.js 155 B runs code
- lib/runContext.js 756 B runs code
- lib/runtimeConfig.js 1.0 KB runs code
- lib/runTool.js 4.5 KB runs code
- lib/session.js 10 KB runs code
- lib/toolTargets.js 1.9 KB runs code
- package.json 738 B
- skill.definition.js 12 KB runs code
- skill.entry.js 194 B runs code
- skill.manifest.json 7.1 KB
- tests/core.test.js 1.3 KB runs code
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 · 97 lines · 32 tokens per session scan A 205fd5bb4b45
js-github-ops-skill is a skill published in the GitHub repository imjszhang/js-eyes (43 stars, last pushed today), licensed MIT. It adds 32 tokens to every session and 1,028 once invoked, about $0.0002 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.
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…