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 skillsplugins/slack/.codex-plugin/plugin.json– Defines individual agents likesend_messageandlist_channelsplugins/slack/assets/slack.png– UI icon for the bundle representationplugins/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:
plugins/zoom/.app.json– Manifest registering the complete Zoom skill setplugins/zoom/README.md– Overview of bundled skills and invocation patternsplugins/zoom/skills/video-sdk/unity/references/versioning-and-compatibility.md– Video SDK integration specificationsplugins/zoom/skills/meeting-sdk/react-native/examples/setup-guide.md– React Native meeting implementationplugins/zoom/skills/cobrowse-sdk/troubleshooting/common-issues.md– Cobrowse functionality documentation
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:
plugins/vercel/.app.json– Top-level bundle manifestplugins/vercel/skills/nextjs/SKILL.md– Next.js build and deployment definitionsplugins/vercel/skills/turbopack/SKILL.md– Bundler optimization instructionsplugins/vercel/skills/vercel-functions/SKILL.md– Serverless function deployment protocolsplugins/vercel/skills/react-best-practices/AGENTS.md– Performance-focused rules for bundle size and dynamic imports
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.jsonmanifest to register capabilities while individual skills reside in structured subdirectories likeskills/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:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →