Skills
A skill is a reusable pack of instructions that teaches DMJBot how to do a specific kind of task — for example "brainstorm domain names", "review a pull request", or "follow our support reply style". You add the knowledge once as a skill, and the bot draws on it whenever a relevant request comes up, instead of you re-explaining it every time.
At its core a skill is a SKILL.md file: a short block of metadata (a name, a
description that tells the bot when the skill applies, and optional tags) followed
by the instructions themselves. A skill can be just that one file, or a folder that
bundles SKILL.md together with extra files it needs.
Managing skills
Skills are managed in Settings → Skills, where you can see installed skills, enable or disable them, and add new ones. You can install a skill in three ways:
- From a URL — give a link to a skill file and DMJBot fetches and installs it. Handy for sharing skills or pulling one from a repository.
- From a zip file — upload a
.zipof a skill folder. Use this when the skill bundles more than justSKILL.md(for example reference files it relies on). - From a text file — upload a single
SKILL.md/ markdown file directly. The simplest option when the whole skill is just instructions.
After installing, the skill appears in the list and is available to the bot right away (unless you disable it).
Add quick buttons to a skill
Note:
buttons:is a DMJBot-specific extension, not part of the standard skill format. It only works in this bot — other AI agents that readSKILL.mdwill simply ignore the field. Your skill stays fully compatible elsewhere; the buttons just have no effect outside DMJBot.
You can define chat quick buttons inside SKILL.md frontmatter using a top-level buttons: field.
Example
---
name: domain-name-brainstormer
description: Generates creative domain name ideas for your project and checks availability across multiple TLDs (.com, .io, .dev, .ai, etc.). Saves hours of brainstorming and manual checking.
tags: [business, branding, startup]
buttons:
- title: Build domain name
prompt: I need to build a domain name for the idea I described above
instructions: show when user plans a new initiative and the next step could be registering a domain
tags: [business, new]
- title: Check domain availability
prompt: Check domain availability across .com, .io, .dev, and .ai for the name ideas above
instructions: check if you have access to some MCP or CLI tool which can check domain availability
tags: [business, domain]
---
# Domain Name Brainstormer
This skill helps you find the right domain name by generating creative options and checking availability.
## When to use
- Starting a new project, product, or company
- Rebranding an existing project
- Finding alternatives when your first domain choice is taken
## Quick usage examples
Suggest domain names for an AI writing assistant. Prefer short names and .ai/.io.
Suggest domain names with words like "pixel" or "studio" for a design agency.
Button fields
title(required): label shown in the UIprompt(required): text that will be sent when user clicksinstructions(optional): extra condition hints used by suggestion logictags(optional): flow list like[email, morning]
Important parser rules
buttons:must be top-level in frontmatter.- The parser reads only the first top-level
buttons:section in frontmatter. - Each button item must be a YAML-like list item (
- title: ...). titleandpromptare required; malformed items are skipped.- Maximum skill buttons: 10 per skill.
- Unsupported in button items: multiline YAML scalars (
|,>), nested maps, anchors.
Best practices
- Keep
titleshort and action-based. - Keep
promptexplicit and runnable as a standalone request. - Use
instructionsfor context hints likeweekday morningsorwhen MCP X is connected.
See also
- Quick Buttons — the chat shortcuts that skills can define.
- Settings Guide — where skills are managed.