en un clic
fix-plans-dropdown
// Diagnose and fix stale or missing plan entries in the Switchboard plans dropdown.
// Diagnose and fix stale or missing plan entries in the Switchboard plans dropdown.
| name | Fix Plans Dropdown |
| description | Diagnose and fix stale or missing plan entries in the Switchboard plans dropdown. |
Use this skill when the Switchboard sidebar dropdown shows stale plans that should be gone, or expected plans that are missing.
First, determine which case you are dealing with:
vscode.workspace.workspaceFolders[0].uri.fsPath
All paths below are relative to this root. Confirm it is correct before proceeding.
Runsheets are the source-of-truth records for known plans.
.switchboard/sessions/*.jsonsessionId, planFile, brainSourcePath (if from brain), completed (if finished), events.What to look for:
| Field | What it means |
|---|---|
completed: true | Plan is finished — should not appear in dropdown unless tombstone is missing |
brainSourcePath present | Plan came from a brain source — registry membership controls visibility |
brainSourcePath absent | Local plan — always visible (no registry gate) |
Brain-sourced plans are only visible if their path is registered in switchboard.workspaceBrainPaths.
To inspect:
switchboard.workspaceBrainPaths — an array of absolute file paths.Missing-plan diagnosis:
brainSourcePath (normalized) is not in workspaceBrainPaths, it will not appear. The fix is to register it.workspaceBrainPaths array in workspace settings.Tombstones permanently exclude plans from the dropdown.
.switchboard/plan_tombstones.jsonSHA-256(normalizedAbsoluteBrainPath) where the path is lowercased on Windows.Stale-plan diagnosis:
completed: true in its runsheet, check whether its path hash is in plan_tombstones.json.Missing-plan diagnosis:
plan_tombstones.json.Computing the hash (PowerShell):
$path = "c:\path\to\plan.md".ToLower() # normalize on Windows
$bytes = [System.Text.Encoding]::UTF8.GetBytes($path)
$hash = [System.Security.Cryptography.SHA256]::Create().ComputeHash($bytes)
($hash | ForEach-Object { $_.ToString("x2") }) -join ""
completed: true in the runsheet for that sessionId.brainSourcePath..switchboard/plan_tombstones.json..switchboard/sessions/ for that plan.brainSourcePath is set. If so, verify the path exists on disk.switchboard.workspaceBrainPaths. Add it if absent.plan_tombstones.json. Remove it if present.workspaceBrainPaths entirely — this hides all brain-sourced plans.plan_tombstones.json entries you cannot identify — only edit the specific hash for the affected plan.| Symptom | First check | Fix |
|---|---|---|
| Plan visible, should be gone | completed in runsheet + hash in tombstones | Add hash to tombstones |
Plan missing, no brainSourcePath | Should always be visible — check runsheet exists | Restore runsheet or re-create plan |
Plan missing, has brainSourcePath | workspaceBrainPaths registration | Add normalized path to registry |
| Plan missing, registered but gone | Hash in tombstones | Remove hash from tombstones |
Instantly retrieve the list of active plans categorized by their Kanban columns (CREATED, PLAN REVIEWED, CODED, CODE REVIEWED).
Apply AI-generated code edits from a response file to the local codebase.
Standardized high-fidelity protocol for interacting with the Gemini CLI.