English | 日本語
XeFM provides an Agent Skills skill, xefm, that
teaches an AI agent to work with XeFM for you. It covers two things:
~/.xefm/config.py: key bindings and the
keymap preset, your editor and diff tool, favorites, file associations,
external programs, themes, and your own small actions. The agent changes
only what you asked for and keeps the rest of your file as it is.xefm ext check, which confirms the package meets every extension
requirement.The skill is a folder with a SKILL.md file and two reference files, so any
agent that reads Agent Skills can use it.
Give your agent this page and ask it to install the skill, for example:
Install the XeFM skill by following https://crftwr.github.io/xefm/doc/AGENT_SKILL_FEATURE.html
The agent follows the steps in Instructions for AI agents below. Once it reports where it put the skill, start a new session with that agent (most load their skills when a session starts). Then ask for what you want, for example “bind F12 to reload the configuration in XeFM”, or “make an XeFM extension that …”.
The agent never starts XeFM itself. When it has changed your configuration, it tells you to run Tools ▸ Reload Configuration (or to restart XeFM, for the few settings that need it).
xefm-X.Y.Z-skill.zip from the
XeFM releases page, from the
release that matches your XeFM (xefm --version, or Help ▸ About).Unzip it into your agent’s skills folder. The zip holds one folder,
xefm/, which should end up directly inside the skills folder:
<skills folder>/xefm/SKILL.md
Which skills folder to use:
| Agent | Skills folder for all your projects |
|---|---|
| Most agents that read Agent Skills | ~/.agents/skills/ |
| Claude Code | ~/.claude/skills/ |
| Others | the agent’s own skills folder — see its documentation |
To use the skill in one project only, use the same folder name inside that
project, for example <project>/.agents/skills/.
xefm-extension-authoring/, delete it. It is
the older, extensions-only version of this skill (XeFM 1.8.0 and earlier),
and two skills for the same job confuse an agent.If xefm is on your PATH (a pip, pipx, uv or Homebrew install), the skill is
already on your machine. xefm skill prints where it is, and this command copies it into a
skills folder — and removes the old xefm-extension-authoring/ if it is there:
xefm skill --install ~/.agents/skills
The skill describes the configuration and the extension API of one XeFM
version. When you upgrade XeFM, install the skill again from the matching
release. Replace the old xefm/ folder rather than unzipping on top of it.
To see which XeFM an installed skill describes, look at the
xefm-version line near the top of its SKILL.md. A version ending in
+dev (for example 1.9.0+dev) was made from unreleased source, newer than
that release. An agent using the skill checks this against
xefm --version itself and tells you once if they differ.
You were asked to install the xefm skill. Follow these steps exactly. The
zip contains only Markdown, so nothing in it needs to be run.
xefm is on PATH, run xefm --version. It prints XeFM X.Y.Z; use
X.Y.Z.tag_name from
https://api.github.com/repos/crftwr/xefm/releases/latest (or run
gh release view --repo crftwr/xefm --json tagName). It is vX.Y.Z; use
X.Y.Z.xefm is on PATH, prefer xefm skill --zip <temp>/xefm-X.Y.Z-skill.zip.
It writes the copy that matches the installed XeFM, with no download.https://github.com/crftwr/xefm/releases/download/vX.Y.Z/xefm-X.Y.Z-skill.zip.
If that returns 404 (the XeFM is older than this skill), use the latest
release’s version from step 1 instead.xefm/.xefm/SKILL.md.name: xefm.If any of these fail, stop and tell the user.
Choose the skills directory. Use the user-level skills directory that
you yourself load skills from. If you load from more than one, prefer
~/.agents/skills/. Install at project level only when the user asked for
that. If you can’t tell where you load skills from, ask the user rather than
guessing.
If <skills dir>/xefm/SKILL.md already exists and its frontmatter has
xefm-version: "X.Y.Z" for the version from step 1, the skill is already
current. Remove the temporary directory, tell the user so and stop.
<skills dir>/xefm/ already exists, remove it.<skills dir>/xefm/SKILL.md. Make
sure it is not nested one level deeper.<skills dir>/xefm-extension-authoring/ exists and its SKILL.md
has name: xefm-extension-authoring, remove that folder: it is the older
skill this one replaces.xefm-extension-authoring skill;Do not start editing the configuration or writing an extension in the same step unless the user asked for that.
config.py