keybinding-collision-check
Validate ytnova keybinding changes for ASCII/control-key collisions and keep menus/help/tests synchronized.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Validate ytnova keybinding changes for ASCII/control-key collisions and keep menus/help/tests synchronized.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
| name | keybinding-collision-check |
| description | Validate ytnova keybinding changes for ASCII/control-key collisions and keep menus/help/tests synchronized. |
Use this skill when adding or changing keybindings, command labels, or help/footer text.
Do not bind these control keys because they collide with core terminal behavior:
^I (0x09) collides with Tab^M (0x0D) collides with Enter (CR)^J (0x0A) collides with Enter (LF)^[ (0x1B) collides with EscapeWhen VI_KEYS is enabled, these six keys are reserved for navigation:
h -> leftj -> downk -> upl -> rightCtrl-U (0x15) -> page upCtrl-D (0x04) -> page downNote: control-key notation is terminal-byte based and case-insensitive.
Use Ctrl-U / Ctrl-D wording to prevent ambiguity.
Any command bound to these keys must remain reachable without breaking vi navigation. Preferred rule: keep vi navigation on lowercase and move command bindings to uppercase or another non-conflicting key.
When keybindings change, update and verify all relevant surfaces:
VI_KEYS behavior:
VI_KEYS enabled, lowercase h/j/k/l and Ctrl-U/Ctrl-D still navigate.VI_KEYS build.Prevent and remove high-impact code-quality issues with principle-driven, risk-ranked recommendations and optional implementation.
Plan ytnova changes from behavior to implementation tasks with files, risks, invariants, and acceptance criteria. Use for design and technical-approach questions.
Implement approved ytnova tasks in C with minimal coherent edits, architectural safety, and terminal-verified proof.
Perform adversarial ytnova code review with severity-ranked findings, concrete fixes, and pass-fail gate decision.
Enforce strict ytnova bugfix loop: failing regression first, implementation second, passing proof third.
Run ytnova C quality gate for feature-sized changes using build, static analysis, valgrind, and pytest per docs/AUDIT.md.