fix: discover Claude Code Cowork/DXT session skills via glob expansion#201
Open
michael-bey wants to merge 1 commit intosnyk:mainfrom
Open
fix: discover Claude Code Cowork/DXT session skills via glob expansion#201michael-bey wants to merge 1 commit intosnyk:mainfrom
michael-bey wants to merge 1 commit intosnyk:mainfrom
Conversation
Adds glob pattern expansion to skills_dir_paths so that skill directories with UUID-based path components (DXT/Cowork sessions and installed plugins) are discovered automatically. - inspect.py: replace os.path.exists() check with glob.glob() expansion so wildcard patterns in skills_dir_paths are resolved at scan time - well_known_clients.py: add DXT session path (macOS) and plugin cache path (all platforms) to the claude code CandidateClient entries - tests/unit/test_skills_glob.py: four new unit tests covering UUID-nested discovery, non-matching patterns, plain paths, and multiple glob matches Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.
Summary
inspect.py: replace theos.path.exists()check in theskills_dir_pathsloop withglob.glob()expansion, so wildcard patterns resolve at scan time. Plain paths behave identically to before.well_known_clients.py: add the DXT/Cowork session path (~/Library/Application Support/Claude/local-agent-mode-sessions/skills-plugin/*/*/skills, macOS only) and the plugin cache path (~/.claude/plugins/cache/*/*/*, all platforms) to theclaude codeentries in all three platform lists.tests/unit/test_skills_glob.py: four new unit tests covering UUID-nested discovery, non-matching patterns, plain paths, and multiple glob matches.Motivation
Claude Code installs skills in two additional locations that were previously invisible to agent-scan:
~/Library/Application Support/Claude/local-agent-mode-sessions/skills-plugin/{dxt-uuid}/{session-uuid}/skills/~/.claude/plugins/cache/{marketplace}/{plugin-name}/{version}/Both paths contain UUID or version components that can't be hardcoded as static strings, so they require glob expansion to discover.
Test plan
uv run --extra test python -m pytest tests/unit/test_skills_glob.py -v— all 4 new tests passuv run --extra test python -m pytest tests/unit/ -v— all 135 tests pass (no regressions)🤖 Generated with Claude Code