window-alert-confirm

window-alert-confirm is a skill for Claude Code from ncaq/konoka. It costs 29 tokens per session (878 once invoked), scanned A, original, Apache-2.0.

A web-development guide for using the browser's standard alert and confirmation pop-ups. It covers when to use them and known browser and accessibility limitations.

In plain words
What is it for?
Use it when adding error messages or destructive-action confirmations to a web application with window.alert() or window.confirm().
Why use it?
It helps avoid surprising behaviour from blocking pop-ups, suppressed confirmations, and specific iOS Safari history issues.

Skill for Claude Code

Written for Claude Code: user-invocable in frontmatter.

Part of the web-tasuke plugin — 17 skills shipped together

Good fit Use it when adding error messages or destructive-action confirmations to a web application with window.alert() or window.confirm().

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/ncaq/konoka/window-alert-confirm
View source ↗ ncaq/konoka
Install

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.

Any agent
npx skills add ncaq/konoka --skill window-alert-confirm
Clone the repo
git clone --depth 1 https://github.com/ncaq/konoka

Made for: Claude Code.

Or install web-tasuke, the plugin that ships this one along with the rest of its 17 skills.

Wrote 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.

agentmods badge for window-alert-confirm

README.md
[![agentmods](https://agentmods.dev/badge/skills/ncaq/konoka/window-alert-confirm/github.svg)](https://agentmods.dev/skills/ncaq/konoka/window-alert-confirm)
Your own site
<a href="https://agentmods.dev/skills/ncaq/konoka/window-alert-confirm"><img src="https://agentmods.dev/badge/skills/ncaq/konoka/window-alert-confirm/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for window-alert-confirm

Your own site · 80×15
<a href="https://agentmods.dev/skills/ncaq/konoka/window-alert-confirm"><img src="https://agentmods.dev/badge/skills/ncaq/konoka/window-alert-confirm.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 29 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 878 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00029 $0.00878
Opus 5 $0.00015 $0.00439
Sonnet 5 $0.00006 $0.00176
Haiku 4.5 $0.00003 $0.00088

Measured 4d ago against content hash e31f004f0a49, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

window-alert-confirm 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.

plugins/web-tasuke/skills/window-alert-confirm/SKILL.md · 61 lines

What it actually says

window.alertwindow.confirmの使用指針

利点

window.alert()window.confirm()はブラウザ標準のAPIです。 以下の利点があるため、適切な場面では使います。

  • 実装コストがゼロです。UIコンポーネントの作成やstate管理が不要です
  • ブラウザ標準APIのため、キーボード操作やスクリーンリーダーへの対応など最低限のアクセシビリティが確保されています
  • メインスレッドをブロックするため、ユーザーが確実に気づきます
  • confirm()の戻り値で同期的に分岐できるため、コードがシンプルになります

既知の欠点

  • メインスレッドを完全にブロックするため、JS実行・アニメーション・タイマーが停止します
  • ユーザーが「このページでこれ以上のダイアログを表示しない」を選択すると、 ブラウザが抑制しconfirm()が常にfalseになる可能性があります
  • Chrome M92以降、クロスオリジンiframe内からの呼び出しは無効化されています

iOS Safariのhistory.pushStateとの組み合わせの問題

iOS Safariではhistory.pushState()で追加された履歴エントリにブラウザバック(スワイプバック含む)で戻ると、 その後のalert()/confirm()/prompt()がサイレントに無視されます。 confirm()は常にfalseを返します。

このバグはiOS 9.3頃から報告されており、 iOS 18時点でも修正されていません。 alert/confirm/promptが無視される問題そのもののWebKit Bugzillaの公開チケットはなく、 Apple内部のRadarで管理されていると推測されています。 WebKitチームはユーザーインタラクションなしのpushStateエントリのスキップを、 意図的なセキュリティ強化として扱っている面もあり、 根本的な修正の見通しは不明です。

Apple Developer Forumでの報告で、 iOS 17/18でも再現が確認されています。 WebKit Bugzillaの#248303は、 直接にはpopstateイベントの問題ですが、 pushStateエントリのスキップという根本原因が共通しています。

SPA的なhistory操作を行うアプリケーションでは、 この問題に該当する可能性があるため注意が必要です。

使用が適切なケース

  • サーバが壊れている場合でもないと発生しないであろう稀なAPIエラーやサーバエラーの通知
  • 致命的エラーでページ操作を完全にブロックする必要がある場合
  • データの削除など、重要な操作の確認

使用を避けるべきケース

  • フォームのバリデーションエラー: フォームライブラリでインライン表示してください
  • ユーザー確認が必要な通常フロー: HTMLの<dialog>要素のshowModal()やUIライブラリの機能を使ってください
  • 頻繁に発生しうる操作結果の通知: トースト通知などを使ってください
  • クロスオリジンiframe内で動作するアプリケーション: ブラウザにブロックされるため使えません
Changes

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.

  1. 4d ago First seen · 61 lines · 29 tokens per session scan A e31f004f0a49

Subscribe to this mod's changes

window-alert-confirm is a skill published in the GitHub repository ncaq/konoka (3 stars, last pushed 2d ago), licensed Apache-2.0. It adds 29 tokens to every session and 878 once invoked, about $0.0001 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-09-05.

Related

Other skills, from other repositories

aceternity-ui

100+ animated React components (Aceternity UI) for Next.js with Tailwind. Use for hero sections, parallax, 3D effects, or encountering animation, shadcn CLI integration errors.

secondsky/claude-skills · 48 tokens

tools-unity-ugui

Unity UI patterns including Canvas optimization, list virtualization, and mobile-friendly UI.

IdoCohen560/claude-unity-game-studio · 22 tokens

motion

UIForge's motion layer — art-directs motion for React/Next.js + Tailwind interfaces built with Motion-Primitives (the shadcn-style copy-in registry, powered by Motion / ex Framer Motion). Use whenever you build or polish a landing page, hero, dashboard, pricing table, feature section, empty state, or any screen where…

TaewoooPark/UIForge · 164 tokens

sparkle-that-page

Use when a user wants to add cute, playful runtime effects to a web page — a fairy-wand or magic custom cursor (star / heart / moon / pixel / sailor-moon), a sparkle / star / heart / fairy-dust trail following the mouse on move and click, an animated floating scroll-depth / scroll-progress indicator (ring, comet bar…

wan-huiyan/cutify-this · 185 tokens

design-director

UIForge's always-on design brain — the art director for any web UI. Use whenever you build or elevate a landing page, hero, dashboard, pricing table, marketing site, app screen, component, or design system, or when asked to make something feel premium, distinctive, high-end, polished, "not generic," or "not…

TaewoooPark/UIForge · 139 tokens

content

UIForge's microcopy layer — words are UI. Use when writing or fixing any interface text: headlines, subheads, button/CTA labels, empty states, error and loading messages, tooltips, form labels, onboarding, or marketing copy, or when copy feels generic, hypey, or "AI-written." Enforces outcome-driven labels…

TaewoooPark/UIForge · 113 tokens