用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/Kilo-Org/vscode-extension-self-test --skill vscode-self-test命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | vscode-self-test |
| description | Test and profile VS Code extension flows end to end in an isolated VS Code window |
Use this skill to verify a VS Code extension through the real UI. Every command is shorthand for:
node ~/.config/kilo/scripts/vscode-self-test/cli.mjs <command> [options]
Run commands from the extension repository or a worktree containing vscode-self-test.config.json. Every command emits JSON.
st() { node ~/.config/kilo/scripts/vscode-self-test/cli.mjs "$@"; }
st start
st launch-vscode --mode dev --build true
st status
st stop-vscode --cleanup true
st stop
Use --mode vsix when packaged-extension behavior matters. Set VSCODE_EXEC_PATH if VS Code is not installed in a standard location.
Pass --headless true for automated runs. This hides VS Code windows while keeping the renderer available to Playwright. Electron still needs a display server on Linux, so use Xvfb in displayless CI environments.
run-command or normal UI clicks.frames when the extension UI uses a webview.observe --frame "$FRAME" and read the returned screenshot path.--selector or --text locators. Avoid pixel coordinates.wait, snapshot, observe, or focused evaluate DOM queries.console --type error and logs if behavior is unclear.stop-vscode --cleanup true, then stop.state
frames
observe [--path FILE] [--selector CSS] [--text TEXT] [--frame MATCH]
screenshot [--path FILE] [--selector CSS] [--text TEXT] [--frame MATCH]
snapshot [--frame MATCH]
click [--selector CSS | --text TEXT] [--frame MATCH]
hover [--selector CSS | --text TEXT] [--frame MATCH]
type --value TEXT [--selector CSS | --text TEXT] [--clear] [--submit]
press --keys SHORTCUT
wait [--selector CSS | --text TEXT] [--frame MATCH]
run-command --command TEXT
console [--type error|warning|log]
logs [--filter TEXT]
evaluate --script JS [--frame MATCH]
profile-start [--frame MATCH]
profile-stop [--dir DIR]
profile-analyze --dir DIR [--path REPORT]
Webview content lives inside nested iframes. Use frames, select a unique frame URL substring, and pass it consistently to observe, interaction, DOM query, and profiling commands.
Screenshots are evidence only after reading the returned PNG file. Keep a tight observe, act, verify loop and do not guess selectors when the DOM can be inspected.