Richer Plugin Bundles in the OpenAI Plugins Repository: Slack, Zoom, and Vercel Examples

The OpenAI Plugins repository organizes multi-skill capabilities into "richer plugin bundles"—directories like Slack, Zoom, and Vercel that contain multiple coordinated skills under a single manifest, enabling complex AI-driven workflows through unified API calls.

The OpenAI Plugins repository serves as a reference implementation for extending AI capabilities through structured plugins. Unlike single-purpose implementations, richer plugin bundles consolidate related skills—such as messaging, video conferencing, or deployment automation—into cohesive packages defined by manifest files. These bundles allow Large Language Models (LLMs) to execute sophisticated, multi-step operations by invoking specific skills within a unified architecture.

What Defines a Richer Plugin Bundle?

A richer plugin bundle contains multiple distinct skills grouped under a top-level directory with a manifest file (typically .app.json). Each skill represents a discrete capability—such as sending messages or starting meetings—that can be invoked independently while sharing authentication and configuration contexts.

Examples of Richer Plugin Bundles

Slack Plugin Bundle

The Slack plugin bundle located in plugins/slack/ provides comprehensive workspace interaction capabilities. It aggregates skills for channel management, direct messaging, and file operations under a single registration point.

When an LLM needs to interact with Slack, it targets specific skills defined in the bundle's configuration. For example, the send_message skill handles channel communication:


# Invoke the send_message skill within the Slack bundle

response = client.run_skill(
    plugin="slack",
    skill="send_message",
    arguments={"channel": "#general", "text": "Automated update from OpenAI"}
)
print(response)  # Returns Slack API confirmation

Key source files:

  • plugins/slack/.app.json – The top-level manifest registering all bundled skills
  • plugins/slack/.codex-plugin/plugin.json – Defines individual agents like send_message and list_channels
  • plugins/slack/assets/slack.png – UI icon for the bundle representation
  • plugins/slack/assets/app-icon.png – Application icon displayed in marketplace listings

Zoom Plugin Bundle

The Zoom plugin bundle in plugins/zoom/ represents a complex, multi-SDK implementation wrapping video conferencing, meeting management, and cobrowse functionalities. This bundle demonstrates how richer plugin bundles can encapsulate entire platform ecosystems.

The bundle separates concerns into distinct sub-skills such as meeting_sdk and video_sdk, allowing granular control over Zoom operations:


# Start a meeting using the bundled meeting-sdk skill

meeting = client.run_skill(
    plugin="zoom",
    skill="meeting_sdk.start_meeting",
    arguments={"topic": "Project Sync", "duration": 30}
)
print(f"Meeting URL: {meeting['join_url']}")

Key source files:

Vercel Plugin Bundle

The Vercel plugin bundle at plugins/vercel/ aggregates developer-centric skills for modern web deployment. It encompasses Next.js deployment, Turbopack optimization, and edge function management within a unified structure.

This bundle enables end-to-end CI/CD automation by exposing platform-specific skills that can be chained together:


# Deploy a Next.js application using the Vercel bundle

deployment = client.run_skill(
    plugin="vercel",
    skill="nextjs.deploy",
    arguments={"project": "my-next-app", "branch": "main"}
)
print(f"Deployment URL: {deployment['url']}")

Key source files:

Summary

  • Richer plugin bundles in the OpenAI Plugins repository group multiple related skills—such as Slack messaging, Zoom conferencing, or Vercel deployments—under unified manifest files.
  • Each bundle uses a top-level .app.json manifest to register capabilities while individual skills reside in structured subdirectories like skills/ or .codex-plugin/.
  • The Slack, Zoom, and Vercel bundles exemplify how complex, multi-step workflows can be encapsulated and invoked through a consistent API interface.
  • This architecture allows LLMs to perform sophisticated domain operations by selecting specific skills within a bundled context rather than managing disparate single-purpose plugins.

Frequently Asked Questions

What distinguishes a richer plugin bundle from a single-skill plugin?

A richer plugin bundle contains multiple coordinated skills within one directory structure, governed by a manifest file that registers all capabilities. Single-skill plugins implement one specific function, while bundles like the Zoom or Vercel examples provide entire platform ecosystems with disparate but related capabilities—such as video SDK integration, meeting management, and cobrowse features—under a single plugin registration.

How does the manifest file structure work in these bundles?

The .app.json file serves as the primary registration point located in the bundle root (e.g., plugins/slack/.app.json). This manifest enumerates all available skills and their entry points. Individual skill definitions may reside in secondary configuration files like .codex-plugin/plugin.json or dedicated SKILL.md documentation files within skill-specific subdirectories, creating a hierarchical organization that separates bundle metadata from implementation details.

Can skills within a bundle share authentication contexts?

Yes, richer plugin bundles typically implement shared authentication at the bundle level, configured in the manifest. When an LLM invokes any skill within the Slack or Zoom bundles, the credentials and API tokens defined in the top-level configuration remain available across all skill invocations. This shared context eliminates redundant authentication steps when chaining multiple skills from the same bundle.

What file naming conventions identify multi-skill bundles?

Multi-skill bundles consistently use .app.json for the root manifest, while individual skills often utilize SKILL.md files for documentation and .codex-plugin/plugin.json for agent definitions. The directory structure typically includes a skills/ subdirectory containing platform-specific implementations—such as plugins/zoom/skills/video-sdk/—that separate distinct functional areas while maintaining bundle cohesion through the parent manifest.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →