一键导入
glimpse-prompt
One-shot Glimpse dialog. Use for confirm, choice, small form, text input, approval. Opens, returns JSON result, closes.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
One-shot Glimpse dialog. Use for confirm, choice, small form, text input, approval. Opens, returns JSON result, closes.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Set up or operate npm Trusted Publishing with OIDC and staged publishing using danielroe/uppt. Use when configuring npm release workflows, replacing NPM_TOKEN, creating first placeholder packages, running npm stage publish, or approving staged npm releases.
Persistent Glimpse window. Use for long-lived UI, dashboard, inspector, multi-step form, shell event loop, update/send/wait.
| name | glimpse-prompt |
| description | One-shot Glimpse dialog. Use for confirm, choice, small form, text input, approval. Opens, returns JSON result, closes. |
glimpse prompt = one-shot interaction. Opens temp window, waits for first page -> CLI message or close, prints JSON, exits.
Long-lived dashboard / multi-step event loop? Use glimpse-open skill.
result_json=$(glimpse prompt --width 360 --height 220 --title "Confirm" --html '
<main>
<p>Continue?</p>
<button id="yes">Yes</button>
<button id="cancel">Cancel</button>
</main>
<script>
document.querySelector("#yes").addEventListener("click", () => {
window.glimpse?.send?.({ type: "confirm.accepted" });
});
document.querySelector("#cancel").addEventListener("click", () => {
window.glimpse?.send?.({ type: "prompt.canceled" });
});
</script>
')
echo "$result_json"
Success envelope, submitted value in result:
{"ok":true,"result":{"type":"confirm.accepted"}}
User closes window without submit:
{"ok":true,"result":{"type":"window.closed"}}
Explicit cancel button sends reserved payload:
window.glimpse?.send?.({ type: 'prompt.canceled' });
Do not send raw null. v1 treats raw null like window close. Prefer discriminated payloads: every terminal outcome has type.
glimpse prompt --title "Label item" --width 420 --height 260 --html '
<form id="form">
<label>Name <input id="name" autofocus /></label>
<button>Save</button>
<button type="button" id="cancel">Cancel</button>
</form>
<script>
document.querySelector("#form").addEventListener("submit", event => {
event.preventDefault();
window.glimpse?.send?.({
type: "item.labeled",
name: document.querySelector("#name").value
});
});
document.querySelector("#cancel").addEventListener("click", () => {
window.glimpse?.send?.({ type: "prompt.canceled" });
});
</script>
'
Use timeout when script must not block forever:
glimpse prompt --timeout 30s --html '<button onclick="window.glimpse?.send?.({type:`ok`})">OK</button>'
Timeout = technical failure (ok:false), not prompt result.
Local/trusted URL prompt:
glimpse prompt --url http://localhost:3000/dialog
Remote URL prompts require both --allow-remote and --allow-bridge, because prompts need the page bridge to return a result to the CLI.
ok first.result.type.prompt.canceled + window.closed as successful terminal user outcomes, not command failures.--html for short inline prompts, file path for bigger UI, - for HTML from stdin.