Skip to content

Support installing complete skill directories with arbitrary nested resources #21

Description

@ASI2030

Problem

SkillX can discover and publish nested SKILL.md files and now exposes references/ and scripts/ metadata, but the current consumer command does not install a skill directory. skillx use prints the stored SKILL.md content and optional reference/script metadata to stdout.

Production skills often require arbitrary nested resources beyond those two folders: modules/, assets/, browser adapters, configuration files, templates, tests, and package metadata. Registering such a skill succeeds at the metadata layer, but using it cannot reproduce the runnable source tree.

Public reproduction

Source skill:

https://github.com/ASI2030/Fact-Check-X/tree/main/skills/fact-check-x-complete

The skill has 94 files. Its entry point depends on nested modules and browser runtime assets. The current path:

npx skillx-sh use ASI2030/Fact-Check-X/fact-check-x-complete --raw --include-refs --include-scripts

can expose the instruction content plus reference/script metadata, but cannot deliver the required modules/ and other nested files. The command is therefore useful for discovery and inspection, but it is not a complete installation path for this class of skill.

This follows directly from the current implementation:

  • registration fetches the subfolder SKILL.md as the stored skill content;
  • resource enrichment only recognizes references/**/*.md and scripts/**;
  • skillx use renders content and metadata to stdout and does not write a directory tree.

Expected capability

  1. Publish an immutable source commit and a complete file manifest for the selected skill directory.
  2. Add a true install command that writes the complete tree while preserving relative paths and safe file modes.
  3. Support arbitrary nested resources, not only references/ and scripts/.
  4. Verify the installed file count and hashes against the manifest.
  5. Distinguish “view/use content” from “install runtime” in the CLI and marketplace UI.
  6. Reject path traversal, unsafe symlinks, oversized files, secrets, and unsupported executable modes during packaging/install.

A source-backed archive or commit-pinned Git tree would both work. Until a complete-tree install exists, multi-file skills should be labelled as discovery-only when their runtime cannot be reproduced.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions