ASCENDING Blog Home
Jarvis AI
Cloud Services
Talent Solutions
Public Sector
About

Codex Skills, Claude Code and Cursor: One Shared Skill Library

Read Time: 7 min read Publish Date:

Daoqi Zhang portrait

Daoqi Zhang

Contributing Writer · Developer Platforms

Share on LinkedIn
On this page
A maintainer reviews one skill release and distributes matching packages through adapters to Claude Code, Codex and Cursor developers

Codex skills can share a reviewed source library with Claude Code and Cursor. The reliable unit is a pinned package containing SKILL.md and its supporting files. Install that release into each client’s documented location, keep client-specific settings explicit and test the same task in every supported client.

The SKILL.md explainer covers file syntax. This guide covers the team’s release process: source ownership, adapters, installation evidence, updates and rollback.

Last verified: October 27, 2026, against the linked client documentation. Examples describe a proposed release process, not a completed three-client product benchmark.

Disclosure: ASCENDING Inc builds and maintains Jarvis, an open source project with a Skill Gateway for this category.

A shared library for Claude Code, Cursor and Codex skills

Separate three things that often become one folder on a developer’s laptop:

  • Source: the reviewed instructions, scripts, references and templates.
  • Release: an immutable revision with a compatibility record and approval.
  • Installation: the files and settings available to one client in one environment.

The Agent Skills specification defines a directory with a required SKILL.md file and optional supporting resources. It doesn’t make every agent’s discovery, permissions or tool integration identical.

QuestionShared sourceClient adapterInstallation record
What should the workflow do?Instructions and expected outputClient-specific invocation detailsActual result from a fixture
Which files belong together?Package contentsDestination and supported extrasInstalled file hashes
Who approved the change?Review recordCompatibility reviewerApproved revision installed
How do we undo it?Previous releaseClient-specific rollback stepsResult after rollback

This separation adds a small release-maintenance cost. It becomes useful when several clients or teams need the same workflow and silent drift would be expensive.

Choose the source before the installation folders

Store the canonical package in a repository or private catalog with a named maintainer. Require review for instructions and executable resources alike.

For a proposed release-notes skill, the source might contain:

skill-library/
  release-notes/
    SKILL.md
    references/release-policy.md
    assets/release-note-template.md
    tests/sample-changes.txt

Keep installation output separate from the source of truth. An engineer editing a local copy should submit the change upstream before the next release distributes it.

Use an immutable commit or artifact digest as the release identity. A mutable branch name such as main isn’t enough to reconstruct what a client used last month.

Codex skills and the client adapter contract

Codex skills: verify the documented discovery path

OpenAI’s skills documentation describes repository discovery through .agents/skills from the working directory toward the repository root. It also documents explicit invocation and optional configuration in agents/openai.yaml.

Don’t treat a successful installation for one interface as proof for every local, remote or cloud session. Record the client version and environment used for acceptance.

Claude Code and Cursor: avoid duplicate installations

Claude Code documents project skills under .claude/skills. Cursor documents .agents/skills and .cursor/skills, plus compatibility with Claude and Codex skill locations.

That compatibility can expose two copies of the same package if your installer writes every possible folder. Choose one intended discovery route per client and inspect the available skills after installation.

Local repository targetDocumented project routeAdapter check
Codex.agents/skills/<name>/SKILL.mdPackage is discovered from the actual working directory
Claude Code.claude/skills/<name>/SKILL.mdIntended package wins when another same-named skill exists
Cursor.agents/skills or .cursor/skills; compatibility routes also existA second generated copy doesn’t create ambiguity

Keep the shared instructions within the common format. Put optional platform policy in the adapter, and document any behavior that has no equivalent on another client.

For example, a client-specific field controlling automatic activation isn’t a portable authorization boundary. The host’s tool permissions still determine what the workflow can do.

Release one reviewed skill to three clients

Start with a small workflow that has a clear output and no external side effects. A release-note draft is easier to compare than an automated deployment.

