How to Make Skills Compatible Across Multiple AI Assistants Using Antigravity Awesome Skills

Antigravity Awesome Skills enables cross-compatibility by using a single SKILL.md file with standardized YAML front-matter that every supported assistant reads identically, eliminating the need for assistant-specific code paths.

The sickn33/antigravity-awesome-skills repository defines a portable skill format that works across Claude Code, Gemini CLI, Codex CLI, Kiro IDE, Cursor, OpenCode, and AdaL CLI without modification. By adhering to a strict schema and using a universal installer, you can write a skill once and deploy it everywhere.

The SKILL.md Standard: A Universal Format

Cross-compatibility starts with the standardized skill schema. Every skill resides in skills/<skill-name>/SKILL.md and must contain required front-matter keys: name, description, risk, source, and date_added.

The parser in tools/lib/skill-utils.js extracts these values through the parseFrontmatter → readSkill function chain (lines 11-18). Because the parser normalizes tags and validates the YAML mapping once, the resulting skill object behaves identically regardless of which assistant consumes it.

Three-Layer Architecture for Cross-Assistant Compatibility

The repository enforces compatibility through three distinct layers:

Standardized Skill Schema

The file tools/lib/skill-utils.js validates that each SKILL.md contains the required front-matter keys and rejects malformed YAML. This ensures that skills like skills/brainstorming/SKILL.md follow the exact same structure whether used in Claude Code or Gemini CLI.

Universal Installer

The CLI installer in tools/bin/install.js detects target assistants via flags (--claude, --gemini, --codex, --open-code, etc.) and copies the entire skills/ tree into assistant-specific directories (lines 173-219). The installer creates:

  • ~/.claude/skills/ for Claude Code
  • ~/.gemini/skills/ for Gemini CLI
  • ~/.codex/skills/ for Codex CLI
  • ~/.agents/skills/ for OpenCode
  • ~/.adal/skills/ for AdaL CLI

The installer also generates the Claude Code marketplace entry at .claude-plugin/marketplace.json.

Assistant-Agnostic Usage

According to docs/users/usage.md, users invoke skills using the generic pattern @skill-name. Because the skill name derives from the front-matter name field, the same invocation syntax works across all environments without per-assistant customization.

Creating Your First Cross-Compatible Skill

To make skills compatible across multiple AI assistants, follow this workflow:

  1. Create the markdown file at skills/<my-skill>/SKILL.md with the required front-matter.
  2. Write pure markdown content—the security tests in tools/scripts/tests/docs_security_content.test.js explicitly reject shell pipelines like | bash or | iex to ensure safe cross-platform execution.
  3. Run the installer to deploy to all supported assistants.

Here is a minimal example that works everywhere:

---
name: hello-world
description: "Print a friendly greeting. No external tools, pure markdown."
risk: low
source: community
date_added: "2026-03-01"
---

# Hello-World Skill

You are a helpful assistant. When invoked, simply respond with:

Hello, world! 🚀


Use this skill when you need a quick sanity-check or a friendly greeting.

Installing Skills for Multiple Assistants

Run the universal installer to deploy skills to every supported assistant simultaneously:


# Installs the whole repository to all detected assistant directories

npx antigravity-awesome-skills

This single command executes the logic in tools/bin/install.js, populating all assistant-specific paths with the same SKILL.md files. The installer handles OS detection and directory creation automatically.

Invoking Skills Across Different Assistants

Because the skills are assistant-agnostic, invocation differs only in the surface syntax, not the underlying behavior:

  • Claude Code: Type @hello-world
  • Gemini CLI: Type Use @hello-world
  • OpenCode: Run opencode run @hello-world

All three commands cause the assistant to read the identical SKILL.md from their respective skill directories and execute the same instructions.

Summary

  • Single file format: The SKILL.md standard with YAML front-matter provides the foundation for cross-compatibility.
  • Universal validation: tools/lib/skill-utils.js parses and normalizes skills once, ensuring consistent behavior.
  • Automated distribution: tools/bin/install.js deploys to .claude/skills/, .gemini/skills/, and other directories without manual copying.
  • Generic invocation: The @skill-name pattern works across Claude Code, Gemini CLI, Codex CLI, Cursor, OpenCode, and AdaL CLI.
  • Security enforcement: Automated tests reject embedded shell commands, keeping skills safe across platforms.

Frequently Asked Questions

Do I need to write separate versions of a skill for each AI assistant?

No. Write a single SKILL.md following the repository's front-matter schema. The tools/lib/skill-utils.js parser extracts the skill definition once, and the tools/bin/install.js installer handles assistant-specific placement. The same markdown file works in Claude Code, Gemini CLI, Codex CLI, and others without modification.

What are the required front-matter keys for cross-compatibility?

Every SKILL.md must include five keys in the YAML header: name (the skill identifier), description (usage context), risk (security level), source (provenance), and date_added (ISO 8601 date). The parser in tools/lib/skill-utils.js validates these keys before the installer distributes the file.

Is the installer open source and extensible?

Yes. The installer source resides in tools/bin/install.js and supports adding new assistants by extending the target directory mappings (lines 173-219). The repository uses standard Node.js without proprietary dependencies, allowing community contributions for emerging AI assistants.

How does the repository prevent security issues in cross-platform skills?

The test suite in tools/scripts/tests/docs_security_content.test.js scans all SKILL.md files for dangerous patterns like | bash or | iex (PowerShell). Skills containing shell pipelines fail validation, ensuring that skills remain pure markdown instructions rather than executable scripts that could behave differently across operating systems.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →