Skip to main content

create-skill

How to create new skills for an agent-native app. Use when adding a new skill, documenting a pattern the agent should follow, or creating reusable guidance for the agent.

Source facts

Repository
BuilderIO/agent-native
Last source activity
August 11, 2026 at 12:19
Detected SKILL.md language
English
Stars
7,449
Forks
681

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
create-skill
description
How to create new skills for an agent-native app. Use when adding a new skill, documenting a pattern the agent should follow, or creating reusable guidance for the agent.
scope
dev
metadata
{"internal":true}
# Create a Skill ## When to Use Create a new skill when: - There's a pattern the agent should follow repeatedly. - A multi-step workflow needs reliable, step-by-step guidance. - You want to scaffold files from a template. Don't create a skill when: - The guidance already exists in another skill — extend it instead. - You're documenting something the agent already knows (e.g., how to write TypeScript). - It's a one-off — put it in `AGENTS.md` (for everyone) or `memory/MEMORY.md` (personal, per-user). See **capture-learnings**. ## Interview Before writing the skill, answer these: 1. **What should this skill enable?** — The core purpose in one sentence. 2. **Which of the four areas does it serve?** — UI, actions, skills/instructions, or application state (see the **adding-a-feature** skill). Most skills are about how to touch one or more of these correctly. 3. **When should it trigger?** — Describe the situations in natural language. 4. **Does it involve context awareness?** — Does the agent need to know what the user is looking at? If so, reference the `navigation` application-state key and the `view-screen` action pattern. See the **context-awareness** skill. 5. **What type of skill?** — Pattern, Workflow, or Generator (see below). 6. **Does it need supporting files?** — References (read-only context) or none. Keep it minimal; push depth into `references/`. ## Skill Types and Templates ### Pattern (architectural rule) For documenting how things should be done: ```markdown --- name: my-pattern description: >- [Under 40 words. What it covers AND when it should trigger.] --- # [Pattern Name] ## Rule [One sentence: what must be true] ## Why [Why this rule exists] ## How [How to follow it, with code examples] ## Don't [Common violations] ## Related Skills [Which skills compose with this one] ``` ### Workflow (step-by-step) For multi-step implementation tasks: ```markdown --- name: my-workflow description: >- [Under 40 words. What it covers AND when it should trigger.] --- # [Workflow Name] ## Prerequisites [What must be in place first] ## Steps [Numbered steps with code examples] ## Verification [How to confirm it worked] ## Troubleshooting [Common issues and fixes] ## Related Skills ``` ### Generator (scaffolding) For creating files from templates: ```markdown --- name: my-generator description: >- [Under 40 words. What it covers AND when it should trigger.] --- # [Generator Name] ## Usage [How to invoke — what args/inputs are needed] ## What Gets Created [List of files and their purpose] ## Template [The template content with placeholders] ## After Generation [What to do next — wire up sync, add routes, register the action, etc.] ## Related Skills ``` ## Naming Conventions - Hyphen-case only: `[a-z0-9-]`, max 64 characters. - Pattern skills: descriptive names (`storing-data`, `delegate-to-agent`). - Workflow/generator skills: verb-noun (`create-skill`, `capture-learnings`). - The directory name must match the `name` in frontmatter. ## Frontmatter Fields | Field | Required | Value | | ------------- | -------- | --------------------------------------------- | | `name` | yes | Hyphen-case, matches the directory name | | `description` | yes | What the skill covers AND when it triggers | | `scope` | no | `both` (default) \| `runtime` \| `dev` | For how to word a `description` and which `scope` a skill should get, follow **writing-agent-instructions** — it owns those rules. ## Tips - **Keep SKILL.md lean (under ~500 lines)** — move detailed content to `references/` files. - **Use standard markdown headings** — no XML tags or custom formats. ## Anti-Patterns - **Inline LLM calls** — skills must not call LLMs directly. All AI work goes through the agent chat (see **delegate-to-agent**). - **Introducing databases** — data lives in SQL via Drizzle (see **storing-data**). - **Ignoring sync** — if a skill creates data, mention wiring `useDbSync` / `useActionQuery` so the UI updates (see **real-time-sync**). - **Pure documentation** — skills should guide action, not just explain concepts. ## File Structure ``` .agents/skills/my-skill/ ├── SKILL.md # Main skill (required) └── references/ # Optional supporting context └── detailed-guide.md ``` ## Related Skills - **adding-a-feature** — The four-area model every skill ultimately serves. - **writing-agent-instructions** — How to write AGENTS.md and skills well for apps and templates you ship to others. - **capture-learnings** — When a learning graduates to reusable guidance, create a skill; one-offs go to `AGENTS.md` or `memory/MEMORY.md`. - **self-modifying-code** — The agent can create new skills (Tier 2 modification).
View on GitHub