An illustrative release manifest could be:

{
  "skill": "release-notes",
  "release": "2026-10-27.1",
  "sourceCommit": "<immutable source commit>",
  "packageDigest": "<digest of the reviewed package>",
  "supportedClients": ["Claude Code", "Codex", "Cursor"],
  "fixture": "sample-changes.txt",
  "expectedOutput": "draft with changes, risks and validation"
}

Replace the placeholders with actual release evidence in your own implementation. This is a design example, not a manifest format required by the Agent Skills standard.

The release reviewer should inspect scripts, dependencies, network destinations and secret references. A harmless-looking instruction file can call a script with broader effects.

Use the public agent skill safety guide for intake review. Use private skill management for approval and access decisions after intake.

Test discovery, invocation and rollback

Run the fixture from a fresh session using an ordinary team member’s permissions. Save the client version, installed revision and observed result.

TestWhat to exercisePass evidence
DiscoveryStart from the repository root and a relevant subdirectoryIntended skill appears without an unexpected duplicate
Explicit invocationSelect the skill by nameClient loads the approved instructions
Task matchingAsk a representative release-note questionActivation behavior matches the documented policy
Resource loadingRequire the template and referenceReferenced files are available at their installed paths
Permission boundaryAttempt an unapproved external action in a sandboxHost permissions block it or require the intended approval
RollbackRestore the previous package and start a new sessionPrevious files and expected behavior return

The output doesn’t have to be word-for-word identical. Define meaningful invariants: required sections, correct source facts, no invented release details and no unauthorized action.

If the skill needs shell commands, test on every supported operating system. A portable instruction format doesn’t make a Bash script run unchanged in PowerShell.

Shared skill updates need a consumer inventory

Record which projects and managed environments received each release. Otherwise a successful update tells you little about the copies still running elsewhere.

When withdrawing a skill, distinguish future distribution, managed file removal and downstream access. Downloaded instructions may remain readable even after catalog access is removed.

Our AI identity governance guide explains why backend credentials and workload permissions need their own removal tests.

When to add a private SkillGateway

Git can be sufficient for a small team using repository-local skills. Add a distribution service when you need centralized discovery, approvals, access control or release visibility across projects.

The Jarvis Skill Gateway page describes private distribution through the AI Skills CLI and lists Claude Code, Codex, GitHub Copilot and Cursor. Verify the installed CLI’s supported targets and permission behavior in your environment.

Ask any provider to demonstrate a pinned release, a failed update, an access removal and a rollback. A product listing establishes documented scope; those tests establish whether it meets your operating requirements.

Use the private skill marketplace guide to compare distribution approaches. If you’re also cataloging running agents, the agent registry vs skill registry comparison separates their lifecycle records.

References

Sharing skills across Claude Code, Codex and Cursor

How do we share AI skills across Claude Code, Codex and Cursor?

Keep one reviewed source package, then install a pinned revision into the locations each client discovers. Track client-specific settings separately and test discovery, explicit invocation and task results in every supported client.

Can all three clients use the same skills folder?

Codex and Cursor document .agents/skills for project skills. Claude Code documents .claude/skills, which Cursor also supports for compatibility. Use a controlled installation or adapter process rather than assuming every client reads one location.

Are client-specific skill settings portable?

The shared SKILL.md format is portable, but invocation policy, UI metadata, tool integrations and execution permissions can differ. Keep the common instructions reusable and verify each client's configuration against its current documentation.

Can we revoke a skill after someone downloads it?

Stopping future downloads doesn't erase installed copies. Remove managed installations where supported, rotate exposed credentials if necessary and enforce access to connected systems independently of the skill files.

Daoqi Zhang portrait

About the author

Daoqi Zhang

Contributing Writer · Developer Platforms

Covers AI-assisted development workflows: how agentic tooling reshapes the software lifecycle, and what that does to review, testing, and governance.

Keep reading