> ## Documentation Index
> Fetch the complete documentation index at: https://selat.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Authoring and publishing

> Scaffold, validate, verify, and submit a skill to the public selat-skills registry.

Skills are published to the public [selat-skills](https://github.com/SELAT-AI/selat-skills) registry — the same `index.json` that `selat skill list --available` reads. Contributing one is a guided lifecycle, each step a [SELAT CLI](/docs/selat-cli) command: [1] [2]

| Step             | Command                               | Purpose                                                                                                                                                                               |
| ---------------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Scaffold         | `selat skill new <name> --dir skills` | Create `skills/<name>/` with the repository's skill layout.                                                                                                                           |
| Validate         | `selat skill validate <path>`         | Run the static Agent Skill SOP check before live verification.                                                                                                                        |
| Verify           | `selat skill verify <path> [--pay]`   | Probe each endpoint's live 402 price and rail against its cap; the default probe is free, while `--pay` makes a capped real call. A passing verify receipt is written for submission. |
| Register         | `selat skill register <path>`         | Add or update the `index.json` entry from the manifest.                                                                                                                               |
| Whole-repo check | `npm run validate`                    | Validate every repository skill and the registry consistency; this is the same check CI runs.                                                                                         |
| Submit           | `selat skill submit <path>`           | Require the passing verify receipt, then open a pull request with it as provenance.                                                                                                   |

```bash theme={null}
selat skill new my-skill --dir skills
# Author the generated files and replace every TODO.
selat skill validate ./skills/my-skill
selat skill verify ./skills/my-skill   # free live-402 check; add --pay for a capped real call
selat skill register ./skills/my-skill
npm run validate
selat skill submit ./skills/my-skill   # use --dry-run to preview the PR
```

<Tip>
  `selat skill submit` is gated on a passing `verify` receipt, which the free or paid verification flow writes after probing live endpoints. Use `--dry-run` to preview the branch, files, and PR body before anything is pushed. A maintainer performs a paid re-verification before merge. [2]
</Tip>

## Versioning and ownership

Each published skill is a registry entry — its name, description, rail, and kind — and changes land as reviewed pull requests that registry maintainers own. The reliability badge on `selat skill list --available` reflects the latest scheduled free probe, so consumers see whether a skill's endpoints are reachable and within their declared caps at the last check. [1]

## Related docs

* [Skills](/docs/skills)
* [SELAT CLI](/docs/selat-cli)
* [SELAT Router](/docs/router)

## References

[1]: https://github.com/SELAT-AI/selat-skills/blob/main/.github/workflows/reliability.yml "SELAT Skills reliability workflow"

[2]: https://github.com/SELAT-AI/selat-skills/blob/main/meta/skill-creator/SKILL.md "SELAT Skills canonical skill-creator guide"
