Decision under pressure

Can one Agent Skill work across Claude Code, Codex, GitHub Copilot, Cursor, and Gemini CLI without client-specific forks?

Author one conservative Agent Skills core, but install and test it per host. SKILL.md, references, assets, and scripts are portable; discovery paths, invocation, consent, permissions, metadata, and distribution are not behaviorally identical.
4claims
8evidence
8sources
1tension
1unknown
Current position

Current position

Portable enough to author once, not portable enough to test once.

Reasoning · decision to evidence
supports

Shared core Ship thin adapters

A conservative SKILL.md package with name, description, instructions, references, assets, and scripts has a credible cross-client authoring path.

One canonical payload avoids maintaining five independent instruction bodies.

supports

Shared core Current position

A conservative SKILL.md package with name, description, instructions, references, assets, and scripts has a credible cross-client authoring path.

The shared minimum makes author-once a defensible default.

supports

Ship thin adapters Current position

Keep one canonical skill payload, generate or mirror only the host-specific locations and metadata, and run behavioral checks in every supported client.

Canonical content plus thin adapters preserves portability without pretending the clients are identical.

missing

Four clients missing Current position

The shared suite now has one committed Copilot result, but Claude Code, Codex, Cursor, and Gemini CLI still lack comparable submitted runs.

Equivalent behavior remains an unverified hypothesis until one shared suite exercises all five clients.

supports

Open minimum Shared core

The Agent Skills specification defines a small required core and treats scripts, references, assets, compatibility, metadata, and allowed tools as optional layers.

The standard supplies a deliberately small package contract that clients can share.

Agent Skills · Section: Directory structure · verified
A skill is a directory containing, at minimum, a SKILL.md file:
Open source region ↗
supports

Claude Code Shared core

Claude Code follows the open Agent Skills standard, discovers project and personal skills, and adds host-specific invocation, subagent, permission, and dynamic-context features.

Claude Code explicitly identifies its skills as an implementation of the open standard.

Anthropic · Section: Extend Claude with skills · verified
Claude Code skills follow the Agent Skills open standard, which works across multiple AI tools.
Open source region ↗
supports

Codex Shared core

Codex uses the open Agent Skills standard, scans .agents/skills across repository scopes, supports explicit and implicit activation, and adds optional OpenAI metadata.

Codex documents the same SKILL.md authoring model and progressive loading pattern.

OpenAI · Section: Build skills · verified
Use agent skills to extend ChatGPT and Codex with task-specific capabilities. A skill packages instructions, resources, and optional scripts so either product can follow a workflow reliably.
Open source region ↗
supports

GitHub Copilot Shared core

GitHub documents Agent Skills across cloud agent, code review, CLI, app, VS Code, and JetBrains, with several accepted project and personal locations.

Copilot adopts the standard across several GitHub and IDE surfaces.

GitHub Docs · Section: About agent skills · verified
Agent skills are folders of instructions, scripts, and resources that Copilot can load when relevant to improve its performance in specialized tasks.
Open source region ↗
supports

Cursor Shared core

Cursor 2.4 added SKILL.md discovery and application in both editor and CLI, including automatic relevance matching and slash-command invocation.

Cursor reads SKILL.md packages in both its editor and CLI.

Cursor · Section: Skills · verified
Agents can discover and apply skills when domain-specific knowledge and workflows are relevant.
Open source region ↗
supports

Gemini CLI Shared core

Gemini CLI discovers SKILL.md packages in .gemini/skills and accepts .agents/skills as an alias.

Gemini CLI implements the same directory-plus-SKILL.md package shape.

Google Gemini CLI · Section: Verify discovery · verified
Gemini CLI automatically discovers skills in the .gemini/skills directory (as well as the .agents/skills alias).
Open source region ↗
supports

Claude Code Paths diverge

Claude Code follows the open Agent Skills standard, discovers project and personal skills, and adds host-specific invocation, subagent, permission, and dynamic-context features.

Claude's native .claude locations and cloud-session rules are host-specific.

Anthropic · Section: Extend Claude with skills · verified
Claude Code skills follow the Agent Skills open standard, which works across multiple AI tools.
Open source region ↗
supports

Codex Paths diverge

Codex uses the open Agent Skills standard, scans .agents/skills across repository scopes, supports explicit and implicit activation, and adds optional OpenAI metadata.

Codex scans .agents locations across working-directory and repository scopes.

OpenAI · Section: Build skills · verified
Use agent skills to extend ChatGPT and Codex with task-specific capabilities. A skill packages instructions, resources, and optional scripts so either product can follow a workflow reliably.
Open source region ↗
qualifies

