Skills & Plugins
Package instructions, examples, and references into a reusable skill — when to create one, the file format, how your AI loads it, and safety rules. Create, manage, and share skills that extend what your AI can do.
A skill extends what your AI can do. Create a SKILL.md file with instructions, and Tyrex adds it to your AI's toolkit — loaded only when relevant, so long reference material costs nothing until you need it.
Create a skill when you keep pasting the same instructions, checklist, or multi-step procedure into chat, or when a persona's always-on instructions have grown into a procedure rather than a fact. A plugin bundles one or more skills (plus optional MCP servers) into a single installable unit.
A skill is instruction content — your AI reads it and follows it. A tool is a callable function your AI invokes. A skill can tell the AI to use tools, but the two are packaged separately. See Tools Reference for tools.
The format follows the common SKILL.md standard used across the AI ecosystem — a skill built elsewhere can often be installed here as-is.
Where to manage them
- Upload & manage skills — Settings → Skills: create, upload (
.md/.skill/.zip), or build with AI. - Plugins — Settings → Plugins: install, enable, or disable bundled skill packs.
- Per AI — open a persona and manage its skills from its settings; a skill is only active for the AIs you enable it on.
- Buy — Marketplace (Skills category), see Marketplace.
Core skills
Tyrex ships built-in core skills covering common tasks like Indonesian content writing, SEO article writing, marketplace review replies, financial report reading, and business WhatsApp/email drafting. They're available from the AI Library — attach one to an AI and it activates.
One core skill is different: product knowledge is always-on for every AI, injected on every turn, so your AI never guesses about Tyrex itself — facts about the product, plans, and pricing come from the official source. Always-on content is prioritized first within your skill budget. You can't disable or edit core skills.
Getting started — create your first skill
This example creates a skill that turns uploaded documents into a quiz.
1. Write the skill file
A skill is a markdown file with two parts: YAML frontmatter between --- markers (tells Tyrex when to use the skill), and markdown content (the instructions your AI follows when the skill runs).
Save this as question-generator.md:
---
name: question-generator
description: Generate practice questions from the attached knowledge. Use when the user asks for a quiz, exercise set, or practice material on a topic in their files.
keywords:
- quiz
- practice questions
- exam prep
---
You are a question generator.
1. Search the attached knowledge for the requested topic.
2. Draft the requested number of questions at the stated difficulty.
3. Present them with clear numbering and an answer key at the end.
Requirements:
name— required. Becomes the skill's slug and the command you type to invoke it.description— required. This is the trigger: it should say when the skill is definitely used.- Body — at least ~50 characters of instructions.
2. Upload it
Upload the file in AI Library → Skills, or attach it to a persona directly. The skill registers instantly.
3. Test it
You can use the skill two ways:
- Let the AI trigger it automatically — ask something that matches the description or keywords: "make me a quiz from my notes".
- Invoke it directly — type
/question-generatorin chat to force-load the skill for that turn.
Either way, your AI should respond following the skill's instructions.
Where skills live
| Location | Applies to |
|---|---|
| Core skills | Every AI, always available |
| Your AI Library | Your account — available to any AI you attach it to |
| Marketplace | Public listings — buy skills from other creators, or publish your own |
| Plugins | Bundled skills installed together, with per-AI enable/disable |
When the same skill name exists at multiple levels, your own skill wins over a marketplace one, and both win over core. A skill you've disabled for a specific AI never loads for that AI.
How your AI loads a skill
Skills are injected into the AI's context when triggered — they're not part of every turn (the one exception is the always-on product-knowledge skill). Two trigger modes:
1. Slash — you invoke it
Typing /skill-name at the start of a message force-loads that skill for the turn. Case-insensitive. This works even when the auto-trigger wouldn't have matched — you decided it's relevant.
2. Auto — the AI decides
The skill loads when the message matches its trigger signals:
- Keywords — any listed
keywordsterm appears in the message (3+ characters, case-insensitive). - Description overlap — the message shares at least two significant words with the skill's description or keywords.
A skill's description matters more than you think: it's both shown to the model and used for matching.
Dependencies
A skill can declare that it needs specific tools or connectors. When it does, the skill only loads if those capabilities are actually available in that AI — a skill that instructs the AI to call a tool the AI doesn't have is skipped, because it would only confuse the model. Enable the required tool or connector first, and the skill becomes available.
Budget
Injected skills are capped at ~16,000 characters per turn (roughly 4K tokens). When you have more skills than fit, the ones you invoked with / load first, then the rest in your library order. Anything beyond the cap is truncated with a marker so your AI never runs out of context — keep skill bodies focused, and put long reference material in supporting files instead.
Frontmatter reference
All fields are optional except name and description:
---
name: my-skill
description: What this skill does and when to use it
keywords:
- term-one
- term-two
license: MIT
version: 1.0.0
---
Your skill instructions here...
| Field | Required | Description |
|---|---|---|
name | Yes | Skill slug — becomes the /command and the display name |
description | Yes | What the skill does and when to use it. Drives auto-trigger matching and shows to the model. Put the key use case first |
keywords | No | Extra trigger terms — message mentions any of these and the skill auto-loads |
license | No | Recorded with the skill (shown in listings) |
version | No | Recorded with the skill (shown in listings) |
Supporting files
Skills can include supporting files alongside SKILL.md. This keeps the main instructions focused while letting your AI pull detailed reference material only when needed:
my-skill.skill
├── SKILL.md ← required: frontmatter + instructions
├── references/ ← optional: documents the skill refers to
├── scripts/ ← optional: helper scripts
├── examples/ ← optional: sample inputs and outputs
└── assets/ ← optional: other resources
- Every non-
SKILL.mdtext file in the package becomes a supporting file available to the skill — scripts, markdown references, CSV data, config, anything human-readable. LICENSE.txt/LICENSEis recorded with the skill but not loaded as a supporting file.- Binary files (images, PDFs, archives) are skipped — only text files are attached today. A
.pnginassets/will be quietly dropped, so keep assets as text (markdown, CSV, JSON) or embed them in the instructions.
Writing a good description (the trigger)
The description decides whether the AI reaches for your skill. Specific beats clever:
| Weak | Strong |
|---|---|
| "Helps with questions" | "Generate practice questions from the attached knowledge. Use when the user asks for a quiz, exercise set, or practice material on a topic in their files." |
Mention the moment it should be used, the input it needs, and the output it produces. Add keywords for alternate phrasings people actually use.
Plugin packages
A plugin bundles one or more skills (plus optional MCP servers) into a single installable unit. Uploaded as .plugin or .zip:
my-plugin/
├── plugin.json ← required: manifest (name or displayName + description)
├── skills/
│ └── <skill-name>/
│ ├── SKILL.md ← frontmatter + instructions
│ └── reference.md ← supporting files for that skill
├── .mcp.json ← optional: MCP servers as name → URL
└── README.md ← optional
Manifest requirements (plugin.json):
nameordisplayName— required.description— required.version,license— optional but recommended.- At least one
SKILL.mdmust exist somewhere inskills/. As a shortcut, a single skill can sit directly at the package root (noskills/folder).
MCP servers (.mcp.json)
A plugin can declare external MCP servers so its skills can reach external tools. The file maps server names to URLs (either mcpServers or servers is accepted):
{
"mcpServers": {
"github": { "url": "https://mcp.example.com/github" },
"filesystem": { "url": "https://mcp.example.com/fs" }
}
}
Each entry maps a name to a URL; skills reference the server by name.
What gets installed
When you install a plugin:
- Its bundled skills register together (frontmatter → trigger).
- Declared MCP servers are added as connectors, with per-AI enable/disable.
- Individual skills inside the plugin can be enabled or disabled per AI, just like standalone skills.
Safety rules (automatically enforced)
Every upload passes a security scan before it can be published. The scanner rejects:
- Data exfiltration — instructions that fetch or upload to external URLs (
fetch,curl,wgetto arbitrary hosts). - Path traversal — files that try to escape the package structure.
- Oversized packages — max 10 MB decompressed for both formats; max 200 files for a skill, max 300 for a plugin (anti-zip-bomb).
Clean skills with scripts that work on the user's own data and documents are welcome; anything that phones home is not.
Publishing in the Marketplace
Skills and plugins are listed in the Skills category. See Sell on the Marketplace for the listing flow, review process, and fees.
Template: a minimal skill
---
name: your-skill-name
description: One sentence on when to use this skill — be specific about the trigger moment and the input it needs.
keywords:
- keyword-one
---
What the AI should do, step by step.
1. First step.
2. Second step.
3. Output format.
- Copy the template above into a file named
your-skill-name.md. - Replace the description and body with your skill's logic.
- Upload it in the AI Library or Marketplace listing.
FAQ
What's the difference between a skill and a tool? A skill is instruction content your AI reads and follows; a tool is a function your AI calls. A skill can tell the AI to use tools, but they're packaged separately.
How do I force a skill to run? Type /skill-name at the start of your message. Slash invocation always loads the skill for that turn (when its dependencies are met).
Why didn't my skill trigger automatically? Check the description and keywords against your actual phrasing — matching needs a keyword hit or at least two overlapping significant words. Also check the skill's tool/connector dependencies are enabled for that AI.
Can I sell my skill? Yes — skills and plugins list in the Marketplace's Skills category. See Sell on the Marketplace.
Are core skills editable? No — core skills ship with the platform. Your own skill with the same name overrides them for your AIs.
Can a plugin include more than one skill? Yes — a plugin bundles any number of skills plus optional MCP servers, installed together.
Next: see the Tools reference for single-purpose tools, or Sell on the Marketplace to publish your work.