What a skill needs
- SKILL.md with
nameanddescriptionfrontmatter: what the agent reads to decide when to use it. - skill.json declaring every host it calls, its keys (ideally none), data sources and price.
- One job. A script that runs on Node 18+ or Bun with no dependencies and prints JSON.
- test.mjs that runs the real code against the live API and returns
{ ok, checks }. - No custody. Never asks for a private key or seed phrase, never signs on the user's behalf.
The skills already on the shelf follow this layout: open any of them and read its files for a reference.