# Skill Creator
A LangBot skill for authoring other LangBot skills — draft, validate, and register.
## What it does
- Guides creating a well-structured `SKILL.md` in the sandbox `/workspace`.
- Validates frontmatter (`name`, `display_name`, `description`), name format, and
that every referenced file exists.
- Registers the finished package via the built-in `register_skill` tool so it can
be `activate`d.
## How it works
Skills are prepared as a folder under `/workspace` (SKILL.md + optional
scripts/templates/references), then installed with the `register_skill` tool.
This skill teaches that real flow — it does not invent a custom pipeline.
## Files
| File | Purpose |
|------|---------|
| `SKILL.md` | Instructions the agent receives on activation |
| `scripts/validate.py` | Validate frontmatter, naming, and referenced files |
| `templates/SKILL.md.tmpl` | Starter SKILL.md with recommended structure |
| `references/frontmatter.md` | Field-by-field SKILL.md frontmatter reference |
| `references/registration.md` | How `register_skill` and `activate` work |
## License
Apache-2.0.
---
name: skill-creator
display_name: Skill Creator
description: "Create a new LangBot skill end to end: draft the SKILL.md, prepare any scripts/templates in the sandbox workspace, then register it with the register_skill tool so it becomes activatable. Use when the user wants to author, scaffold, or publish a new skill for their agent. Do NOT use for writing application code unrelated to skill authoring."
license: Apache-2.0
---
# Skill Creator
Author a new LangBot skill the right way and register it into the skill store so
the agent can `activate` it later.
## How skills work in LangBot
- A skill is a folder containing a `SKILL.md` (YAML frontmatter + instruction body)
plus optional `scripts/`, `templates/`, and `references/`.
- You prepare that folder **in the sandbox under `/workspace`** using the standard
`exec`, `write`, `read`, and `edit` tools.
- You then call the **`register_skill`** tool to install it into LangBot's skill
store. After that, the skill can be invoked with the **`activate`** tool.
> `register_skill` and `activate` are built-in tools, available only when a
> sandbox backend (Docker/nsjail/E2B) is configured. They are not scripts you run.
## When to use
The user wants to create, author, scaffold, or publish a new skill.
## Execution steps
1. **Clarify scope.** Establish the skill's single responsibility and its trigger
conditions — when should the agent activate it? One skill = one job.
2. **Create the folder** in the sandbox: pick a name (`[a-z0-9_-]`, 1-64 chars) and
`write` `/workspace/<skill-name>/SKILL.md`. Use `templates/SKILL.md.tmpl` from
this skill as the starting structure.
3. **Write the frontmatter** (`name`, `display_name`, `description`) and a numbered
procedure in the body. Write `description` as concrete triggers ("Use when ...")
— it is the only signal the agent uses to choose the skill. See
`references/frontmatter.md`.
4. **Add supporting files** only if needed (`scripts/`, `templates/`, `references/`),
using `write`/`exec`. Reference each one in the body under "Available resources".
5. **Self-check** with `python scripts/validate.py /workspace/<skill-name>` (bundled
with this skill) to catch frontmatter, naming, and missing-file issues before
registering.
6. **Register** by calling the `register_skill` tool with
`path = "/workspace/<skill-name>"`. The directory must contain `SKILL.md`.
Optionally pass `name`/`display_name`/`description` overrides.
7. **Confirm** to the user that the skill is registered and can now be activated
with the `activate` tool.
## Rules
- One skill, one responsibility. Split unrelated behavior into separate skills.
- `description` must describe *when to activate*, with concrete trigger keywords.
- Always prepare the package under `/workspace`; `register_skill` reads from there.
- Validate before registering.
## Available resources
- `scripts/validate.py` — validate frontmatter, naming, and referenced files before registering.
- `templates/SKILL.md.tmpl` — starting SKILL.md with the recommended structure.
- `references/frontmatter.md` — field-by-field reference for SKILL.md frontmatter.
- `references/registration.md` — how `register_skill` and `activate` work, with examples.
Skill Creator by langbot-team
Scaffold a new LangBot skill: write a clean SKILL.md, structure scripts and templates, and register it. Use when the user wants to create or author a new skill.
Loading...