Install the plugin
Coding agents read skills from the antelopejs plugin, published in the AntelopeJS/agent-skills repository for Claude Code and Codex. The plugin keeps the project's skills folder in sync with the skills your installed packages ship: the framework skills from @antelopejs/core, the DMS, dms-frontend and every dms-* module. The skill catalog lists them all.
How a skill reaches the agent
A package declares its skills
A package lists its skill folders under antelopeJs.skills in its package.json. Each subfolder holds a SKILL.md whose description says what the skill does and when to use it. @antelopejs/dms declares ./skills; so does every dms-* module.
The skill lands where the agent looks
The antelopejs plugin links each skill into the project's .claude/skills/ for Claude Code and .agents/skills/ for Codex. In the dashboard, the dms-ai assistant reads the same declarations from every loaded module and from the project's dependencies, with no plugin.
The agent picks it by description
The agent keeps every skill's description in view and loads a skill's body only when the task matches it. A skill nobody installed never shows up, and an upgraded package brings its upgraded skill.
Add the plugin
Run these commands once. The install lands in your user scope, so every project sees it:
claude plugin marketplace add AntelopeJS/agent-skills
claude plugin install antelopejs@antelopejs
The same from inside a session:
/plugin marketplace add AntelopeJS/agent-skills
/plugin install antelopejs@antelopejs
Restart the session, or run /reload-plugins, to load it. The plugin's hooks sync the skills into .claude/skills/ from then on. To install it for one repository only, add --scope project to both commands: Claude Code records it in that repository's .claude/settings.json.
codex plugin marketplace add AntelopeJS/agent-skills
codex plugin add antelopejs@antelopejs
You can also install antelopejs from /plugins in Codex, or from the plugins directory of the desktop app, once the marketplace is added. Sync the skills into .agents/skills/ from the project root:
npx -y github:AntelopeJS/agent-skills sync --target codex
Run the sync again after installing or upgrading packages. The plugin declares sync hooks for Codex too, but Codex runs plugin hooks only in the desktop app, once you trust them in /hooks.
npx -y github:AntelopeJS/agent-skills sync links the skills into both .claude/skills/ and .agents/skills/, and list instead of sync shows what it finds.Projects created from a template
template-dms-demo and template-dms-adonis ship a .claude/settings.json that declares the marketplace and enables the plugin. Claude Code offers to install it once you trust the folder: accept, and there is nothing else to do. Their AGENTS.md gives Codex the sync command.
{
"extraKnownMarketplaces": {
"antelopejs": {
"source": { "source": "github", "repo": "AntelopeJS/agent-skills" }
}
},
"enabledPlugins": {
"antelopejs@antelopejs": true
}
}
Commit the same file in an existing project to give every Claude Code contributor the same prompt.
How the sync works
In Claude Code, the plugin syncs at session start and again after every Bash command, so a pnpm install or an ajs run that adds a module brings its skills into the running session. In Codex, run the sync command after such a change.
- Which projects. A directory holding an
antelope.config.*file, or an app whosepackage.jsondepends on@antelopejs/core: an embedded runtime such as the AdonisJS template. Anywhere else the sync does nothing. - Where it looks, the first hit per package winning:
- the workspace: the current package, its parents up to the repository root, and the packages of the root's
pnpm-workspace.yamlorworkspacesfield (source checkouts and module playgrounds); node_modulesof the project and of the workspace root, pnpm's symlinks included;.antelope/cache, whereajsdownloads the modules declared inantelope.config.ts.
- the workspace: the current package, its parents up to the repository root, and the packages of the root's
- What it creates. One relative symlink per skill, named
<package>--<skill>after the package's short name:dms--dms-pages,dms-frontend--dms-frontend,dms-mailing--dms-mailing. The link follows the installed package, so the skill always matches its version. - What it leaves alone. It records its entries in an
.ajs-managed.jsoninside each skills folder and lists them in a generated.gitignorenext to it, so your repository stays clean. A skill of yours with the same name is reported and skipped, never overwritten, and entries whose package disappeared are removed.
| Command | Use it to |
|---|---|
/antelopejs:skills | List the synced skills and the package each one comes from (Claude Code). |
/antelopejs:sync-skills | Force a sync now and see what changed (Claude Code). |
/reload-skills | Load the synced skills when .claude/skills/ did not exist at session start (Claude Code). |
npx -y github:AntelopeJS/agent-skills list | List the skills and their sync status in both folders. |
npx -y github:AntelopeJS/agent-skills sync --target codex | Sync .agents/skills/ for Codex; restart Codex if a skill does not appear. |
/antelopejs:skills? The packages are not installed yet. Run pnpm install, then pnpm exec ajs project modules install for the modules declared in antelope.config.ts, then sync again.Update and uninstall
The synced skills follow your packages, not the plugin: upgrade @antelopejs/core, @antelopejs/dms or a module, and the next sync points at the new version. The framework skills ship with @antelopejs/core from its first release after 1.15.2; a project on an older core gets them once it upgrades.
Update the marketplace, then the plugin:
claude plugin marketplace update antelopejs
claude plugin update antelopejs@antelopejs
To remove the plugin, uninstall it and drop the marketplace. Add --scope project to uninstall when it was installed for one repository, and remove the two keys from that repository's .claude/settings.json:
claude plugin uninstall antelopejs@antelopejs
claude plugin marketplace remove antelopejs
Update the marketplace:
codex plugin marketplace upgrade antelopejs
To remove the plugin, uninstall it and drop the marketplace:
codex plugin remove antelopejs@antelopejs
codex plugin marketplace remove antelopejs
To drop the synced skills from a project, delete the entries listed in .claude/skills/.ajs-managed.json and .agents/skills/.ajs-managed.json, then those files and the .gitignore next to each.
Next steps
Overview
The AntelopeJS skill suite teaches coding agents (Claude Code, Codex) and the dms-ai assistant how to build on the DMS — what it contains, where each skill lives, and how it reaches your agent.
Skill catalog
Every skill of the AntelopeJS suite, grouped by the package that ships it, with when the agent reaches for it and the page that covers the same ground.