Extend LoopCode
Skills and commands
Teach LoopCode how your team does things with skills — instructions it loads when a task calls for them, or that you run as slash commands. Compatible with Claude Code skills and commands.
What a skill is
A skill is a folder of tested instructions for a kind of task — how your team writes a migration, releases a package, or reviews a pull request — with any references, scripts and templates it needs.
The point is progressive disclosure. LoopCode sees one line per skill — what it is for — and loads the instructions itself when a task calls for one. The skill's other files are read only when the instructions point to them. A hundred skills cost a few hundred tokens until one is used.
You can also run a skill directly as a command: /release-notes v2.4.
Where skills live
| Location | Scope |
|---|---|
.loopcode/skills/<name>/SKILL.md | This project — commit it to share with your team |
~/.loopcode/skills/<name>/SKILL.md | All your projects |
.claude/skills/, ~/.claude/skills/ | Claude Code's skills, read as they are |
.claude/commands/<name>.md | Claude Code commands; sub/<name>.md becomes /sub:name |
| Plugins | A plugin's skills and commands, as /plugin:name — see Plugins |
/skills lists them. The desktop app's Skills page lists them too, and lets you upload one.
Write a skill
---
name: release-notes
description: Write release notes for a version from the merged pull requests. Use when asked for release notes or a changelog entry.
argument-hint: <version>
allowed-tools: Bash, Read, Write
---
Write release notes for version $ARGUMENTS.
1. List the pull requests merged since the previous tag: !`git describe --tags --abbrev=0`
2. Group them as Features, Fixes and Internal. Leave out Internal unless asked.
3. Follow the style in [examples.md](examples.md).
4. Write the result to CHANGELOG.md, newest version at the top.| Front matter | Meaning |
|---|---|
name | The command name |
description | What it is for and when to use it. LoopCode decides when to load a skill from this, so be specific |
argument-hint | What to type after the command, shown in the command list |
allowed-tools | The tools it needs |
disable-model-invocation: true | Only a person can run it; LoopCode never loads it by itself |
In the instructions:
$ARGUMENTSis everything typed after the command;$ARGUMENTS[0],$0,$1are single arguments.!`command`is replaced by the command's output when you run the skill yourself. When LoopCode loads a skill on its own, those commands are not run behind your back: the agent runs them as usual, through the normal permission check.- Link other files in the skill's folder; they are read only when needed.
Create skills with LoopCode
The built-in skill-creator skill writes a skill with you: ask "make a skill for how we write database migrations".
Learned skills
When LoopCode works out a reusable procedure during your sessions, it can keep it as a learned skill on your computer. /skills lists learned skills; share copies one into the project so you can review it and commit it for the whole team. See Instructions and memory.