AI Agent Skills — Custom Slash Commands for Claude Code, Codex & Gemini CLI

Define reusable SOPs once, invoke them across your entire agent fleet. Updated July 2026.

Quick answer: amux Skills let you define reusable slash commands — /commit, /review-pr, /deploy — that work identically whether your agent is Claude Code, OpenAI Codex, or Gemini CLI. Write the skill once as a Markdown SOP, and amux syncs it to every running session. Type /skill-name in the steering bar to invoke it on any agent.

Why skills matter

Without skills, every new AI agent session starts blank. You have to re-explain your commit conventions, your PR review checklist, your deploy sequence — every single session, every single time. As your fleet grows from 2 sessions to 20, this becomes the bottleneck.

amux Skills solve this with a library of reusable SOPs. Each skill is a Markdown file describing exactly what the agent should do when you invoke it. Skills are:

The result: a consistent, auditable, version-controlled playbook for your AI engineering team that scales as you add more sessions.

Creating your first skill

Step 1: Open the Skills tab

In the amux dashboard (localhost:8822), click the Skills tab in the top navigation. It shows all defined skills and a New Skill button. The Skills tab is hideable — pin it to the taskbar or keep it in the overflow menu.

Step 2: Click New Skill and give it a name

The name becomes the slash command. Use lowercase with hyphens: review-pr creates /review-pr, commit creates /commit, run-tests creates /run-tests. Keep names short and action-oriented.

Step 3: Write the skill Markdown

The skill body describes the SOP. Be specific: list the exact steps, the expected output format, and any constraints. The more precise the skill, the more consistent the agent behavior across all sessions.

---
name: review-pr
description: Review staged changes for correctness, edge cases, and breaking changes
---

## When to use
Run this before committing a PR branch. Works on any staged diff.

## Steps
1. Run `git diff --cached` to see staged changes.
2. For each changed file: identify the intent of the change, list edge cases not covered by the diff, flag any breaking changes.
3. Check for: missing error handling, hardcoded values, test coverage gaps, security issues (SQL injection, XSS, auth bypass).
4. Output a structured review: LGTM / NEEDS WORK, then bullet points per finding with severity (critical/major/minor).
5. If NEEDS WORK: list the specific changes required before this should be committed.

## Output format
```
**Status:** LGTM / NEEDS WORK
**Summary:** one sentence

**Findings:**
- [critical/major/minor] file.ts:42 — description
```

Step 4: Save — skills sync automatically

Click Save. amux writes the skill to the skills/ directory and syncs it to all running sessions. For Claude Code sessions, the skill appears in the session's skills list immediately. For Codex and Gemini CLI sessions, amux injects it as a system block on the next invocation.

Step 5: Invoke the skill in any session

In the steering bar of any session, type /review-pr and hit Enter. The skill SOP is sent as the prompt. Works across all providers in your fleet.

Example skills

/standup — summarize yesterday's work

---
name: standup
description: Summarize what you accomplished since the last commit
---

Run `git log --since="24 hours ago" --oneline` and `git diff HEAD~5 --stat`.

Summarize in standup format:
- **Done:** bullet list of completed tasks (from commit messages and diff)
- **In progress:** what's staged or in your current working context
- **Blockers:** anything waiting on me or an external dependency

Keep it to 5 bullets max. Post to the amux board as an issue titled "Standup [date]".

/commit — stage and commit with a conventional message

---
name: commit
description: Stage all changes and commit with a conventional commit message
---

