How to Integrate Claude Skills into AI Coding Agents with OpenSkills

This guide walks through installing the OpenSkills CLI, syncing Claude Skills to AI coding agents such as Qoder, Cursor, Trae, and Windsurf, explains the underlying skill system, compares Claude Code and OpenSkills implementations, and details command‑line options and loading priorities for seamless integration.

Wuming AI
Wuming AI
Wuming AI
How to Integrate Claude Skills into AI Coding Agents with OpenSkills

Installation and Usage

Requirements

Node.js version 20.6+

Git (for cloning repositories)

Install the OpenSkills CLI globally: npm i -g openskills Install a skill from the Anthropic marketplace (project‑level, stored in ./.claude/skills): openskills install anthropics/skills Install a skill globally (stored in ~/.claude/skills): openskills install anthropics/skills --global Install a skill from another GitHub repository or a local directory:

# From another GitHub repo
openskills install your-org/custom-skills

# From a local path
openskills install /path/to/my-skill

Synchronise installed skills to an AI‑coding agent’s rule file (default AGENTS.md in the current directory):

# Default location
openskills sync

# Custom location (the file is created if it does not exist)
openskills sync --output .ruler/AGENTS.md
openskills sync -o custom-rules.md

Integrating Claude Skills with Other AI Coding Agents (e.g., Qoder)

Step 1 – Place the skill in the agent’s skill directory ( ~/.agent/skills/) or let openskills perform the placement using the --global or --universal flags.

Step 2 – Generate the rule file that the agent reads: openskills sync --output .qoder/rules/AGENTS.md After synchronisation the skill is permanently available. For example, asking Qoder to “convert the current project’s README.md to PDF using the pdf skill” triggers the rule in AGENTS.md, which invokes the pdf skill and writes the PDF file to the project directory. The same workflow works for agents such as Cursor, Trae, and Windsurf.

Skill Mechanism

Claude built‑in skill system

Claude embeds a system prompt that lists available skills in XML. The prompt contains two sections: skills_instructions (how to invoke a skill) and available_skills (metadata for each skill).

<skills_instructions>
When users ask you to perform tasks, check if any of the available skills below can help complete the task more effectively.

How to use skills:
- Invoke a skill by name only (no arguments)
- When a skill is invoked, a message "{name} skill is loading" is shown
- The skill’s prompt expands with detailed instructions

Important:
- Only use skills listed in <available_skills>
- Do not invoke a skill that is already running
</skills_instructions>

<available_skills>
  <skill>
    <name>pdf</name>
    <description>Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms...</description>
    <location>plugin</location>
  </skill>
  <skill>
    <name>xlsx</name>
    <description>Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis...</description>
    <location>plugin</location>
  </skill>
</available_skills>

When a user requests “extract data from PDF”, Claude follows these steps:

Detect the request.

Scan <available_skills> and find the pdf entry.

Invoke Skill("pdf") as a tool call.

Load the corresponding SKILL.md content into the agent context.

Execute the task according to the skill description.

OpenSkills implementation

OpenSkills stores the same XML structure in an AGENT.md file. The CLI reads, installs, and synchronises these definitions.

<skills_system priority="1">
## Available Skills

<usage>
When users ask you to perform tasks, check if any of the available skills below can help complete the task more effectively.

How to use skills:
- Invoke: Bash("openskills read <skill-name>")
- The skill content will load with detailed instructions
- Base directory is provided for resolving bundled resources

Usage notes:
- Only use skills listed in <available_skills>
- Do not invoke a skill that is already loaded in your context
</usage>

<available_skills>
  <skill>
    <name>pdf</name>
    <description>Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms...</description>
    <location>project</location>
  </skill>
  <skill>
    <name>xlsx</name>
    <description>Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis...</description>
    <location>project</location>
  </skill>
</available_skills>
</skills_system>

For an agent the workflow is identical, except the invocation command is: openskills read pdf Execution steps:

User asks “extract data from PDF”.

Claude scans <available_skills> and finds the pdf entry.

The agent runs openskills read pdf via a Bash tool call. SKILL.md is loaded into the agent’s context.

The agent carries out the task as described in the skill.

Comparison of Claude Code vs OpenSkills

System‑prompt location : Claude embeds it internally; OpenSkills stores it in AGENTS.md.

Invocation syntax : Claude uses Skill("pdf") (tool call); OpenSkills uses the CLI command openskills read pdf.

Prompt format : Both use XML tags such as <available_skills>.

Directory structure : Both default to .claude/skills/ for project‑level storage.

SKILL.md format : YAML + Markdown in both implementations.

Progressive loading : Supported by both.

Resource binding : Both bind references/, scripts/, and assets/ directories.

Marketplace source : Claude pulls from the Anthropic marketplace; OpenSkills pulls from GitHub (e.g., anthropics/skills).

OpenSkills Advanced Features

Loading priority

./.agent/skills/

– project‑level, generic (highest priority when --universal is used). ~/.agent/skills/ – global, generic. ./.claude/skills/ – project‑level. ~/.claude/skills/ – global.

CLI commands

openskills install <source> [options]   # Install a skill from GitHub, a local path, or a private repo
openskills sync [-y] [-o <path>]       # Update AGENTS.md (or a custom output file)
openskills list                      # List installed skills
openskills read <name>                # Load a skill for an agent
openskills manage                    # Interactive removal of skills
openskills remove <name>              # Remove a specific skill

Key parameters

--global

– Install to ~/.claude/skills (default is project‑level). --universal – Install to .agent/skills instead of .claude/skills; this location has higher loading priority. -y, --yes – Overwrite existing files without prompting (useful for CI scripts). -o, --output <path> – Customise the sync output file (default AGENTS.md).

Repository: https://github.com/numman-ali/openskills

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

AI AgentsCommand LineinstallationClaudeOpenSkillsSkill integration
Wuming AI
Written by

Wuming AI

Practical AI for solving real problems and creating value

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.