Skip to content

Conversation

@bencoz
Copy link

@bencoz bencoz commented Jan 27, 2026

Description

This PR adds support for automating the installation of "skills" (multi-file folders) via the chat-skill/install URL handler. This enables a streamlined workflow where users can install complex skills by clicking a single link (e.g., vscode:chat-skill/install?url=...) that points to a JSON manifest.
This PR resolves #290735

The handler:

  1. Fetches and parses the JSON manifest.
  2. Uses the name property from the manifest to determine the local folder name (ensuring consistency and validity).
  3. Recursively creates the directory structure.
  4. Downloads all files specified in the manifest.

Changes

  • PromptUrlHandler.ts:
    • Added handling for the chat-skill/install path.
    • Implemented logic to fetch and parse the JSON manifest.
    • Added validation for the skill name (must exist in manifest, must be a valid filename, must not already exist on disk).
    • Implemented a loop to download multiple files and create necessary subdirectories (mkdir -p behavior).
    • Added a specific security confirmation dialog for skill installation.

Validation

valid-layers-check: Pass
compilation: Pass

Testing

  1. Host a JSON manifest (e.g., as a GitHub Gist) with the following structure:
    {
      "name": "algorithmic-art",
      "files": [
        { "source": "https://raw.githubusercontent.com/.../SKILL.md", "destination": "SKILL.md" },
        { "source": "https://raw.githubusercontent.com/.../script.js", "destination": "templates/script.js" }
      ]
    }
  2. Trigger the installation via URL:
    vscode:chat-skill/install?url=<RAW_URL_TO_MANIFEST>
  3. Select a destination skill folder when prompted.
  4. Verify that the folder algorithmic-art is created and contains the files with the correct structure.

Example manifest file:

https://gist.githubusercontent.com/bencoz/b3e03b778c3892127e36e0fe3da2a0d6/raw/80be47aa6d9e86c6acde993ccfab1e932cac0bca/algorithmic-art-skill.json

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature Request: Support Skill Auto-Installation via URL Handler

3 participants