Conversation
Workspace skill catalogs were cached after the first snapshot, so a skill added while T3 Code was running stayed invisible until restart. Fingerprint each provider's skill directories and force-refresh only when that signature changes. Co-authored-by: Cursor <cursoragent@cursor.com>
dakdevs
force-pushed
the
t3code/312c9c3e
branch
from
September 20, 2026 04:35
f3fc173 to
4a0860c
Compare
Workspace skill snapshots stayed cached after the first probe. Opening $ or / now force-reprobes that cwd instead of fingerprint-polling every provider's skill roots. Co-authored-by: Cursor <cursoragent@cursor.com>
Opening the picker to re-probe was cheaper, but new skills stayed hidden until the user opened $ or /. Stat each listed root every 3s and, on a mismatch, drop that cwd snapshot so the existing one-shot refresh runs again. Missing paths stay in the signature. Co-authored-by: Cursor <cursoragent@cursor.com>
Thread transfer impact
This comment will update automatically after the next completed run. |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The
$picker keeps the first skill snapshot for a workspace until T3 restarts.Evidence:
refreshWorkspaceSnapshotreturns the cached list once a cwd snapshot exists, so a later composer open does not scan again.workspaceSnapshots.skills, but the composer readsworkspaceSnapshots[cwd].skillsfirst.Fix: Stat each provider's listed skill roots every 3s. On a mismatch, drop that cwd snapshot (no publish) and reuse the one-shot refresh. Missing roots stay in the signature as
path:!so creating askillsfolder counts.fs.watchcannot do that.Summary
New skills in a provider's skill directories show up in
$and/without restarting T3. Full discovery still runs only after a root signature moves.What
skillCatalogRoots.fingerprintSkillCatalogRootsstats those roots only. No BFS, no publicforceflag.refreshWorkspaceSnapshotre-probes and publishes on the existing provider stream.Who this helps
Anyone who adds a skill while T3 is already open: installing a skill mid-session, an agent writing
SKILL.md, or copying a folder into.claude/skills/.agents/skills.Test plan
$, and confirm the new skill appears./.