# Codex Plugin Examples: Building AI Integrations with the OpenAI Plugins Repository

> Explore Codex plugin examples from the OpenAI plugins repository. Discover how to build AI integrations leveraging Markdown skills and JSON manifests for real-world task execution.

- Repository: [OpenAI/plugins](https://github.com/openai/plugins)
- Tags: getting-started
- Published: 2026-07-03

---

**The OpenAI plugins repository contains curated Codex plugin examples that bundle Markdown-based skills with JSON manifests, enabling AI agents to discover capabilities and execute real-world tasks through Model Context Protocol (MCP) servers.**

The `openai/plugins` repository serves as the canonical reference for developers building **Codex-compatible extensions**. These **Codex plugin examples** demonstrate how to package procedural knowledge, metadata, and external API connectors into portable units that AI assistants can invoke through natural language prompts.

## Anatomy of a Codex Plugin

Each example in the repository follows a consistent architecture that separates discovery metadata from execution logic. This structure ensures that Codex can index capabilities without loading implementation details until needed.

### The Plugin Manifest

Every plugin includes a [`.codex-plugin/plugin.json`](https://github.com/openai/plugins/blob/main/.codex-plugin/plugin.json) file that provides the core metadata Codex reads to list the plugin in its marketplace. This manifest contains the name, short and long descriptions, and MCP server connection details. For example, the Zoom plugin’s manifest includes concise descriptions of its meeting automation capabilities and points to the underlying MCP server.

### Skill Definitions

Capabilities are defined in [`SKILL.md`](https://github.com/openai/plugins/blob/main/SKILL.md) files located under `plugins/<plugin-name>/skills/`. These Markdown files contain procedural instructions and YAML frontmatter that enables automatic discovery. The frontmatter includes fields such as `retrieval.aliases`, `intents`, `entities`, `pathPatterns`, and `bashPatterns`, which Codex indexes to match user requests to specific capabilities without additional code.

### MCP Server Integration

When a skill needs to perform external API calls, it references an MCP server defined in the plugin configuration. This architecture keeps credentials and authentication out of the skill files, preserving security while allowing Codex to act on the user’s behalf. The MCP server handles the actual HTTP requests to services like Zoom, Zotero, or Vercel.

## Repository Structure and Conventions

All Codex plugin examples follow identical structural conventions, making them plug-and-play for the Codex runtime.

| Component | Purpose | Location |
|-----------|---------|----------|
| **Plugin Manifest** | Metadata describing the plugin and MCP connection | `plugins/<plugin-name>/.codex-plugin/plugin.json` |
| **Skills** | Markdown files defining individual capabilities | `plugins/<plugin-name>/skills/*/SKILL.md` |
| **Documentation** | Human-readable setup and usage instructions | `plugins/<plugin-name>/README.md` |
| **References** | Supporting API docs and troubleshooting guides | `plugins/<plugin-name>/skills/*/references/` |

## Real-World Codex Plugin Examples

The repository includes production-ready implementations for popular services. Each example demonstrates how to translate API documentation into Codex-native skills.

### Zoom Meeting Scheduler

The Zoom plugin enables Codex to create meetings through natural language requests. The skill definition in [`plugins/zoom/skills/oauth/SKILL.md`](https://github.com/openai/plugins/blob/main/plugins/zoom/skills/oauth/SKILL.md) defines the workflow:

```markdown

# Schedule a Zoom meeting

description: Use this skill to create a new Zoom meeting.

## Steps

1. Prompt the user for meeting title, date, and duration.
2. Call the Zoom MCP endpoint `create_meeting` with the collected parameters.
3. Return the meeting join URL to the user.

## Example Prompt

> "Schedule a Zoom meeting called *Project Sync* for tomorrow at 10 am lasting 30 minutes."

```

When a user enters a similar prompt, Codex matches the intent to this skill, executes the prescribed steps, and calls the Zoom MCP server to generate the meeting.

### Zotero Citation Manager

The Zotero plugin demonstrates integration with local desktop applications. Located in [`plugins/zotero/skills/zotero/SKILL.md`](https://github.com/openai/plugins/blob/main/plugins/zotero/skills/zotero/SKILL.md), this skill searches the user's local Zotero library:

```markdown

# Insert a citation from Zotero

description: Search a local Zotero library and add a citation key to the current draft.

## Steps

1. Ask the user for a search query (author, title, tags, etc.).
2. Query the Zotero local API (`http://localhost:23119`) for matching items.
3. Offer the top results; when the user selects one, insert its citation key (e.g., `Doe2024`) into the document at the cursor location.

## Example Prompt

> "Add a citation for the paper about quantum entanglement I saved last week."

```

This example shows how Codex plugin examples can bridge local desktop APIs with conversational AI workflows.

### Vercel Deployment Automation

The Vercel plugin in [`plugins/vercel/skills/vercel-api/SKILL.md`](https://github.com/openai/plugins/blob/main/plugins/vercel/skills/vercel-api/SKILL.md) enables continuous deployment triggers:

```markdown

# Deploy a Vercel project

description: Trigger a Vercel deployment from Codex.

## Steps

1. Identify the Vercel project name (ask the user if ambiguous).
2. Call the Vercel MCP endpoint `trigger_deploy` with the project identifier.
3. Return the deployment URL and status to the user.

## Example Prompt

> "Deploy the `my-nextjs-site` project on Vercel."

```

### Render Platform Integration

The Render plugin demonstrates **tool-specific adjustments**. In [`plugins/render/skills/render-mcp/SKILL.md`](https://github.com/openai/plugins/blob/main/plugins/render/skills/render-mcp/SKILL.md), the documentation includes distinct sections for different AI assistants:

```markdown

### Codex

To use this skill with Codex, ensure the Render MCP server is running and configured with your API key. Codex will automatically discover the available endpoints through the plugin manifest.

### Cursor

For Cursor users, add the following configuration to your `.cursor/mcp.json` file...

```

This pattern ensures that Codex plugin examples remain compatible across the growing ecosystem of AI coding assistants.

## How Skill Discovery Works

Codex indexes skills by parsing the YAML frontmatter in each [`SKILL.md`](https://github.com/openai/plugins/blob/main/SKILL.md) file. The frontmatter establishes **retrieval aliases** and **intent patterns** that map natural language to specific capabilities. When a user prompts Codex with "schedule a meeting," the runtime matches this against the `intents` and `retrieval.aliases` defined in the Zoom plugin's skill metadata, then loads the corresponding Markdown to execute the workflow.

The system also supports **path-based discovery** through `pathPatterns` and shell command detection via `bashPatterns`, allowing skills to activate based on the user's current working directory or terminal context.

## Summary

- **Codex plugin examples** combine [`.codex-plugin/plugin.json`](https://github.com/openai/plugins/blob/main/.codex-plugin/plugin.json) manifests with [`skills/SKILL.md`](https://github.com/openai/plugins/blob/main/skills/SKILL.md) definitions to create discoverable AI capabilities.
- Skills use YAML frontmatter with `retrieval.aliases`, `intents`, and `entities` to enable automatic natural-language matching without custom code.
- MCP servers handle authentication and API execution, keeping credentials secure while allowing Codex to perform real-world actions.
- The repository includes working implementations for Zoom, Zotero, Vercel, and Render that demonstrate tool-specific adaptations and local API integration.

## Frequently Asked Questions

### What is the difference between a skill and a plugin?

A plugin is the container defined by [`.codex-plugin/plugin.json`](https://github.com/openai/plugins/blob/main/.codex-plugin/plugin.json) that registers capabilities with Codex, while skills are individual atomic capabilities defined in [`SKILL.md`](https://github.com/openai/plugins/blob/main/SKILL.md) files under the `skills/` directory. One plugin can contain multiple related skills, such as a Zoom plugin containing separate skills for scheduling meetings and generating join links.

### How does Codex authenticate with external APIs?

Authentication is handled entirely by **MCP servers** referenced in the plugin manifest. According to the source code in the `openai/plugins` repository, this design keeps credentials and tokens out of skill Markdown files, ensuring that sensitive information remains within the MCP server configuration rather than being exposed to the AI model or version control.

### Can these plugins work with AI assistants other than Codex?

Yes, the repository structure supports multi-tool compatibility. Skills often include conditional sections for different assistants, such as `### Codex` or `### Cursor` headings within the same [`SKILL.md`](https://github.com/openai/plugins/blob/main/SKILL.md) file. The Render plugin example specifically demonstrates this pattern by providing distinct setup instructions for Codex, Claude Code, and Cursor users.

### Where are the plugin manifests and skill files located?

Each plugin follows the path `plugins/<plugin-name>/` where the manifest lives at [`.codex-plugin/plugin.json`](https://github.com/openai/plugins/blob/main/.codex-plugin/plugin.json) and skills reside in `skills/<skill-name>/SKILL.md`. For example, the Zotero citation skill is located at [`plugins/zotero/skills/zotero/SKILL.md`](https://github.com/openai/plugins/blob/main/plugins/zotero/skills/zotero/SKILL.md), while the Zoom plugin manifest is at [`plugins/zoom/.codex-plugin/plugin.json`](https://github.com/openai/plugins/blob/main/plugins/zoom/.codex-plugin/plugin.json).