Skip to content

Guide

Fix skill drift between Claude Code and Codex

Pairbar is a macOS app that puts one sidebar over the Claude and Codex desktop apps, and its Skills tab lists every skill both apps can load, in one place. Because Claude and Codex look for skills in different folders, copies of the same skill drift apart, a skill ends up visible to only one app, or Codex lists a name twice so $name won't resolve. This guide shows how to find those problems, approve a plan that fixes them, and undo it if you change your mind.

Last updated

About 10 minutes · 6 steps

Before you start

  • Pairbar installed, and some skills in ~/.claude/skills, ~/.agents/skills or your repos' .claude/skills and .agents/skills.
  • A minute to read the plan before approving it: nothing changes until you do.
PASEO: 3 COPIES, 2 VERSIONS~/.claude/skills/paseod309031a · newest · 2 days ago~/.agents/skills/paseod309031a · same as newest~/.codex/skills/paseo7be21c04 · differs · 3 weeks oldKeep skills the sameWhat Pairbar did in the background.Back up ~/.codex/skills/paseo to ~/.pairbar/backups/skills/paseo-…Replace it with the copy from ~/.claude/skills/paseo (d309031a)Codex: 2 versions → 1 versionChanges filesUndoKept: the copy that changed since they last agreed, else the newest.Changed in both apps: nothing written; one line asks you.
One skill, three copies, two versions: keeping one backs up the others, replaces them, and offers Undo.

Steps

  1. Open the Skills tab
    Open Skills in the sidebar. A skill in only one app is fine and isn't flagged: the row's faint app mark says so. Only two things ever get a line: N skills changed in both apps · Review and N skills have problems · Review.
  2. Turn on Keep skills the same in Claude and Codex
    The switch at the top of the tab. Pairbar mirrors your personal skills between the apps in the background: a link (or a translated copy) for a skill one app lacks, and copies that drifted brought to the version that changed since they last agreed, or the clearly newest. Each copy it replaces is backed up first, and the first run shows what it did, with Undo.
  3. Review a skill that changed in both apps
    When more than one copy changed (or "newest" is only a guess), Pairbar writes nothing and the line says 1 skill changed in both apps · Review. Review shows each version (which app, where, when). View version opens its SKILL.md so you can read it before choosing. Then: Keep this one gives the others its files, backed up first; Leave them different keeps both until one changes again. For an edited translated copy, Update from original replaces the translation after backing up your edit, while Keep my edit preserves both files. The original stays unchanged.
  4. Fix a name clash
    If Codex lists a name twice, so $name won't resolve, it's under N skills have problems · Review. Remove duplicate… opens a plan that keeps one copy (the managed one, else yours, else the newest) and moves the others to the Trash; nothing changes until you Approve.
  5. Undo if you need to
    The result says what was done, with Undo: it removes the links and copies Pairbar made (unless you've edited them since), puts replaced files back from their backup, and brings trashed copies back from the Trash.
  6. Or look over everything first
    With the switch off, ⋯ → Sync all skills… builds one plan of every step (duplicates first), each with a checkbox. Untick what you don't want, then approve.

What Pairbar does about each

SituationWith Keep skills the same onWhat Pairbar recommends
only one app can see one of your skills (not a problem)linked or copied by itself; otherwise a click on the faint app mark, or Make available in Codexa link from the other app's folder when the skill uses only what both apps understand (one copy, edits reach both); a generated copy with the variables filled in when it uses Claude-only syntax such as $ARGUMENTS or ${CLAUDE_SKILL_DIR}
copies that drifted apartthe copy that changed is kept by itself; when more than one did, 1 skill changed in both apps · Reviewwhich copy to keep, in this order: the version a workflow pins; the copy a tool manages (its installer would put its version back otherwise); the newest. The other copies get its files
Codex lists paseo 2 times, so $paseo won't resolve (a problem)never by itself: Remove duplicate… on the problems pagekeep one copy Codex sees (a managed one, else yours, else the newest) and move the others to the Trash

A folder both apps load, for example ~/.agents/skills/deploy linking to ~/.claude/skills/deploy, is one skill with two copies in the same place: nothing to fix.

What a plan looks like

  • "Link ~/.agents/skills/review-method → ~/.claude/skills/review-method"
  • "Back up ~/.claude/skills/paseo (1 file) to ~/.pairbar/backups/skills/paseo-…"
  • "Replace it with the copy from ~/.agents/skills/paseo (version d309031a, 2 days ago)"
  • "Move ~/.codex/skills/paseo to the Trash"
  • "Codex: can't see review-method → $review-method, linked to ~/.claude/skills/review-method"

What fixes write

  • Only what the plan lists: links and generated copies in ~/.agents/skills or ~/.claude/skills. For a project's skill, in its repo's .agents/skills or .claude/skills, as a relative link you can commit.
  • Backups in ~/.pairbar/backups/skills/<name>-<date>/, readable only by you.
  • Copies moved to the Trash, never deleted.
  • A record of what Pairbar made in ~/.pairbar/skills-manifest.json (readable only by you), so Undo removes only that.

Pin versions for scheduled workflows

Drift matters most for unattended runs. In a workflow step's Skill chip, Pin these versions saves the skills as they are now in ~/.config/pairbar/skill-snapshots/<sha256>/. If a pinned skill changes later, the step keeps using the saved version and the chip turns orange; unpin and pin again to take the new one. When copies drift, Keep the pinned copy is recommended first. A missing workflow snapshot is shown as A pinned skill is unavailable: review the current installed version before updating its pin, or use Edit workflow to remove or replace a skill that is no longer installed. Review changes shows a changed-line count and a separately scrollable comparison. It does not stop after 200 changes. If either version has more than 4,000 lines, a warning explains the comparison limit and Full saved version and Full installed version remain readable below. See Skills in a step.

Troubleshooting

`$name` does nothing in Codex
Codex sees the same name in two folders, so the name won't resolve. It's on the problems page: Remove duplicate… keeps one copy Codex sees and moves the others to the Trash, with Undo.
A skill keeps saying it changed in both apps
A tool such as Paseo manages one of the copies, and Pairbar never edits it. Keep the managed copy's version, or Leave them different: the line stays away until a copy changes again.
Undo didn't remove a link or copy
Undo leaves anything you've edited since Pairbar made it. Check the skill's page under Where it's installed and remove it yourself if you want.
A risky fix isn't in Fix the safe ones
That's on purpose: fixes that replace your files or touch a tool's managed copy are reviewed one by one.

Frequently asked questions

What is skill drift?
When copies of the same skill in different folders stop matching, so Claude and Codex (or two projects) follow different versions. See skill drift.
Does Pairbar change my skills without asking?
Only if you turn on Keep skills the same in Claude and Codex, and even then it backs up anything it replaces, never writes inside your repos, and never writes over a change you made in both apps. Every other fix opens a plan first, and nothing changes until you press Approve.
Can one skill work in both Claude Code and Codex?
Often, yes. If it uses only what both apps understand, Make available in Codex links it, so one copy serves both. If it uses Claude-only syntax, Pairbar generates a copy for Codex with the variables filled in.
Are my replaced files lost?
No. They're backed up to ~/.pairbar/backups/skills/ first, and Undo puts them back. Removed copies go to the Trash.

Try Pairbar free for 7 days

One sidebar for the Claude and Codex desktop apps. Everything on for 7 days, no card needed; then $49/year ($39 first year with LAUNCH), $9/month or $129 lifetime (first 200 buyers). macOS 26 or later, Apple silicon.