I think you are spot on there, and I am not sure such things exist (yet), but I may be wrong. Some random thoughts:

1. Using the skills frontmatter to implement a more complex YAML structure, so e.g.

  requires:
     python:
       - pandas>=2.1
     skills:
       - huggingface-cli@1.x

2. Using a skills lock file ;-)

  skills.lock

uvx probably is the way to go here (fully self-contained environment for each skill), and use stdout as the I/O bridge between skills.