Skills¶
A skill is a reusable instruction bundle — a SKILL.md with a name,
a short description, and a body of guidance the model should follow when
the task calls for it. Skills install from the internet and their
instructions are injected into agent and primary-runtime context.
Use a skill when you want to teach the workspace how to do something (fill PDF forms, write release notes a certain way, follow a house code style) without repeating the instructions in every message.
Install from the internet¶
In the right-rail Skills pane, Install from the internet fetches a
SKILL.md and stores the skill in a per-workspace catalog (.hive/skills.json).
The same reference forms as MCP work:
https://raw.githubusercontent.com/owner/repo/main/pdf/SKILL.md
https://github.com/owner/repo/blob/main/pdf/SKILL.md # blob URLs become raw
owner/repo/pdf/SKILL.md # shorthand, ref defaults to main
https://skills.sh/some/skill # any https host
SKILL.md format¶
YAML-ish frontmatter (all optional) followed by the instruction body:
---
name: PDF Filler
description: Fill PDF forms from structured data
allowed-tools: Read, Write, Bash
---
# PDF Filler
Use `pdftk` to fill forms. Always validate the output with
`pdftk … dump_data_fields` before returning.
name→ the skill's display name (falls back to the folder name).- Everything after the frontmatter is the instructions body.
- Other frontmatter keys (
description,allowed-tools) are advisory and aren't stored on the skill — Hive keeps only the name and the instruction body (plus the source URL).
No frontmatter is fine — the whole file becomes the instructions and the URL's folder name is used as the skill name.
How skills reach the model¶
Skills loaded into a chat are injected in full into the participants' system prompt. They appear under a shared heading:
Loaded skills (follow these):
## PDF Filler
<the skill's instruction body>
## Some Other Skill
<its instruction body>
Each skill is a ## <name> block. There is no autoload toggle and no
per-scope setting — every skill loaded into the chat is injected in full;
the model follows the ones relevant to the task at hand. Remove a skill from
the Skills pane if you don't want it in context.
Targeting specific agents¶
By default a skill is global — it applies to the primary and every agent (the behavior above). A skill can instead be targeted at specific agents, so only those agents get its instructions and the primary never receives it.
The Skills pane's add-form has an agent-target picker — a row of agent checkboxes. Leave all unchecked for a global skill (all agents); check one or more to scope the skill to just those agents. Each skill row shows a scope badge (global, or the targeted agents).
Utilization is otherwise unchanged: a skill's instructions are injected in full into the system prompt of whichever participants it targets.
Where it lives¶
Installed skills are workspace-level: stored in .hive/skills.json,
seeded into every chat in the workspace, and surviving relaunch. Remove a
skill from the Skills pane to drop it from the catalog.
Public skills only, for now
Skill fetches are unauthenticated, so private-repo SKILL.md files
aren't supported yet. Host the skill at a public raw URL or via
skills.sh.