Skip to content
LoopCodeDocs

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

LocationScope
.loopcode/skills/<name>/SKILL.mdThis project — commit it to share with your team
~/.loopcode/skills/<name>/SKILL.mdAll your projects
.claude/skills/, ~/.claude/skills/Claude Code's skills, read as they are
.claude/commands/<name>.mdClaude Code commands; sub/<name>.md becomes /sub:name
PluginsA 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

.loopcode/skills/release-notes/SKILL.md
---
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 matterMeaning
nameThe command name
descriptionWhat it is for and when to use it. LoopCode decides when to load a skill from this, so be specific
argument-hintWhat to type after the command, shown in the command list
allowed-toolsThe tools it needs
disable-model-invocation: trueOnly a person can run it; LoopCode never loads it by itself

In the instructions:

  • $ARGUMENTS is everything typed after the command; $ARGUMENTS[0], $0, $1 are 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.