GitHub Copilot Paths diverge

GitHub documents Agent Skills across cloud agent, code review, CLI, app, VS Code, and JetBrains, with several accepted project and personal locations.

Copilot accepts several compatibility paths, but its supported scopes and surfaces remain product-defined.

GitHub Docs · Section: About agent skills · verified
Agent skills are folders of instructions, scripts, and resources that Copilot can load when relevant to improve its performance in specialized tasks.
Open source region ↗
supports

Gemini CLI Paths diverge

Gemini CLI discovers SKILL.md packages in .gemini/skills and accepts .agents/skills as an alias.

Gemini uses a native .gemini path while accepting .agents as an alias.

Google Gemini CLI · Section: Verify discovery · verified
Gemini CLI automatically discovers skills in the .gemini/skills directory (as well as the .agents/skills alias).
Open source region ↗
supports

Claude Code Behavior diverges

Claude Code follows the open Agent Skills standard, discovers project and personal skills, and adds host-specific invocation, subagent, permission, and dynamic-context features.

Claude adds invocation control, subagent execution, dynamic context, and permission fields.

Anthropic · Section: Extend Claude with skills · verified
Claude Code skills follow the Agent Skills open standard, which works across multiple AI tools.
Open source region ↗
supports

Codex Behavior diverges

Codex uses the open Agent Skills standard, scans .agents/skills across repository scopes, supports explicit and implicit activation, and adds optional OpenAI metadata.

Codex adds initial-list context budgets, OpenAI metadata, and plugin distribution guidance.

OpenAI · Section: Build skills · verified
Use agent skills to extend ChatGPT and Codex with task-specific capabilities. A skill packages instructions, resources, and optional scripts so either product can follow a workflow reliably.
Open source region ↗
supports

Cursor Behavior diverges

Cursor 2.4 added SKILL.md discovery and application in both editor and CLI, including automatic relevance matching and slash-command invocation.

Cursor defines its own automatic and slash-menu activation surfaces.

Cursor · Section: Skills · verified
Agents can discover and apply skills when domain-specific knowledge and workflows are relevant.
Open source region ↗
supports

Copilot run: 2/3 Behavior diverges

Copilot CLI 1.0.77 passed direct activation and the negative control, but its implicit run created an invalid artifact without running the requested validator or reporting a receipt.

The same skill passed explicit activation but failed the implicit artifact contract in Copilot CLI.

Doubt portability benchmark · Section: runs[0] direct; runs[1] implicit; runs[2] negative · verified
Copilot discovered and activated Doubt without its name in the prompt, then created an artifact but did not run the requested validator or report a receipt.
Open source region ↗
contradicts

Paths diverge Shared core

The same core file is not discovered from one universal directory: native paths, aliases, scopes, precedence, and cloud behavior vary by host.

A shared file format does not create one universal installation or discovery location.

qualifies

Behavior diverges Shared core

Automatic matching, explicit invocation, consent, tool pre-approval, extra frontmatter, compaction, and plugin packaging are client behaviors outside the minimal common core.

Portable instructions can still activate, execute, and persist differently across hosts.

supports

Paths diverge Ship thin adapters

The same core file is not discovered from one universal directory: native paths, aliases, scopes, precedence, and cloud behavior vary by host.

Thin generated mirrors handle path differences without forking the workflow.

supports

Behavior diverges Ship thin adapters

Automatic matching, explicit invocation, consent, tool pre-approval, extra frontmatter, compaction, and plugin packaging are client behaviors outside the minimal common core.

Per-host acceptance tests are necessary when behavior is not standardized.

supports

Copilot run: 2/3 Ship thin adapters

Copilot CLI 1.0.77 passed direct activation and the negative control, but its implicit run created an invalid artifact without running the requested validator or reporting a receipt.

The preserved implicit failure demonstrates why per-host validation must accompany a shared payload.

Doubt portability benchmark · Section: runs[0] direct; runs[1] implicit; runs[2] negative · verified
Copilot discovered and activated Doubt without its name in the prompt, then created an artifact but did not run the requested validator or report a receipt.
Open source region ↗
supports

Gemini activation Behavior diverges

Gemini CLI asks for confirmation before activating a discovered skill.

Gemini inserts an explicit consent step before a discovered skill activates.

Google Gemini CLI · Section: How to use the skill → Consent · verified
You will see a confirmation prompt. Type y to approve.
Open source region ↗