Hive.Writing Hive Skills logo

Hive.Writing Hive Skills

OrganizationPopular
aden-hive
hive.writing-hive-skills

Author a new Agent Skill for a Hive agent that conforms to the Agent Skills specification (SKILL.md with YAML frontmatter, optional scripts/references/assets directories). Use when the user asks to create, scaffold, add, or package a new skill for a Hive agent.

Overview

Publisheraden-hive
Repositoryhive
Skill namehive.writing-hive-skills
Stars
11.1K
Forks
5.7K
Bundled files
Instructions only
LicenseApache-2.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by aden-hive on GitHub. Read the source before you install it.

Installation

Install the Hive.Writing Hive Skills AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/aden-hive/hive.git /tmp/hive
mkdir -p .claude/skills
cp -r /tmp/hive/core/framework/skills/_default_skills/writing-hive-skills .claude/skills/hive.writing-hive-skills
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Hive.Writing Hive Skills in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Hive.Writing Hive Skills on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Hive.Writing Hive Skills is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Operational Protocol: Writing Hive Skills

Hive agents discover skills by scanning several roots, in precedence order:

  1. <project>/.hive/skills/ — project, Hive-specific
  2. <project>/.agents/skills/ — project, cross-client
  3. ~/.hive/skills/ — user, Hive-specific
  4. ~/.agents/skills/ — user, cross-client
  5. Framework defaults shipped in core/framework/skills/_default_skills/

Each skill is a directory containing a SKILL.md. At startup, only the frontmatter name + description of every skill is loaded; the body is loaded only when the agent activates the skill. Design for that.

Choosing where to put a new skill

  • Colony-scoped (via write_skill inside colony mode): when the skill is the operational protocol a single colony needs — its API auth, DOM selectors, DB schema, task-queue conventions — do NOT place it under ~/.hive/skills/ or <project>/.hive/skills/ yourself. Those roots are SHARED and every colony on the machine will see it. Instead, once you're inside the colony (post-fork), call write_skill(skill_name, skill_description, skill_body, skill_files?) and the skill is materialized under ~/.hive/colonies/<colony_name>/skills/<skill-name>/ where only that colony's workers discover it. See the subsection below.
  • Project-scoped: put under <project>/.hive/skills/ when the skill is tied to that codebase's APIs, conventions, or infra and multiple agents in the project should share it.
  • User-scoped: put under ~/.hive/skills/ when the skill is reusable across projects for this machine/user and all agents should see it.
  • Framework default: add under core/framework/skills/_default_skills/ AND register in framework/skills/defaults.py::SKILL_REGISTRY only when the skill is a universal operational protocol shipped with Hive. Default skills use the hive.<name> naming convention and include type: default-skill in metadata.

Colony-scoped skills via write_skill

A colony-scoped skill is one that belongs to exactly ONE colony — e.g. it encodes the HoneyComb staging API the honeycomb_research colony polls, or the LinkedIn outbound flow the linkedin_outbound_campaign colony runs. Writing such a skill at ~/.hive/skills/ or <project>/.hive/skills/ leaks it to every other colony, which will then see it at selection time.

Do not create the folder yourself with the terminal. Once the colony has been forked (via suggest_colony → user confirms the Create Colony popup), call write_skill inside the colony:

write_skill(
    skill_name="honeycomb-api-protocol",
    skill_description="How to query the HoneyComb staging API…",
    skill_body="## Operational Protocol\n\nAuth: …",
    skill_files=[{"path": "scripts/fetch_tickers.py", "content": "…"}],  # optional
)

The tool writes ~/.hive/colonies/<this_colony>/skills/honeycomb-api-protocol/SKILL.md (plus any skill_files), which SkillDiscovery picks up as project scope when that colony's workers start — and ONLY that colony's workers. No cross-colony leakage.

Do not write colony-bound skill folders by hand under ~/.hive/skills/. A skill placed there is user-scoped and becomes visible to every colony on the machine — defeating the isolation you wanted.

Directory layout

<skill-name>/
├── SKILL.md          # Required
├── scripts/          # Optional — executable helpers
├── references/       # Optional — on-demand docs
└── assets/           # Optional — templates, data, images

Rules:

  • The directory name must equal the name frontmatter field (for framework defaults, the directory is the unprefixed name, e.g. writing-hive-skills/ for hive.writing-hive-skills).
  • Keep SKILL.md under ~500 lines. Move long reference material into references/.
  • Reference other files with relative paths from the skill root (scripts/foo.py, references/API.md). Keep references one level deep.

SKILL.md frontmatter

Required fields:

FieldConstraints
name1–64 chars, [a-z0-9-], no leading/trailing/consecutive hyphens. Must match the directory name. Framework defaults prefix with hive.
description1–1024 chars. Must describe what the skill does and when to use it. Include trigger keywords the user is likely to say.

Optional fields:

FieldNotes
licenseLicense name or reference to a bundled file
compatibility≤500 chars. Only include if env requirements are non-trivial (network, tools, runtime)
metadataFree-form string→string map. Namespace keys to avoid collisions. Default skills set type: default-skill.
allowed-toolsExperimental. Space-separated pre-approved tools, e.g. Bash(curl:*) Bash(jq:*) Read

