KakuのmacOS版を公開するための事前確認からビルド、署名・公証、配布までを進め、安定版やNightlyの公開と失敗後の再開を支援します。
- Kakuの安定版を公開したいとき
- Nightlyプレビューの配布
- 公開前の環境と認証情報の確認
Kakuの指定領域を過去の修正履歴や操作経路の違いから点検し、潜在的な不具合や使い勝手の落とし穴を探して、根拠と影響範囲を整理するスキル。
Proactively sweep a Kaku area for latent defects and UX traps before users report them, using this repo's own fix history and multi-entry-point archetypes, and confirm every finding with a probe run this turn.
Kakuの指定した領域から、まだ報告されていない不具合や操作上の落とし穴を探します。過去の修正履歴を読み、メニュー・通知・CLIなどで同じ操作の安全確認が揃っているか、スリープや画面変更で表示が崩れないか、といった境界を点検します。根拠のある発見、追加検証が必要な候補、問題が見つからなかった範囲を分けて報告します。
公開前に特定機能を詳しく調べたいときや、一つの不具合を直した後で似た操作経路にも問題がないか確認したいときに向いています。ウィンドウ、タブ、シェル初期設定、セッション復元、AI画面、プロキシ設定などが調査対象です。
Kaku固有の履歴や実装、プロジェクトの指針を使う調査です。範囲と深さを決め、調査中には修正を混ぜません。発見にはその回の調査で得た根拠を添え、未検証の候補を区別します。GUIやAppKitの挙動にはアプリのビルドや手動確認が必要です。
この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。
インストールする前に、エージェントに与えられる指示の中身を確認できます。
/hunt needs a symptom. check / review needs a diff. This one needs neither: it goes looking.
Named bugs, not bug: /bug is a Claude Code built-in.
Across Kaku's closed bugs and fix commits, the dominant defect is not always a crash. It is often:
#, k, toast) that diverges on auth, theme, or cwdSo the question that finds bugs here is never only "can this crash?" It is:
What does this code do when the user arrives through the other path (menu vs toast vs CLI vs shell), when the display scale or sleep changes mid-session, when the shell is not the developer's zsh, or when the AI pane cwd is remote?
Name the area and the depth. Whole-repo sweeps with no budget produce speculation. Start from the Hotspot Map below (or the area that just shipped a fix) and go deep.
git log --oneline --grep='^fix' -i -- <path>
git log --pretty=format:'%h %s%n%b' --grep='^fix' -i -- <path> | head -200
gh issue list --repo tw93/Kaku --state closed --label bug --limit 40
Bugs recur by shape within a module. Two signals worth acting on:
Highest historical yield first. Subsystem guides live in crate AGENTS.md files and root AGENTS.md risk areas.
| Boundary | What to ask | Where it usually lives |
|---|---|---|
| Multi-entry destructive actions | Menu, toast, CLI, shell, key binding: do they all confirm the same way before quit/replace/kill? | kaku-gui/src/frontend.rs, update.rs, overlay/confirm.rs, overlay/confirm_close_pane.rs, kaku/src/update.rs |
| macOS window geometry | Traffic lights vs tab bar, DPI scale, external display drag, sleep/wake, lock screen, fullscreen first frame | window/src/os/macos/, kaku-gui/src/termwindow/resize.rs, titlebar paint |
| Tab chrome | Overflow hit targets, rename modal selection, multi-pane title width, top vs bottom bar | kaku-gui/src/tabbar.rs, termwindow/tab_rename.rs |
| Selection / mouse state | Survives Ctrl+L, modal cancel, mouse-reporting panes, successful terminal input? | kaku-gui/src/termwindow/selection.rs, mouseevent |
| Shell integration generation | local only inside functions; backticks in bash-heredoc that emit zsh; Starship/PATH scoped to Kaku | assets/shell-integration/, kaku/src/init.rs, setup_zsh.sh |
| Session restore | Split + scrollback both sides, crash backup, stale snapshot resurrecting closed tabs | kaku-gui/src/session_restore.rs, paint/quad buffers |
| AI dual surfaces | Cmd+L vs # vs k vs chat: same auth, theme, proxy, remote-cwd tool policy? | kaku-gui/src/ai_*, inline_ai.rs, cli_chat/, overlay |
| Proxy / network | External API uses system proxy; loopback/private/LAN/.local/NO_PROXY go direct | config/src/proxy.rs, AI transport |
| AppKit menu intercept | Ctrl+letter only key_is_down: false in logs? Menu keyEquivalent ate it | window/src/os/macos/menu.rs, debug_key_events |
| Render buffer growth | Over-capacity draw after retry budget; sleep invalidates drawable | renderstate.rs, paint/draw paths |
For a named user symptom, switch to hunt. For a diff under review, switch to check / review.
A candidate is not a finding until it has evidence produced this turn.
make test subset, clean-HOME shell smoke).Before flagging unwraps or panics, confirm production code: skip #[test], fixtures, doctests, and build scripts.
Anything confirmed and fixed needs a regression guard when feasible:
Verify with the matrix in root AGENTS.md. GUI geometry and AppKit need make app or a hand smoke from .agents/skills/release/SKILL.md «Pre-release smoke checklist».
checked N sites, M defective, K n/a.AGENTS.md).Use these as default scopes when the maintainer says "scan for bugs" without a path:
| Area | Issue / fix examples | Probe |
|---|---|---|
| Update confirm matrix | toast + menu overlay, CLI/brew confirm_apply_update, guards in update.rs / frontend.rs tests | Trace every caller of restart_to_update / spawn_update_helper / run_brew_upgrade; run those unit tests |
| Titlebar / tabs / DPI | #516, #504, #490, #483, #460 | External display + scaled resolution + tab top/bottom |
| Window drag / menubar | #508, #456, #408, #414, #477 | Drag to menubar, lock screen, fill desktop |
| Selection latch | #495, #487, #455 | Ctrl+L, cancel rename, mouse-reporting TUI |
| Shell init generation | #432, #441, #450, #503, #420 | clean HOME kaku init, zsh -n generated file, non-Kaku shell |
| Session restore paint | #514, #448, #482 | split + dual scrollback snapshot |
| AI auth / overlay | #506, #501, #502, #418 | Cmd+L vs #, split resize, appearance flip |
| Proxy split brain | private base_url + system proxy | loopback OpenAI-compatible smoke |
Area: [what was swept, at what depth]
Boundaries: [N walked, M applicable]
Confirmed (severity order):
1. [file:line] [the defect in one sentence]
Evidence: [probe / call-graph / failing test]
Blast: [what the user sees]
Siblings: [N checked, M defective, K n/a]
Plausible (needs a probe):
1. [file:line] [defect] -> [the probe that would settle it]
Swept clean:
- [boundary]: [what was checked, why it holds]
Sibling sweep: [pattern signature] -> [N checked, M defective, K n/a]
Say whether anything was fixed or whether this was scan-only.
まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
KakuのmacOS版を公開するための事前確認からビルド、署名・公証、配布までを進め、安定版やNightlyの公開と失敗後の再開を支援します。