home/exact_dot_agents/exact_skills/exact_fix-cursor-cli/SKILL.md
Targeted repair skill for local Cursor CLI regressions (macOS quarantine/native-module policy failures and `/model` empty-list, duplicate-variant, or missing Thinking-suffix picker/footer regressions). Use when those symptoms are present.
npx skillsauth add kapral18/dotfiles fix-cursor-cliInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Diagnose first, then apply targeted repair.
cursor-agent shows macOS policy/quarantine native-module load failures/model is empty or shows No matches while cursor-agent models still lists available models/model shows thinking/non-thinking variants as duplicate entries with no Thinking suffix to distinguish themThinking suffix while the underlying model slug is unchangedcursor-agent failures without quarantine or picker-state evidencecursor / cursor-agentcommand -v cursor cursor-agentcursor-agent --versioncursor-agent models/model) in a fresh sessionbash ~/.agents/skills/fix-cursor-cli/scripts/fix_cursor_cli.sh --reason checkv2-good / display-collapses-thinking / v1-collapses-variants / old-empty-picker / unknown-shape) and exits non-zero if any active bundle needs a fix.bash ~/.agents/skills/fix-cursor-cli/scripts/fix_cursor_cli.sh --reason startup-failure/model empty, duplicate-variant entries, or missing Thinking suffixes in /model/footer while cursor-agent models succeeds), run:
bash ~/.agents/skills/fix-cursor-cli/scripts/fix_cursor_cli.sh --reason empty-picker--reason auto (default) performs diagnosis (including bundle-state classification) and no-ops on healthy machines; prefer this when symptom classification is incomplete.chezmoi apply --no-tty and retrycursor-agent models succeeds--reason check reports Check OKThinking suffix in the footer/model shows entries and distinguishes thinking/non-thinking variants with a Thinking suffixunknown shape and dumps anchor context:
useModelParameters:!0,doNotUseMarkdown:!0).A.some((...parameterDefinitions...))?A:void 0 expression, where A is whichever single-letter var the minifier chose for the filtered-models list).buildParameterizedModelMap(...) method. The known bad form stores model metadata directly in parameterizedModelMap, leaving thinking slugs with duplicate clientDisplayName / inputboxShortModelName values.scripts/picker_patch.py:
PATTERN_OLD / PATTERN_V1 / PATTERN_V2 are already var-name-agnostic and use named groups (A/B/C/D/E/F). Only update them if the structural shape of the code (not the variable letters) has changed.buildParameterizedModelMap changes shape._build_v2() helper handles synthesizing the patched form from the captured group names; reuse it when adding new patterns.--reason check first to confirm classification, then --reason empty-picker.scripts/fix_cursor_cli.sh and scripts/picker_patch.py document the bug semantics in their headers; read them before editing.v2-good / display-collapses-thinking / v1-collapses-variants / old-empty-picker / unknown-shape)scripts/fix_cursor_cli.sh: diagnose-first orchestrator. Probes cursor-agent, checks quarantine attrs, invokes picker_patch.py for picker-state classification and patching, and reports a clear per-bundle summary. Supports --reason check for a read-only audit that exits non-zero if anything needs fixing.scripts/picker_patch.py: var-name-agnostic regex classifier and migrator for the model-picker bundle. Handles the known states (old-empty-picker -> V2, v1-collapses-variants -> V2, display-collapses-thinking -> display-normalized V2, v2-good no-op) across all webpack chunks containing the picker/display code, and dumps anchor context for unknown shapes.fix_cursor_cli.sh changed anything and what worst-state was observed before/after (v2-good / display-collapses-thinking / v1-collapses-variants / old-empty-picker / unknown-shape)./model after restart.--reason check.fix_cursor_cli.sh + picker_patch.py) over ad-hoc manual edits.development
Manual-only workflow for proposing one evidence-backed, high-leverage improvement to a targeted part of the codebase.
tools
Drive the Ralph orchestrator (planner -> executor -> reviewer -> re-reviewer with self-healing) via the chezmoi-managed `,ralph go` CLI and tmux dashboard. Use when the user asks to spawn agents, kick off a run, verify a run, attach to a role, replan, or interact with the tmux Ralph control plane.
tools
Interview the user until you have 100% confidence about what they actually want.
data-ai
Manual-only workflow for proposing one evidence-backed, high-leverage improvement to the local changes.