Get the FREE Ultimate OpenClaw Setup Guide →

skills-authoring

npx machina-cli add skill filmicgaze/MiChat-desktop/skills-authoring --openclaw
Files (1)
SKILL.md
4.7 KB

Use this skill when you need to create a new skill or revise an existing skill for the active profile.

What a skill is and why it exists

In MiChat, a “skill” is a small, reusable instruction bundle that teaches the agent how to handle a particular kind of task (tools to use, rules to follow, and the preferred workflow). Skills are loaded into the model’s context only when relevant, so they improve reliability and consistency without bloating every conversation.

Use skills to:

  • make recurring tasks repeatable (same tools, same safety boundaries, same workflow)
  • keep “how to do this well” out of ad-hoc chat prompts
  • keep the default context light — skills are pulled in only when needed

Scope and ground rules

  • Only edit skills that belong to the active profile (for example: profiles/<profile>/skills/...). Do not edit global skills.
  • Stay within the skill’s folder boundary. Never write outside the profile’s skills/ tree.
  • MiChat does not execute bundled code. Do not create or rely on scripts/.

Skill folder structure

A skill is a folder containing a required SKILL.md file.

Recommended minimum

  • profiles/<profile>/skills/<skill-name>/SKILL.md

Optional (only when specifically requested)

  • profiles/<profile>/skills/<skill-name>/references/ (supporting docs)
  • profiles/<profile>/skills/<skill-name>/assets/ (templates, small resources)

Tools

Read/inspect (core tools)

  • list_skills — list installed skills (including scope/provenance).
  • read_skill — read a skill’s SKILL.md.

Edit (skill_editing toolset)

  • skill_edit_list(skill_name, path?, max_items?, cursor?) — list files/folders within a single skill directory. Useful for confirming what exists under SKILL.md, references/, and assets/.
  • skill_edit_write(skill_name, content, path?) — write SKILL.md (default) or a file under references/ or assets/.

Constraints (tool-enforced)

  • Only the active profile’s skills are writable.
  • Only SKILL.md, references/…, and assets/… are allowed. scripts/ is blocked.
  • Relative paths only; no .. traversal; no absolute paths.
  • No delete support.

SKILL.md format

SKILL.md must start with YAML frontmatter between --- lines, followed by Markdown instructions.

Required fields

  • name: lowercase with hyphens (match the folder name).
  • description: include when to use the skill (write it as “Use this when …”).

Recommended MiChat header

---
name: my-skill-name
description: One sentence describing capability + when to use it.
metadata:
  michat.requires_toolsets: "documents"
---

MiChat metadata conventions

Use metadata.michat.requires_toolsets to control whether a skill is available for a profile.

MiChat uses this field to filter global skills when required toolsets aren’t enabled; for profile skills it may be informational today, but keep it accurate for clarity and future compatibility.

  • Value is a space-separated list of toolset names (for example: "documents filesystem").
  • Keep it minimal and truthful: list only the toolsets that are genuinely required to follow the skill.

Preferred heading structure

Use consistent headings so skills are easy to scan and evolve:

  • ## When to use this skill
  • ## Tools
  • ## Workflow
  • ## Constraints and safety

Add additional ## sections only when they earn their keep.

Authoring workflow

  1. Identify whether you’re editing a profile skill or creating a new one.

  2. Draft the new SKILL.md content first (scratchpad is fine for drafting), then write it to disk.

  3. Keep the body tight:

  • Put the decision rule up front (“Use this skill when …”).

  • Prefer short, operational instructions over long explanations.

  • If a large example or background reference is useful, put it in references/ (only if requested).

  1. After writing, re-read the description and ask: “Would this description reliably trigger the right skill?” If not, sharpen it.

What not to do

  • Don’t add scripts/ (MiChat won’t run them).
  • Don’t introduce new toolsets in michat.requires_toolsets unless they’re actually required.
  • Don’t make global policy changes here (this skill is for editing the active profile’s skills only).

Quick quality checks

  • Folder name matches name.
  • Description includes a clear “Use this when …” trigger.
  • The instructions can be followed without hidden assumptions.
  • Toolset requirements are correct and minimal.

Source

git clone https://github.com/filmicgaze/MiChat-desktop/blob/main/profiles/_global/skills/skills-authoring/SKILL.mdView on GitHub

Overview

A MiChat skill is a small, reusable instruction bundle that teaches the agent how to handle a task—tools to use, rules to follow, and the preferred workflow. Skills load into the model’s context only when relevant, improving reliability without bloating conversations. Use this skill to create a new skill or revise an existing one for the active profile.

How This Skill Works

Skills are stored as SKILL.md inside profiles/<profile>/skills/<skill-name>/ and gated by metadata. Editing uses the skill_edit toolset to read or write SKILL.md, as well as optional references/assets. The profile-scoped rules ensure that only the active profile’s skills are modified and that global skills remain untouched.

When to Use It

  • Create a new skill for the active profile
  • Revise an existing skill for the active profile
  • Add or update references/assets for a skill
  • Ensure you’re editing only within profiles/<profile>/skills
  • Verify and align the skill's toolset gating (metadata) with required toolsets

Quick Start

  1. Step 1: Identify whether you are editing an existing skill or creating a new one for the active profile.
  2. Step 2: Draft the SKILL.md content with frontmatter and the required sections, then save under profiles/<profile>/skills/<skill-name>/SKILL.md.
  3. Step 3: Use the skill_edit_write tool to save changes and verify with read_skill or list_skills.

Best Practices

  • Always confirm you’re editing the active profile’s directory
  • Keep SKILL.md updates tight: frontmatter + concise sections
  • Draft changes separately before writing to disk
  • Avoid creating or relying on scripts; only use allowed paths
  • Use the recommended headings (When to use this skill, Tools, Workflow, Constraints and safety)

Example Use Cases

  • Add a new skill under profiles/sales/skills/send-email/SKILL.md to standardize email generation
  • Update profiles/support/skills/faq-responder with a refined workflow for customer queries
  • Attach a quick-reference document under references/ for a skill in profiles/ops/skills/incident-handler
  • Move a misfiled skill into the active profile’s skills folder to ensure proper scoping
  • Adjust metadata.michat.requires_toolsets for a skill that now needs the documents toolset

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers