본문으로 건너뛰기
cccskills
무료GitHub에 공개

bugs

Scans a chosen area of Kaku for hidden defects and usability problems using its fix history and alternative user paths. It separates evidence-backed findings from untested possibilities and reports affected paths, severity, and boundaries checked without issues.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

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.

설치 방법 보기

이럴 때 유용합니다

  • Scan a Kaku area before release
  • Check related paths after a bug fix
  • Inspect shell setup in a clean environment
  • Investigate window, tab, and AI interface behavior

포함된 파일(1)

  • SKILL.md7.9 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Bugs: Find It Before the User Does

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

The Question

Across Kaku's closed bugs and fix commits, the dominant defect is not always a crash. It is often:

  • a second entry point that skipped the safety path the first entry already had
  • a wrong-but-plausible geometry or selection state after a modal/resize/sleep
  • a shell-generated script that is fine on the author's machine and broken in a clean HOME
  • an AI surface (Cmd+L, #, k, toast) that diverges on auth, theme, or cwd

So 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?

1. Pick the surface

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.

2. Read that area's own fix history first

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:

  • A fix chain of two or more commits each "completing" the previous one means a sibling path is probably still open. Real chain here: toast confirm, then menu confirm, then brew confirm on the same update flow.
  • A commit body that says only one surface was fixed (toast / CLI / overlay / brew) means grep every other surface for the same action.

3. Sweep the boundaries, in this order

Highest historical yield first. Subsystem guides live in crate AGENTS.md files and root AGENTS.md risk areas.

BoundaryWhat to askWhere it usually lives
Multi-entry destructive actionsMenu, 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 geometryTraffic lights vs tab bar, DPI scale, external display drag, sleep/wake, lock screen, fullscreen first framewindow/src/os/macos/, kaku-gui/src/termwindow/resize.rs, titlebar paint
Tab chromeOverflow hit targets, rename modal selection, multi-pane title width, top vs bottom barkaku-gui/src/tabbar.rs, termwindow/tab_rename.rs
Selection / mouse stateSurvives Ctrl+L, modal cancel, mouse-reporting panes, successful terminal input?kaku-gui/src/termwindow/selection.rs, mouseevent
Shell integration generationlocal only inside functions; backticks in bash-heredoc that emit zsh; Starship/PATH scoped to Kakuassets/shell-integration/, kaku/src/init.rs, setup_zsh.sh
Session restoreSplit + scrollback both sides, crash backup, stale snapshot resurrecting closed tabskaku-gui/src/session_restore.rs, paint/quad buffers
AI dual surfacesCmd+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 / networkExternal API uses system proxy; loopback/private/LAN/.local/NO_PROXY go directconfig/src/proxy.rs, AI transport
AppKit menu interceptCtrl+letter only key_is_down: false in logs? Menu keyEquivalent ate itwindow/src/os/macos/menu.rs, debug_key_events
Render buffer growthOver-capacity draw after retry budget; sleep invalidates drawablerenderstate.rs, paint/draw paths

For a named user symptom, switch to hunt. For a diff under review, switch to check / review.

4. Confirm before reporting

A candidate is not a finding until it has evidence produced this turn.

  • Confirmed: source trace that names every entry point, a failing test, or a probe (log, make test subset, clean-HOME shell smoke).
  • Plausible: complete source path, named failure mode, no run yet. Report separately with the probe that would settle it.
  • Not a finding: "looks risky" without reading the implementation. Grep the call sites or drop it.

Before flagging unwraps or panics, confirm production code: skip #[test], fixtures, doctests, and build scripts.

5. Rank by blast radius

  1. Silent data loss or process kill (update/restart, close all, reset) without confirm on some entry path
  2. Crash loop or unrecoverable launch (session restore, paint)
  3. Stuck UI state (selection latch, frozen frame after sleep, window behind menu bar)
  4. Shell/environment pollution outside Kaku (Starship, PATH, generated zsh)
  5. Visual chrome wrong but recoverable (tab clip, traffic-light gap, font weight)
  6. Docs / copy drift

6. Guard what gets fixed

Anything confirmed and fixed needs a regression guard when feasible:

  • unit/integration test that fails on unfixed code
  • shellcheck / setup smoke for shell-generation bugs
  • entry-point matrix comment or test listing menu + toast + CLI for destructive flows

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

Hard Rules

  • No finding without this-turn evidence. Speculation wastes review time.
  • One archetype hit means sweep every sibling entry point. Report checked N sites, M defective, K n/a.
  • Do not fix while sweeping. Collect, then fix. Interleaving loses the sweep.
  • Report clean boundaries as clean. Do not invent findings to justify the run.
  • Findings outside the named area get listed, not fixed, unless the maintainer agrees.
  • Do not propose UI i18n (see root AGENTS.md).

Hotspot Map (issue-backed)

Use these as default scopes when the maintainer says "scan for bugs" without a path:

AreaIssue / fix examplesProbe
Update confirm matrixtoast + menu overlay, CLI/brew confirm_apply_update, guards in update.rs / frontend.rs testsTrace every caller of restart_to_update / spawn_update_helper / run_brew_upgrade; run those unit tests
Titlebar / tabs / DPI#516, #504, #490, #483, #460External display + scaled resolution + tab top/bottom
Window drag / menubar#508, #456, #408, #414, #477Drag to menubar, lock screen, fill desktop
Selection latch#495, #487, #455Ctrl+L, cancel rename, mouse-reporting TUI
Shell init generation#432, #441, #450, #503, #420clean HOME kaku init, zsh -n generated file, non-Kaku shell
Session restore paint#514, #448, #482split + dual scrollback snapshot
AI auth / overlay#506, #501, #502, #418Cmd+L vs #, split resize, appearance flip
Proxy split brainprivate base_url + system proxyloopback OpenAI-compatible smoke

Output

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.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

release

무료

Guides Kaku’s macOS release process from prerequisite checks through building, signing, Apple notarization, and GitHub publication. It covers stable releases, Homebrew tap updates, rolling Nightly previews, and resuming failed stages using existing release scripts.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Publish a stable Kaku release
  • Distribute a rolling Nightly preview
  • Check release prerequisites and credentials
tw93/Kaku6.1천2026년 10월 21일 업데이트

tw93의 스킬 모두 보기

이 스킬의 문제 신고