Skills: MCP plus a model
A skill is not a plugin and not a new app. It is a markdown file (SKILL.md) with two jobs:
- A description that says when to pick it.
- A body with the exact steps, commands, and paths.
Claude Code, Codex, and Gemini CLI all read that format (or a close cousin). The agent chooses the skill by the description. You can also call it by name.
The run itself is always the same shape:
you
→ LLM provider (Claude Code, Codex, or Gemini)
→ MCP door (LogiShell tools)
→ this machine, this board, this repo
You do not swap the model for LogiShell. You keep the provider you already pay for. You add the door, and you add the markdown.
What a skill looks like
.claude/skills/review-layout/SKILL.md
Front matter:
---
name: review-layout
description: Review a screen against the design tokens. Use when a layout shipped or a screenshot arrived.
---
Body: the steps, the files to open, the commands that exist in this repo. A skill that invents flags is a lie. A skill that points at a real script stays true when the script moves, because the same PR updates both.
Providers
| Provider | How the skill is found | How LogiShell is reached |
|---|---|---|
| Claude Code | .claude/skills/ in the project, or ~/.claude/skills/ | claude mcp add … logishell https://mcp.logishell.com/mcp |
| Codex | the same markdown, in the place Codex looks for skills | MCP connector, same URL |
| Gemini CLI | the same markdown, in the place Gemini looks for skills | MCP connector, same URL |
If a provider cannot see project skills yet, copy the folder into its user skills directory. The file is self-contained.
What MCP is for
The model can talk. MCP is how it does. Through the LogiShell door it can list repositories, read the map, see whether a machine is online, write a card, leave a note. Without the door the skill can only tell you what to click. With the door it can do the click.
Personal door: https://mcp.logishell.com/mcp (OAuth, your stuff).
Local door: lsh mcp install --local (this working copy: decisions, the agent room).
Writing a new skill
- Name the job in one line ("when a designer drops a frame, extract tokens").
- Write the steps you would type. Every command must exist.
- Put the file in
.claude/skills/<name>/SKILL.md. - Run the job once by hand with the agent. If it guessed a flag, the skill is wrong.
- If the job is a profession's default, add a page under Professions that points at it.
A profession playbook is a set of skills plus the story of when to use them. The designer page is the first of those.