upvote
> is there a mechanism to pin a version, or is it always HEAD? Skills that evolve can silently break downstream workflows.

don't forget these skills are just text that goes into the llm for it to read, interpret, and then produce text that then gets executed in bash. The more intricate and specific the skill definition the more likely the model is to miss something or not follow it exactly.

reply
See the discussions at https://github.com/agentskills/agentskills/discussions

For example, on Proposal: AgentFile — Declarative Agent Composition from Skills + Filesystem-Native Skill Delivery

https://github.com/agentskills/agentskills/discussions/179

reply
I actually think SKILLS.md is such a janky way of doing this sort of thing, let alone the fact that's reliant on the oh-so-brittle Python ecosystem. Also way too much context/tokens being eaten up by something that could be piece-wise programmatically injected in the token stream.

Imo a bad idea, but alas.

reply
Wait - how are skills dependent on python?

Isn’t python just an option ?

reply
It is, but to do the "useful" stuff, it's more or less mandatory. Either Python or bash scripts (which are equally as janky tbh).
reply
It is not dependent on any language.
reply
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
reply
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.
reply
Anthropic made it an open standard: https://agentskills.io/home
reply
Except they're still not accepting any feedback around AGENTS.md as a standard. You need to explicitly symlink CLAUDE.md to AGENTS.md in a workspace in order to Claude to work like every other agent when it comes to loading context.
reply