The argument about which AI coding tool a team should standardize on misses something important: standardizing the tool is less valuable than standardizing the knowledge the tool operates on. That's what gh skill enables.
gh skill is a GitHub CLI extension that packages SKILL.md skill definitions and distributes them across Claude Code, GitHub Copilot, Cursor, Codex CLI, Gemini CLI, and 30+ other AI agents — from a single public repository.
The Problem It Solves
AI coding agent diversity is accelerating. Individual developers switch between Claude Code and Copilot depending on context. Teams have members who prefer different tools. This is fine for autonomy, but it creates inconsistency: the code style rules encoded in one agent's config don't reach the others.
gh skill makes skill definitions portable. Instead of maintaining parallel configurations for each tool, you maintain one source of truth and distribute it.
How It Works
When you install a skill package, gh skill places the definitions where each agent looks for them:
- Claude Code:
.claude/skills/ - GitHub Copilot: VS Code settings
- Cursor:
.cursor/skills/ - Gemini CLI:
~/.gemini/skills/
One install command handles all target agents.
Basic Usage
# Install gh CLI if needed
brew install gh
# Add the gh skill extension
gh extension install github-actions/gh-skills
# Install a skill package from a public repo
gh skill install owner/repository-name
# List installed skills
gh skill list
# Install for a specific agent only
gh skill install owner/repo --agent claude-code
# Update installed skills
gh skill update skill-name
# Remove a skill
gh skill uninstall skill-nameSkill Package Structure
A skill package needs a skill.yaml metadata file alongside the Markdown skill files:
# skill.yaml
name: team-coding-skills
version: 1.0.0
description: "Shared coding standards for the team"
agents:
- claude-code
- copilot
- cursor
skills:
- path: skills/code-review.md
- path: skills/commit-conventions.md
- path: skills/testing-standards.mdThe Markdown files follow the same conventions as existing SKILL.md files. Here's an example:
<!-- skills/code-review.md -->
# Code Review Guidelines
When asked to review code, check in this order:
1. Type safety: nullable handling, safe casts
2. Error handling: exceptions caught and logged appropriately
3. Performance: unnecessary object creation, potential memory leaks
4. Testability: dependencies injectable, no tight coupling
5. Readability: names accurately reflect intent
Format feedback as:
- The problematic code
- A specific explanation of the issue
- A corrected code exampleWhat Different Agents Actually Understand
Not all agents interpret skill definitions equally:
Claude Code handles the richest instruction set — conditional behavior, tool restrictions, multi-step workflows. GitHub Copilot reads Markdown instructions but applies them more loosely; complex conditional logic is often ignored. Cursor sits in the middle.
Practical recommendation: write shared skills in plain, direct language so they transfer across agents. Put Claude Code–specific configurations (hooks, tool restrictions) in separate files under agent-overrides/ and target those files to Claude Code only.
Migrating Existing SKILL.md Files
If you're a Claude Code user with existing SKILL.md content, you can make it distributable without rewriting anything:
my-skills-repo/
├── skill.yaml ← Add this
├── README.md
└── skills/
├── existing-skill.md ← Your existing content
└── another-skill.md
The skill.yaml references your existing files. The content is distributed as-is, and other agents pick up what they can interpret.
Start Small
One skill file is enough to get started — your commit message conventions, or a short list of code style rules. Introduce the mechanics to your team, then grow the skill library incrementally.
The premium article covers production-grade multi-agent skill management: versioning strategy, role-based profiles, CI validation, and ensuring consistency across agents as the skill library grows.