Agent Integration Layout
May 21, 2026 ยท View on GitHub
This repository is a multi-ecosystem integration monorepo.
Layout
- Keep ecosystem-specific marketplace entry points at the repository root.
- Keep ecosystem-specific implementations under
packages/. - Keep shared local capability in
packages/cli. - Keep package-scoped, productized skills under their owning package.
- Keep the skills.sh public
calleskill at the repository root inskills/. - Keep repository-local Codex helper skills in
.agents/skills/.
Current Codex layout:
.agents/plugins/marketplace.json
.agents/skills/
packages/codex-plugin/plugin/
packages/cli/
Current OpenClaw layout:
packages/openclaw-cli-skill/skills/
Current skills.sh layout:
skills/calle/
Current Claude Code layout:
.claude-plugin/marketplace.json
packages/claude-plugin/plugin/
Current Cursor layout:
.cursor-plugin/marketplace.json
packages/cursor-plugin/plugin/
Use packages/openclaw-cli-skill/skills/ for the OpenClaw CALL-E skill source.
Use skills/calle/ for the skills.sh compatible CALL-E skill source so
skills.sh public search and detail pages can index the portable calle skill
from the default repository install path.
Use .agents/skills/ for repository-local Codex helper skills. Do not put
productized client-specific skill packages there; keep them under their owning
package.
Marketplace Naming Rules
Do not rename marketplace identifiers or visible marketplace labels freely. They are part of the install and support surface.
For Codex:
.agents/plugins/marketplace.jsonis the Codex marketplace entry point.- The marketplace
namemust staycall-e-codex. - The marketplace
interface.displayNamemust stayCALL-E. - The Codex plugin entry name must stay
calle. - The Codex plugin source path must stay
./packages/codex-plugin/plugin.
For Claude Code:
.claude-plugin/marketplace.jsonis the Claude Code marketplace entry point.- The marketplace
namemust staycall-e-claude. - The Claude Code plugin entry name must stay
calle. - The Claude Code plugin source path must stay
./packages/claude-plugin/plugin. - The Claude Code CLI integration attribution must stay
claude/claude_code_plugin/<version>.
For Cursor:
.cursor-plugin/marketplace.jsonis the Cursor marketplace entry point.- The marketplace
namemust staycall-e-cursor. - The Cursor plugin entry name must stay
calle. - The Cursor plugin display name must stay
CALL-E. - The Cursor plugin source path must stay
./packages/cursor-plugin/plugin. - The Cursor MCP server key must stay
calle. - The Cursor CLI fallback attribution must stay
cursor/cursor_plugin/<version>.
For skills.sh:
- The skills.sh package path must stay
packages/skills-sh-skill. - The skills.sh skill directory must stay
skills/calle. - The skills.sh skill frontmatter
namemust staycalle. - The skills.sh CLI integration attribution must stay
skills_sh/skills_sh_skill/<version>.
Use ecosystem-specific internal marketplace names when adding other clients:
call-e-codex
call-e-claude
call-e-cursor
call-e-copilot
call-e-gemini
Prefer the user-visible marketplace display name CALL-E when public install
instructions use sparse checkout and expose only one ecosystem entry point. Add
an ecosystem suffix to interface.displayName only when a single install path
intentionally exposes multiple CALL-E marketplaces in the same client UI.
Cross-Ecosystem Rules
- Do not put Claude, Copilot, VS Code, Gemini, Cursor, Windsurf, Zed, Cline, Roo,
Continue, or other non-Codex entries in
.agents/plugins/marketplace.json. - Add each future ecosystem's entry point separately, for example
.claude-plugin/marketplace.jsonfor Claude-compatible plugin distribution. - Only add
.github/plugin/marketplace.jsonif Copilot needs a separate marketplace from the Claude-compatible one. - Public install docs should use sparse checkout and include only the relevant marketplace entry point plus that ecosystem's package path.
- Public Codex install docs should use
--ref '@call-e/codex-plugin@latest'so users get the latest released Codex plugin without typing a version number. Mention package-level release tags only as the reproducible pinned-install option. - Public Claude Code install docs should use
#@call-e/claude-plugin@latestin the marketplace Git URL so users get the latest released Claude Code plugin without typing a version number. Mention package-level release tags only as the reproducible pinned-install option. - Public Cursor quick-start docs should document
.cursor/mcp.jsonand~/.cursor/mcp.jsonfor direct MCP configuration. Cursor plugin docs must not claim public marketplace availability until the Cursor plugin has been submitted, reviewed, and accepted. - Pinned package and CLI version references are synced during release PR
versioning by
scripts/sync-install-doc-versions.mjs. - The release workflow initializes
@call-e/codex-plugin@latestfrom the current package release tag when missing, then updates it only after@call-e/codex-pluginpublishes. - The release workflow initializes
@call-e/claude-plugin@latestfrom the current package release tag when missing, then updates it only after@call-e/claude-pluginpublishes.
External Codex Directory Follow-Up
CALL-E is also listed in
hashgraph-online/awesome-codex-plugins
as Call-E under Tools & Integrations. Treat that listing as a downstream
discovery surface, not as the source of truth.
When changing the Codex plugin's visible metadata, source path, install payload, or icon assets in this repository, check whether the external directory needs a matching PR. Keep these fields aligned:
packages/codex-plugin/plugin/.codex-plugin/plugin.jsoninterface.composerIcon.plugins/CALLE-AI/call-e-integrations/.codex-plugin/plugin.jsoninawesome-codex-plugins.- The
calleentry inawesome-codex-plugins/.agents/plugins/marketplace.json. - The mirrored icon asset path
plugins/CALLE-AI/call-e-integrations/assets/CALL-E-Icon-Black.svg.
Current tracking references:
- CALL-E issue:
CALLE-AI/call-e-integrations#35. - External directory PR:
hashgraph-online/awesome-codex-plugins#125.
Latest Codex public install example:
This command is the official Codex plugin install path and requires
codex-cli >= 0.122.0. Users pinned to older Codex releases should upgrade
when possible; if they cannot, they may manually add the sparse payload from the
same Git ref:
.agents/plugins/marketplace.json
packages/codex-plugin/plugin/
Keep those paths exactly as shown so the marketplace entry can resolve
./packages/codex-plugin/plugin.
codex plugin marketplace add CALLE-AI/call-e-integrations \
--ref '@call-e/codex-plugin@latest' \
--sparse .agents/plugins \
--sparse packages/codex-plugin/plugin
For reproducible installs, replace @call-e/codex-plugin@latest with a
package-level release tag such as @call-e/codex-plugin@<version>.
Latest Claude Code public install example:
Run these slash commands inside Claude Code. The marketplace entry resolves
./packages/claude-plugin/plugin from the git-hosted marketplace root.
/plugin marketplace add https://github.com/CALLE-AI/call-e-integrations.git#@call-e/claude-plugin@latest
Then install:
/plugin install calle@call-e-claude
Then reload plugins in the current Claude Code session:
/reload-plugins
The installed /calle:calle skill uses the shared calle CLI for
authentication checks, brokered login, tool discovery, and call workflow
commands.
For reproducible installs, replace @call-e/claude-plugin@latest with a
package-level release tag such as @call-e/claude-plugin@<version>.
Cursor MCP quick install example:
Create .cursor/mcp.json in a project, or ~/.cursor/mcp.json for global
Cursor configuration:
{
"mcpServers": {
"calle": {
"url": "https://seleven-mcp-sg.airudder.com/mcp/openagent_oauth"
}
}
}
The full Cursor plugin payload lives at:
.cursor-plugin/marketplace.json
packages/cursor-plugin/plugin/
The plugin bundles the same remote MCP server with a calle skill and an
always-on real-call safety rule. It is prepared for Cursor Marketplace
submission; publication is a separate operational step.
skills.sh install example:
Use the repository root with --skill calle and -g so skills.sh installs the
portable calle skill from the root skill source at user-level/global scope:
npx skills add https://github.com/CALLE-AI/call-e-integrations --skill calle -g -y --agent <agent>
Or install the root skill source directly with the same user-level/global scope:
npx skills add https://github.com/CALLE-AI/call-e-integrations/tree/main/skills/calle -g -y --agent <agent>