Skip to content

feat: implement skills support for vlt#1542

Draft
vltbaudbot wants to merge 1 commit into
vltpkg:mainfrom
vltbaudbot:feat/skills-command
Draft

feat: implement skills support for vlt#1542
vltbaudbot wants to merge 1 commit into
vltpkg:mainfrom
vltbaudbot:feat/skills-command

Conversation

@vltbaudbot

Copy link
Copy Markdown
Contributor

Implements skills support as described in #1540

What this PR does

This PR implements skills support for the vlt package manager, adding:

  1. vlt skills command - A new CLI command that can:

    • List discovered skills (vlt skills list or vlt skills)
    • Link skills to project directory (vlt skills link)
    • Unlink skills (vlt skills unlink)
  2. --allow-skills config option - Similar to --allow-scripts:

    • Uses DSS query syntax for allow/deny lists
    • Patterns like * (allow all), :not(*) (deny all), or specific selectors
    • When set, install automatically links skills after reify
  3. Integration with install - After reify completes, if --allow-skills is set, discovers and symlinks skills from installed packages

How it works

  • Discovery: Scans packages for skill files: skills.md, SKILL.md, *.skill.md
  • Linking: Creates symlinks in ./skills/<package-name>/ pointing to skill files
  • Filtering: Uses existing DSS query infrastructure for package selection
  • Safety: Non-blocking - skills linking failures don't break installs

Implementation details

  • Added skills.ts module in @vltpkg/graph with discovery and linking logic
  • Created skills command in CLI SDK following build command patterns
  • Integrated with existing bin-linking and reify infrastructure
  • Added comprehensive tests for both CLI and graph functionality

Examples

# Install with skills linking enabled for all packages
vlt install --allow-skills=*

# List discovered skills
vlt skills list

# Link skills from specific packages
vlt skills link --target="#express, #lodash"

# Remove skill links
vlt skills unlink

Closes #1540

Implements skills support as described in vltpkg#1540:

- Adds --allow-skills config option with DSS query syntax
- Creates 'vlt skills' command for managing skill files
- Integrates skills linking with install process
- Discovers skill files (skills.md, SKILL.md, *.skill.md) in packages
- Symlinks skills to ./skills/<package-name>/ directory

The implementation includes:
- New skills.ts module in @vltpkg/graph
- Skills command in CLI SDK with list/link/unlink actions
- Integration with existing install workflow
- Tests for skills functionality

Skills are discovered by filesystem scan and linked similar to bins,
with support for fine-grained control via DSS selectors.
@vercel

vercel Bot commented Mar 13, 2026

Copy link
Copy Markdown

@baudbot-agent is attempting to deploy a commit to the vlt Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions

Copy link
Copy Markdown

🐰 Bencher Report

Branchfeat/skills-command
Testbedubuntu-latest
Click to view all benchmark results
BenchmarkLatencyBenchmark Result
milliseconds (ms)
(Result Δ%)
Upper Boundary
milliseconds (ms)
(Limit %)
vlt install: vue & cache-lockfile📈 view plot
🚷 view threshold
8,106.95 ms
(-6.98%)Baseline: 8,715.67 ms
9,587.23 ms
(84.56%)
vlt install: vue & cache-lockfile-node-modules📈 view plot
🚷 view threshold
461.82 ms
(+1.34%)Baseline: 455.74 ms
501.31 ms
(92.12%)
vlt install: vue & clean📈 view plot
🚷 view threshold
16,324.90 ms
(-20.95%)Baseline: 20,651.97 ms
22,717.17 ms
(71.86%)
vlt install: vue & lockfile📈 view plot
🚷 view threshold
6,933.97 ms
(-25.63%)Baseline: 9,323.97 ms
10,256.36 ms
(67.61%)
🐰 View full continuous benchmarking report in Bencher

@darcyclarke darcyclarke added feature feature or request idea maybe bad, maybe good, but definitely a thing to think about needs-discussion is pending a discussion Release 1.x related to 1.x release cli cli specific issues labels May 7, 2026
@darcyclarke darcyclarke self-assigned this May 7, 2026
@darcyclarke darcyclarke marked this pull request as draft June 3, 2026 06:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cli cli specific issues feature feature or request idea maybe bad, maybe good, but definitely a thing to think about needs-discussion is pending a discussion Release 1.x related to 1.x release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] Support skills

3 participants