Repository navigation
Where to place skills to be used in different LLM providers? #166
Replies: 8 comments 3 replies
|
each provider tends to define its own convention for storing skills or configs, and at the moment there isn’t a single universal folder that all systems read from. A practical approach is to keep your skills in a neutral directory under version control and then use small sync or symlink scripts to copy/link them into the provider‑specific locations. That way you maintain one source of truth but still satisfy each tool’s expectations. If a standard ever emerges, it’ll likely build on this idea of a shared repo with adapters for each provider |
|
I don’t think there is one universal filesystem location that every agent product reads today. Anthropic’s own skills repo points to Agent Skills as the open format, and the repo README explicitly says the same skills ecosystem can be used across Claude Code, Claude.ai, and the API. So the portable unit is the skill package/format, not a single shared folder path. Practical pattern:
So: portable format, yes; universal on-disk folder, not really. |
|
This is one of the most important unsolved problems in the agent tooling ecosystem right now. @Omrigotlieb's answer is correct — there is no universal folder, and the portable unit is the skill format, not the filesystem path. But let me add some context on where this is heading. Why this hasn't been solved yet: Each tool (Claude Code, Codex, Cursor, Gemini) has its own discovery mechanism because they each have different runtime assumptions:
These aren't just different folder paths — they have different schema expectations, different trigger mechanisms, and different assumptions about what a "skill" can do (some are just prompt templates, others can execute code). The practical solution today (what works right now): Keep a single source of truth and generate/symlink per-tool: The #!/bin/bash
# Sync skills to each tool's expected location
# Claude Code
cp -r .ai-skills/*/skill.md .claude/skills/
# Cursor
for skill in .ai-skills/*/skill.md; do
name=$(basename $(dirname $skill))
cp "$skill" ".cursor/rules/${name}.md"
done
# Codex
cp -r .ai-skills/*/skill.md .codex/Where this should go (the real answer): What the ecosystem needs is a skill manifest standard — a single # .ai-skills.yaml (hypothetical universal manifest)
version: 1
skills:
- name: code-review
path: .ai-skills/code-review/skill.md
triggers: ["review", "code review", "PR review"]
- name: testing
path: .ai-skills/testing/skill.md
triggers: ["test", "write tests"]This is the same pattern that solved the equivalent problem in other ecosystems — The Anthropic Agent Skills format is the most complete skill schema today (YAML frontmatter, trigger descriptions, structured content). If it gets adopted by even one other tool, it becomes the de facto standard. @Nikola-Milovic your |
|
Great question — I've actually solved this in practice while building continuous-improve, a skill that installs across 5 different agents (Claude Code, Codex, Cursor, OpenClaw, and ChatGPT). The short answer: There is no universal folder. But you can have a single installer that targets all of them.What I did (working solution)My skill has one npm package with an install script that auto-detects which agent you're using and writes to the correct location: # Auto-detect and install
npx continuous-improve install
# Or target specific agents
npx continuous-improve install --claude # → .claude/skills/ + CLAUDE.md
npx continuous-improve install --codex # → codex.md
npx continuous-improve install --cursor # → .cursor/rules/
npx continuous-improve install --chatgpt # → copies to clipboard as custom instructionsThe key insight: each agent has different expectations, not just different paths:
Architecture that worksThe Anthropic Agent Skills format (YAML frontmatter + markdown) is the most structured, so I use that as the canonical source and generate simpler variants for other agents. @Nikola-Milovic your I agree with @chasewhughes that a universal See it in action: before vs afterBefore (agent without discipline): After (agent with continuous-improve installed):
|
|
Everyone in this thread has converged on the same answer — one canonical source,
The sync scripts in this thread copy on demand. They do not tell you when one copy I hit this last week. An isolation rule was added to Two things make this checkable, and neither needs a model call:
Concretely, what I run before each session: Why a check rather than more written guidance: Gloaguen et al. (ETH Zurich / If a universal manifest does eventually land (as suggested upthread), the same |
|
The thread has converged on paths, and I agree with the canonical-source pattern. The part that bit me was not the path, it was the frontmatter. Claude Code extends the Agent Skills standard with fields of its own ( Second thing worth knowing if your sync concatenates skill content into an entry file: Codex caps project docs at And one target just went away: since Claude Code 2.1.277 it reads I ended up packaging the measurement side of this as a skill: https://github.com/fabianmartinelli-fm/harness-audit |
|
Agreeing with the canonical repo plus sync pattern. One gap in it: every variant in this thread assumes the tool has a project folder to copy into. The chat apps (claude.ai, the mobile apps) have no What worked for me is a second delivery path next to the sync one: keep the canonical rules and step-by-step routines as plain markdown in a private repo or cloud folder, and serve that same folder through a remote MCP server. Coding agents get it through the files on disk, chat apps get it through the connector, and there is still only one place to edit. Two details that matter:
Disclosure, I built a hosted version of this: Cloud Alter Ego stores rules, profile, project journals and playbooks as plain files in your own OneDrive, Google Drive, Dropbox, GitHub or Azure DevOps and adds a connector in Claude (https://cloudalterego.cafeboon.com/docs.html). The open source template, which uses the same plain-file layout with hooks for coding agents, is at https://github.com/SebastiaanBoon/cloud-alter-ego. You can also build the connector part yourself, the idea does not depend on my service. |
Uh oh!
There was an error while loading. Please reload this page.
It seems that every single IDE/ CLI agent tool is using different place to store skills, is there a centralized place where I can place the skills so they're available to ANY AI system?
Claude uses
.claude, codex uses.codex, gemini and cursor something elseAll reactions