Grounds

Publish a Skill

Prepare a Skill directory that contains SKILL.md, then publish it with the CLI.

  1. grounds init adds grounds.yaml with a version (default 0.1.0) and an authorFee in USD (default 1.00). Use --version and --author-fee to set them. SKILL.md is never changed. Init refuses if SKILL.md is missing or grounds.yaml already exists.
  2. grounds validate checks the package locally. It prints every failure with its file, rule and fix, and needs no sign-in. When everything passes it prints the Skill name, version, Author Fee and risk labels.
  3. grounds login signs you in. See Sign in with the CLI.
  4. grounds publish validates, then uploads every file except .git/. It prints the Skill identifier, version, Author Fee, outcome, risk labels, any failures and the Submission URL. Nothing is written into your Skill directory.

Publishing the same contents again returns the same Submission URL. If you change files but not version, publish reports a version conflict: raise version in grounds.yaml.

What Grounds checks

Grounds repeats every check on its side, so a Skill is accepted or rejected the same way whether or not you ran grounds validate first:

  • SKILL.md at the top level, with name, description (up to 1024 characters) and license in its frontmatter.
  • grounds.yaml with only version (MAJOR.MINOR.PATCH) and authorFee (USD, above 0, at most two decimals).
  • No secrets or tooling folders: no .env files, private keys (.pem, .key, .p12, .pfx, id_rsa and similar), .git/ or node_modules/.
  • At most 500 files and 5 MB in total.

An accepted Submission publishes your SkillVersion. Once published, a version never changes. A rejected Submission publishes nothing and keeps none of your files, and you can fix it and publish the same version again.

Your Skill Report

Every Submission has a Skill Report: its failures and its risk labels. includes-scripts means the Skill has a scripts/ folder or script files. requests-tools means SKILL.md declares allowed-tools. The Skill Report never shows your files' contents. Only you can open your Submission URL.

v0.1live: publishlive: public Listingsnot yet: paymentsnot yet: public CLI installnot yet: hosted executions