用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/jkf87/sky-chrome-screenshot-skill --skill sky-chrome-screenshot命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | sky-chrome-screenshot |
| description | Use node_repl and @oai/sky to navigate Chrome and send real screenshots. |
Use only the Node REPL tool and @oai/sky for Chrome UI interaction. Do not substitute Playwright, browser automation, Chrome DevTools, shell-driven AppleScript, Peekaboo, or another browser tool when this skill triggers.
com.google.Chrome.globalThis.sky = globalThis.sky ?? (await import("@oai/sky")).sky;
await sky.press_key({ app: "com.google.Chrome", key: "super+n" });
var state = await sky.get_app_state({
app: "com.google.Chrome",
disableDiff: true,
});
cgWindowNotFound, send super+n once and retry the same bundle-identifier capture. Do not guess that screen-recording permission is missing when Chrome is known to be running.await sky.press_key({ app: "com.google.Chrome", key: "super+l" });
await sky.type_text({ app: "com.google.Chrome", text: targetUrl });
await sky.press_key({ app: "com.google.Chrome", key: "Return" });
Never pass a modifiers array. Use Return exactly; do not spell it enter or return.await new Promise(resolve => setTimeout(resolve, 2500));
state = await sky.get_app_state({
app: "com.google.Chrome",
disableDiff: true,
});
var fs = await import("node:fs/promises");
var { fileURLToPath } = await import("node:url");
if (!state.screenshot) throw new Error("No screenshot returned");
var shotPath = fileURLToPath(state.screenshot.url);
await nodeRepl.emitImage({
bytes: await fs.readFile(shotPath),
mimeType: "image/jpeg",
});
var deliveryPath = "/absolute/allowed/workspace/chrome-screenshot.jpeg";
await fs.copyFile(shotPath, deliveryPath);
globalThis.sky = globalThis.sky ?? (await import("@oai/sky")).sky;
await sky.press_key({ app: "com.google.Chrome", key: "super+n" });
var state = await sky.get_app_state({
app: "com.google.Chrome",
disableDiff: true,
});
var targetUrl = "https://example.com/";
await sky.press_key({ app: "com.google.Chrome", key: "super+l" });
await sky.type_text({ app: "com.google.Chrome", text: targetUrl });
await sky.press_key({ app: "com.google.Chrome", key: "Return" });
await new Promise(resolve => setTimeout(resolve, 2500));
state = await sky.get_app_state({
app: "com.google.Chrome",
disableDiff: true,
});
var fs = await ();
{ fileURLToPath } = ();
(!state.) ();
shotPath = (state..);
nodeRepl.({
: fs.(shotPath),
: ,
});