Skip to content

Publish a skill

This tutorial walks through building a small code skill, publishing it, and granting it to an agent. By the end you'll have a reusable capability your agents can call on demand.

If you only need to give an agent a policy or a checklist in plain language, you want an instruction skill instead — that's just text, no code. See Authoring skills. This tutorial covers the code path.

1. Create the skill

Go to Settings → Skills → New skill and choose Code. Give it a clear name and a thorough description — the description is how agents discover the skill at the right moment, so be generous with detail about what it does and when to use it.

The platform scaffolds a Git repository for you with two important files:

  • Skill.md — instructions the agent reads: what the skill does, its inputs and outputs, and any caveats.
  • An entry point (Python by default) — the code that runs when the skill is invoked.

2. Write it

Clone the repository, implement your entry point, and flesh out Skill.md. Keep the skill focused — one capability, done well. A few tips:

  • Validate inputs and return clear errors.
  • Document outputs in Skill.md so the agent knows what it's getting back.
  • If your skill needs to reach the internet, it must be allowed network access (see step 5) — and every outbound call goes through our guardrails layer.

3. Handle secrets the right way

Never hard-code API keys or tokens. Store them as credentials, which are encrypted and scoped to the user and agent using the skill. Non-secret preferences (a default channel, a timezone) can be stored as per-skill settings. Neither is ever baked into your code.

4. Tag and publish

Commit your work and tag a version (for example v1). Then, back in the app, publish that version. On publish, the platform:

  • scans the bundle for malware,
  • generates a short summary for the listing and settings views, and
  • marks the version active and available to agents.

Versions are immutable

Agents run the exact version you grant them. To ship changes, tag a new version and publish again.

5. Set visibility and network access

  • Visibilitypublic makes the skill available to any agent in your organization; private keeps it to you and your admins.
  • Network access — leave it off unless the skill genuinely needs to call out to the internet.

6. Grant it to an agent

In the skill's settings, attach it to one or more agents. Open a conversation with one of them and ask it to do the thing your skill enables. The agent will discover and run the skill automatically when it's relevant.

Every run is recorded — you can see what ran, when, how long it took, and whether it succeeded — in the skill's invocation history.

7. (Optional) Sell it

Happy with your skill? List it on the marketplace so other organizations can install it.

Recap

You built a code skill, stored its secrets safely, published an immutable version, and granted it to an agent that now discovers and runs it on its own. Same pattern scales from a one-line helper to a full integration.