# Skill Invocation Syntax Across AI Coding Tools: >> vs @ vs Use vs opencode run

> Compare skill invocation syntax for AI coding tools: >> vs @ vs Use vs opencode run. Understand how Claude Code, Cursor, OpenCode, and Gemini execute identical skills from sickn33/antigravity-awesome-skills.

- Repository: [sickn33/antigravity-awesome-skills](https://github.com/sickn33/antigravity-awesome-skills)
- Tags: deep-dive
- Published: 2026-03-18

---

**Skill invocation syntax varies by AI tool—Claude Code uses the `>> /` prefix, Cursor relies on `@` mentions, OpenCode requires the explicit `opencode run` command, and Gemini or Codex CLI interpret natural language "Use" prompts, yet all execute identical underlying skill definitions from the repository.**

The `sickn33/antigravity-awesome-skills` repository packages reusable AI skills that adapt to each tool's native command style. Understanding these **skill invocation** differences ensures your prompts trigger the correct skill files regardless of which AI assistant you use. The repository maintains a compatibility table that maps each tool to its required syntax.

## Skill Invocation Syntax by AI Tool

According to the compatibility table in [[`README.md`](https://github.com/sickn33/antigravity-awesome-skills/blob/main/README.md)](https://github.com/sickn33/antigravity-awesome-skills/blob/main/README.md#L1001-L1012), each AI coding assistant expects a specific invocation pattern:

- **Claude Code**: Uses a CLI prefix `>>` with slash-style commands. Example: `>> /brainstorming help me plan a feature`
- **Cursor**: Uses inline `@` mentions inside the chat window. Example: `@brainstorming help me plan a feature`
- **Gemini CLI, Codex CLI, Kiro CLI, Antigravity IDE, AdaL CLI**: Use natural language "Use ..." prompts. Example: `Use brainstorming to plan a feature`
- **OpenCode**: Uses explicit CLI command structure. Example: `opencode run @brainstorming help me plan a feature`

## Key Differences in Skill Invocation Methods

### Prefix vs. Mention Style

Claude Code expects a leading `>> /` because its REPL parses anything after `>>` as a command. In contrast, Cursor's `@` mention works inline within chat contexts, allowing the **skill invocation** reference to appear anywhere in the conversation.

### Verbosity and Command Structure

OpenCode's syntax is more explicit, requiring the verb `run` followed by the **`@` prefixed** skill name. This makes intent clear in generic terminal environments. Claude Code's slash command signals the skill directly without needing an explicit verb.

### Context Handling: Deterministic vs. Model-Driven

Tools using natural language (`Use ...`) rely on the AI model to detect the skill reference, introducing potential ambiguity. The `>>` and `opencode run` syntaxes are deterministic, parser-driven triggers that bypass model interpretation and directly invoke the skill.

### Path Mapping for Skill Storage

OpenCode loads skills from the workspace directory `.agents/skills/` (as configured in [`opencode.json`](https://github.com/sickn33/antigravity-awesome-skills/blob/main/opencode.json)), whereas Claude Code loads from `.claude/skills/`. This influences where you place skill files in your repository structure. The [`tools/lib/skill-utils.js`](https://github.com/sickn33/antigravity-awesome-skills/blob/main/tools/lib/skill-utils.js) helper normalizes skill-name parsing across these different CLI front-ends.

## Practical Code Examples

### Claude Code (CLI)

```bash
>> /brainstorming help me plan a SaaS MVP

```

### OpenCode (CLI)

Note the `@` prefix before the skill name:

```bash
opencode run @brainstorming help me plan a SaaS MVP

```

### Cursor (Chat Interface)

```text
@brainstorming help me plan a SaaS MVP

```

### Gemini, Codex, or Kiro (Natural Language)

```text
Use brainstorming to plan a SaaS MVP

```

All four examples invoke the same underlying [`skills/brainstorming/SKILL.md`](https://github.com/sickn33/antigravity-awesome-skills/blob/main/skills/brainstorming/SKILL.md) file.

## Configuration and Source Files

The repository defines these invocation patterns across several key files:

- **[[`README.md`](https://github.com/sickn33/antigravity-awesome-skills/blob/main/README.md)](https://github.com/sickn33/antigravity-awesome-skills/blob/main/README.md#L1001-L1012)**: Contains the full compatibility and invocation table mapping tools to their required syntax.
- **[[`docs/users/usage.md`](https://github.com/sickn33/antigravity-awesome-skills/blob/main/docs/users/usage.md)](https://github.com/sickn33/antigravity-awesome-skills/blob/main/docs/users/usage.md)**: Provides step-by-step usage instructions for each tool, including the `opencode run` pattern.
- **[`skills/brainstorming/SKILL.md`](https://github.com/sickn33/antigravity-awesome-skills/blob/main/skills/brainstorming/SKILL.md)**: Example skill definition that all invocation styles ultimately execute.
- **[`opencode.json`](https://github.com/sickn33/antigravity-awesome-skills/blob/main/opencode.json)**: OpenCode's metadata file specifying the skills directory location (`.agents/skills/`).
- **[`tools/lib/skill-utils.js`](https://github.com/sickn33/antigravity-awesome-skills/blob/main/tools/lib/skill-utils.js)**: Helper utility that normalizes skill-name parsing for various CLI front-ends.

## Summary

- **Skill invocation** syntax is tool-specific but executes identical skill content.
- Claude Code uses `>> /` prefix commands, while Cursor uses `@` mentions.
- OpenCode requires explicit `opencode run @skill-name` syntax.
- Natural language tools (Gemini, Codex, Kiro) use "Use ..." prompts relying on model detection.
- Path configurations differ: `.agents/skills/` for OpenCode versus `.claude/skills/` for Claude Code.
- The [`tools/lib/skill-utils.js`](https://github.com/sickn33/antigravity-awesome-skills/blob/main/tools/lib/skill-utils.js) file handles cross-platform parsing normalization.

## Frequently Asked Questions

### What is the difference between `>> /skill` and `opencode run @skill`?

Claude Code's `>> /skill` uses a REPL-style prefix where the `>>` indicator signals a command to the CLI parser. OpenCode's `opencode run @skill` uses a traditional shell-like command structure with an explicit `run` verb and `@` prefix to identify the skill, making it suitable for standard terminal environments.

### Can I use the same skill files across different AI tools?

Yes. According to the source code in [`tools/lib/skill-utils.js`](https://github.com/sickn33/antigravity-awesome-skills/blob/main/tools/lib/skill-utils.js), the skill content remains identical regardless of invocation method. Only the command-line wrapper changes to match each tool's UI expectations, though you must ensure skills are stored in the correct directory (`.claude/skills/` for Claude Code or `.agents/skills/` for OpenCode).

### Why do some tools use "Use" instead of a command prefix?

Gemini CLI, Codex CLI, Kiro CLI, and similar tools embed skill invocation within natural language prompts. This approach relies on the AI model to detect the skill reference, offering conversational flexibility but less deterministic triggering compared to the parser-driven `>>` or `opencode run` commands.

### Where does OpenCode store skill definitions?

OpenCode loads skills from the `.agents/skills/` directory within your workspace, as specified in [`opencode.json`](https://github.com/sickn33/antigravity-awesome-skills/blob/main/opencode.json). This differs from Claude Code's `.claude/skills/` path, so you must ensure your skill files are copied to the appropriate location for your specific tool.