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.
62
75%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./.agents/skills/create-skill/SKILL.mdCreate a new skill when:
Don't create a skill when:
AGENTS.md (for everyone) or memory/MEMORY.md
(personal, per-user). See capture-learnings.Before writing the skill, answer these:
navigation application-state key and
the view-screen action pattern. See the context-awareness skill.references/.For documenting how things should be done:
---
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]For multi-step implementation tasks:
---
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 SkillsFor creating files from templates:
---
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[a-z0-9-], max 64 characters.storing-data, delegate-to-agent).create-skill, capture-learnings).name in frontmatter.| 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.
references/ files.useDbSync /
useActionQuery so the UI updates (see real-time-sync)..agents/skills/my-skill/
├── SKILL.md # Main skill (required)
└── references/ # Optional supporting context
└── detailed-guide.mdAGENTS.md or memory/MEMORY.md.cc2a915
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.