Skills

Wiki

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 .zip of a skill folder. Use this when the skill bundles more than just SKILL.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 read SKILL.md will 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 UI
  • prompt (required): text that will be sent when user clicks
  • instructions (optional): extra condition hints used by suggestion logic
  • tags (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: ...).
  • title and prompt are required; malformed items are skipped.
  • Maximum skill buttons: 10 per skill.
  • Unsupported in button items: multiline YAML scalars (|, >), nested maps, anchors.

Best practices

  • Keep title short and action-based.
  • Keep prompt explicit and runnable as a standalone request.
  • Use instructions for context hints like weekday mornings or when MCP X is connected.

See also