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

# Build a skill

> Package instructions, tone, and connections into a reusable, shareable skill for Hops.

A skill turns a repeatable workflow into something Hops can run the same way, every time. Build a skill once, share it with your team, and everyone's Hops runs your playbook.

## What a skill file contains

A skill is a folder (or single file) with:

* **A name** — short, role-based (e.g. `Pre-call prep`, `Pipeline watch`, `Monthly close`).
* **Instructions** — how Hops should behave when the skill runs: what to pull, how to structure the response, what tone to use, when to ask for approval.
* **When to use it** — a short trigger description so Hops picks the skill up on the right requests.
* **Any files it needs** — templates, reference docs, prompt snippets. Ship them in the skill folder.

## Upload a skill

<Steps>
  <Step title="Open Settings → Skills">
    Go to **Settings**, then **Skills**.
  </Step>

  <Step title="Click + New Skill">
    Choose **Upload files** for a single-file skill, or **Upload folder** for a skill with multiple files.
  </Step>

  <Step title="Pick the skill on disk">
    Select the file or folder. Hops reads the name, description, and trigger from it and adds it to your skills.
  </Step>

  <Step title="Test it">
    Run the skill against a real request. Iterate on the file locally and re-upload until Hops gets it right consistently.
  </Step>

  <Step title="Share it">
    Share the skill with a teammate or publish it to the workspace so everyone's Hops can use it.
  </Step>
</Steps>

## Tips for good skills

<Tip>
  **Be specific.** "Summarize the deal" is vague. "Pull the latest CRM record and the last two email threads, then produce a 1-paragraph prep note plus 3 focus bullets" is a skill.
</Tip>

<Tip>
  **Cite sources.** Ask the skill to link back to the doc, thread, or record it drew from. It makes the response trustworthy.
</Tip>

<Tip>
  **Ask for approval on outbound actions.** Any skill that sends email, updates a record, or posts externally should pause for approval by default.
</Tip>

## Share and iterate

To update a skill, edit it locally and re-upload. Teammates using it get the new version — everyone stays in sync.

## Related

<CardGroup cols={2}>
  <Card title="Browse skills" icon="puzzle-piece" href="/docs/agents/skills">
    See what's already available before you build.
  </Card>

  <Card title="Connections" icon="plug" href="/docs/connections/overview">
    Give your skills access to the tools they need.
  </Card>
</CardGroup>
