用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/cwilliams5/Alt-Tabby --skill review-option-interaction命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Audit all lint-ignore suppressions for appropriateness and overuse
Pre-flight checklist — run high-signal review skills before a release
Discover functions that block the main thread, then micro-audit each for internal optimization opportunities
基于 SOC 职业分类
正在显示 SKILL.md
| name | review-option-interaction |
| description | Test combinatorial interactions between install options, launch modes, and user journeys |
| user-invocable | true |
| disable-model-invocation | true |
Enter planning mode. Deep-research all interactions between installation options, launch modes, admin state, and user journeys. Think carefully about every path a user could take. Use maximum parallelism — spawn an agent team if desired.
The app has many options, features, and launch modes that interact combinatorially. Past reviews have repeatedly found edge-case bugs where one option conflicts with another or a UAC refusal leaves the system in a half-applied state. The combinatorial space is large and keeps growing.
Before testing combinations, build a current inventory by reading the code. These categories have historically caused interactions, but the code is the source of truth — discover what exists now, don't assume this list is complete:
User-facing options:
Features with interaction surfaces:
--gui-only, --config, --wizard-continue, --enable-admin-task, etc.)Confounding factors (things users do that the code must handle):
For each pair/group of options, trace the user journey through the code. Use query_callchain.ps1 to follow how config option reads flow through functions across files. Use query_ipc.ps1 to check cross-process message flows that can trigger option interactions. Use query_function_visibility.ps1 <funcName> to find all callers of elevation/UAC functions. Use query_global_ownership.ps1 <globalName> to trace install state ownership across files:
Focus on state transitions that span multiple steps — wizard → install → create task → relaunch. If any step fails, is the state recoverable? Does the next launch detect the partial state correctly?
These are intentional — do not propose changing them:
Issues around or caused by these choices (e.g., "what if the user renames the installed exe and then auto-update tries to find it") are real findings. The design choices themselves are not.
Multiple bugs in these flows have come from duplicated logic across files. After identifying bugs, also look for:
DRY findings are secondary to bug findings but help prevent future regressions.
After explore agents report back, validate every finding yourself. These flows have a lot of defensive code that may look like bugs but is handling edge cases intentionally.
For each candidate:
file.ahk lines X–Y" with actual code quoted. Trace the full path through multiple files if the journey spans them.Section 1 — Interaction bugs (specific failure paths):
| Journey | Steps | Failure Point | File:Lines | Impact | Fix |
|---|---|---|---|---|---|
| Install → rename exe → update check | 1. Install to PF 2. User renames exe 3. Auto-update downloads | Update writes to hardcoded name, old renamed exe orphaned | update.ahk:142 | Stale exe left behind | Check actual exe name, not hardcoded |
Section 2 — UAC refusal gaps (what happens when elevation is denied):
| Operation | UAC Point | Behavior if Refused | Clean? | Fix if Needed |
|---|---|---|---|---|
| Enable admin mode | Task creation | Falls back to non-admin | Yes | None |
| Install to PF | File copy | ??? | ??? | ??? |
Section 3 — DRY consolidation opportunities:
| Pattern | Files | Variations | Proposed Consolidation |
|---|---|---|---|
| "Is installed to PF?" check | launcher_main.ahk:30, update.ahk:55, wizard.ahk:80 | Slightly different path comparisons | Shared IsInstalledToProgramFiles() helper |
Order by severity: data-loss risks first, cosmetic inconsistencies last.
Ignore any existing plans — create a fresh one.