Minimal template:

markdown
---
name: my-skill
description: One sentence on what it does. One sentence on when to use it, with concrete trigger words the agent will see in user requests.
---

# My Skill

<body>

Writing a good description

This is the single most important field — it's the only thing the agent sees at skill-selection time.

  • Bad: Helps with trading.
  • Good: Buy and sell shares on the HoneyComb exchange. Handles auth, slippage-protected orders, idempotent retries, and AMM output estimation. Use when placing trades or interacting with the AMM.

Include verbs the user is likely to say (buy, sell, place trade) and proper nouns (HoneyComb, AMM).

Writing the body

Structure the body for the agent, not a human reader:

  1. Lead with what the agent can't guess — API base URLs, auth shape, project conventions, specific function names. Skip generic background ("PDFs are a document format").
  2. Show exact request/response shapes — include JSON payloads, headers, status codes. Copy real examples rather than paraphrasing.
  3. Document failure modes — error codes, retry rules, rate limits. This is where skills earn their keep vs. a generic agent.
  4. Give a short end-to-end example — a "typical flow" section at the bottom anchors everything above.

Recommended sections (adapt to the domain):

  • Authentication / setup
  • Core operations (one per endpoint or action)
  • Error reference table
  • Rate limits / gotchas
  • End-to-end example pattern

Progressive disclosure

Three tiers of context cost:

  1. Always loaded (~100 tokens per skill): name + description. Keep tight.
  2. Loaded on activation (<5k tokens target): body of SKILL.md.
  3. Loaded on demand: files under scripts/, references/, assets/. The agent reads these only when the body points to them.

If a section is long and only needed sometimes (e.g., a full schema dump, rarely-used edge cases), move it to references/SOMETHING.md and link to it from the body: See [the error catalog](references/ERRORS.md) for the full list.

Scripts

Put executable helpers in scripts/. They should:

  • Be self-contained or document dependencies in a comment header.
  • Print human-readable errors to stderr and exit non-zero on failure.
  • Accept arguments via CLI flags, not env vars (easier for the agent to invoke).

Reference them from the body by relative path:

markdown
Estimate buy output with `scripts/estimate_buy.py --v-hc 1000000 --v-shares 1000000 --hc 500`.

For Python scripts in a Hive project, prefer uv run scripts/foo.py ....

Creating a new skill — workflow

  1. Pick a <skill-name> (lowercase-hyphenated).
  2. Decide scope: colony (pass content INLINE to create_colony — STOP here, do not hand-author the folder), project (<project>/.hive/skills/), user (~/.hive/skills/), or framework default (core/framework/skills/_default_skills/ + registry entry).
  3. For the non-colony scopes: create the directory and write SKILL.md with frontmatter + body.
  4. Add scripts/, references/, assets/ only if needed.
  5. Validate the frontmatter: name matches dir, description is specific, no forbidden characters.
  6. Validate using the Hive CLI:
    bash
    uv run hive skill validate <path-to-skill-dir>
    uv run hive skill doctor
  7. Confirm discovery with uv run hive skill list.
  8. Test by invoking a Hive agent on a task the skill should match — confirm it activates and follows the instructions.

Registering as a framework default

When adding a skill as a shipped default:

  1. Place the directory under core/framework/skills/_default_skills/<unprefixed-name>/.
  2. Set frontmatter name: hive.<unprefixed-name> and metadata.type: default-skill.
  3. Add the mapping to SKILL_REGISTRY in core/framework/skills/defaults.py:
    python
    SKILL_REGISTRY: dict[str, str] = {
        ...
        "hive.<unprefixed-name>": "<unprefixed-name>",
    }
  4. If the skill uses {{placeholder}} substitution, add defaults to _SKILL_DEFAULTS in the same file.
  5. If the skill reads/writes shared buffer keys, list them in DATA_BUFFER_KEYS.

What NOT to put in a skill

  • Generic programming knowledge the agent already has.
  • Conversation-specific state (use memory or plans instead).
  • Secrets or credentials (skills are plaintext; reference env vars or credential stores).
  • Deeply nested reference chains — keep everything one hop from SKILL.md.

Frequently asked questions

What does the Hive.Writing Hive Skills AI skill do?

Author a new Agent Skill for a Hive agent that conforms to the Agent Skills specification (SKILL.md with YAML frontmatter, optional scripts/references/assets directories). Use when the user asks to create, scaffold, add, or package a new skill for a Hive agent.

Why use Hive.Writing Hive Skills on TypingMind?

Because you install it once and use it with any model. Hive.Writing Hive Skills is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Hive.Writing Hive Skills in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/aden-hive/hive/tree/main/core/framework/skills/_default_skills/writing-hive-skills. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Hive.Writing Hive Skills?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Hive.Writing Hive Skills?

As many as you like. As long as a model supports skills, you can use Hive.Writing Hive Skills with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Hive.Writing Hive Skills AI skill free?

Yes. It is published on GitHub by aden-hive under the Apache-2.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