1. Run `git status` and `git diff` to understand what changed.
2. Group changes by type: feat, fix, refactor, docs, test, chore.
3. Stage only the relevant files (not lockfiles, .env, or generated files unless they're the point of the commit).
4. Write a commit message following Conventional Commits:
   - Format: `type(scope): short description`
   - Keep the subject under 72 chars
   - Add a body if the change is non-obvious
5. Run `git commit -m "..."`. Do not amend previous commits.
6. Report: what was staged, the commit hash, and the message.

/deploy — test, build, push

---
name: deploy
description: Run tests, build, and push to origin
---

1. Run the test suite. If any tests fail, stop and report which tests failed and why.
2. Run the build command. If the build fails, stop and report the error.
3. If both pass: `git push origin HEAD`. Report the push result.
4. After push: check if there's a CI pipeline. If so, note the pipeline URL.

Do NOT push if tests fail. Do NOT force push. Do NOT skip the build step.

Skills vs alternatives

MethodOn-demandCross-providerFleet-syncedDashboard
amux Skills ✓ invoke with /name ✓ Claude Code, Codex, Gemini ✓ auto-sync to all sessions ✓ Skills tab
Claude Code CLAUDE.md ✗ always-on context Claude Code only Per-project file ✗ file editor only
Codex system prompt ✗ always-on Codex only ✗ per-session flag ✗ CLI flag
LangGraph prompt templates ✓ programmatic Depends on implementation Code-defined LangSmith UI
No system (manual copy-paste) Manual Manual

Model-agnostic delivery (July 2026)

The July 2026 Skills update (v0.9.x) made the Skills tab model-agnostic and cross-provider. Previously, skills only worked in Claude Code sessions (via the native /slash-command system). Now amux handles provider-specific delivery for all runtimes:

From the user's perspective, /review-pr works the same in every session, regardless of which AI is running behind it. You can have a Claude Code session and a Codex session both using the same /commit skill with no changes.

Keeping skills in sync across a large fleet

When you update a skill in the dashboard, amux marks it dirty and syncs it on the next prompt delivery to each session. For active sessions this is nearly instant. For idle or detached sessions, the sync happens the next time they receive a prompt (whether from the steering bar, the scheduler, or another session via inter-session messaging).

To force-sync immediately: click Sync All in the Skills tab, or use the API:

curl -sk -X POST https://localhost:8822/api/skills/sync

Frequently Asked Questions

What's the difference between a skill and CLAUDE.md?

CLAUDE.md is always-on context — loaded into every Claude Code session automatically, shaping every response. A Skill is on-demand: it does nothing until you invoke it with /skill-name. Use CLAUDE.md for persistent project context (coding standards, architecture notes, tool preferences). Use Skills for repeatable SOPs (commit conventions, PR review checklist, deploy sequence) that you want to trigger explicitly.

Do skills work with Gemini CLI and Codex too?

Yes. amux Skills are model-agnostic as of July 2026. For Claude Code sessions, skills live in the session's skills/ directory and are invoked with /skill-name. For Codex and Gemini CLI sessions, amux injects the skill body as a system context block when you invoke it. The skill author writes it once; amux handles the provider-specific delivery.

Can skills call other skills?

Not directly — a skill is a Markdown SOP, not executable code. However, you can reference another skill's procedure in the body (e.g. "first follow the /commit checklist, then...") and the agent will follow both. For complex multi-step automation across skills, consider the amux scheduler with a prompt that walks through multiple skills in sequence.

How do I sync skills to a new session?

Skills sync automatically when you start or register a session. Existing sessions pick up new or updated skills the next time they receive a prompt. You can also click Sync All in the Skills tab or call POST /api/skills/sync to push immediately to all running sessions.

Can I keep a skill private to one session?

By default, skills defined in the dashboard are global and sync to all sessions. To scope a skill to one session, place the skill Markdown file directly in that session's local skills/ subdirectory rather than defining it via the dashboard. Local session skills override global ones of the same name.

Build a reusable playbook for your AI engineering team

amux is an open-source control plane for AI agent teams — model-agnostic skills, self-healing, phone-first, single Python file, zero external dependencies, MIT licensed.

git clone https://github.com/mixpeek/amux && cd amux && ./install.sh
amux register myproject --dir ~/Dev/myproject --yolo
amux start myproject
# Open https://localhost:8822 → Skills tab → New Skill
★ Star on GitHub Get started →

Related guides