Commit Graph
222 Commits
Author SHA1 Message Date
Soheil Norouzi 5273316242 Link GitHub Enterprise app template 2026-05-28 13:27:19 -04:00
soyeon-oai f2a0a2c3d0 update(codex-security): v0.1.6 (#284)
## Summary
- sync Codex Security plugin from the source
- keep openai/plugins homepage and repository metadata
- keep Codex Security categorized under Security
2026-05-28 10:08:42 -07:00
charlesgong-openai 9b3c868922 [codex] Add Mixpanel plugins (#266)
## Summary
- Add the connector-backed Mixpanel plugin and marketplace entry.
- Add a separate Mixpanel Headless plugin for the mixpanel_headless
Python SDK workflow.

## Validation
- python3
/Users/charlesgong/.codex/skills/.system/plugin-creator/scripts/validate_plugin.py
plugins/mixpanel
- python3
/Users/charlesgong/.codex/skills/.system/plugin-creator/scripts/validate_plugin.py
plugins/mixpanel-headless
- python3
/Users/charlesgong/.codex/skills/.system/plugin-creator/scripts/validate_plugin.py
plugins/deepnote
- python3 -m py_compile
plugins/mixpanel-headless/skills/mixpanelyst/scripts/help.py
plugins/mixpanel-headless/skills/mixpanelyst/scripts/auth_manager.py
- bash -n plugins/mixpanel-headless/skills/setup/scripts/setup.sh
2026-05-28 09:43:58 -04:00
Ashwin Mathews 719ed65532 Add Airtable Codex plugin (#271)
Summary:
- Import upstream Airtable skills plugin as a clean first commit.
- Replace Airtable MCP config with app connector id
asdk_app_693ca6ce2db08191bb52d66743c65184.
- Restore upstream Airtable metadata where possible while keeping
required Codex schema and app-connector changes.

Validation:
- node plugins/plugin-eval/scripts/plugin-eval.js analyze
plugins/airtable --format markdown (score 86/100; no failures, expected
static budget/description warnings from upstream content).
2026-05-27 20:57:12 -07:00
Ashwin Mathews c0d3e0eb14 Add Clay, Calendly, Rox, and HG Insights connector plugins (#276)
## Summary
- add barebones Clay, Calendly, Rox, and HG Insights app-backed plugins
- add repo marketplace entries for the new plugins
- add focused Otter.ai metadata cleanup while preserving existing
interface copy and prompts

## Validation
- validated Clay, Calendly, Rox, HG Insights, and Otter.ai manifests
with the plugin-creator validator
- verified marketplace JSON parses and diffs have no whitespace errors
- smoke tested Clay, Calendly, and Rox against installed test accounts
2026-05-27 20:18:18 -07:00
Dino Hamzić c6c214fd29 Add Deepnote plugin (#274)
This PR adds the Deepnote plugin, including marketplace metadata, app
configuration, branding, README, and dedicated skills.

It enables OpenAI/Codex to connect to Deepnote workspaces, search
projects and integrations, inspect and edit notebooks, run notebooks,
fetch run outputs, read Deepnote docs, and generate workspace-aware
links.
2026-05-27 19:10:39 -04:00
Ashwin MathewsandCameron Yick 1ac32d4157 feat(datadog): Add initial Datadog plugin for Codex (#280)
Based on #251, with an additional fix for the Datadog icon path.

The plugin metadata references `./assets/app-icon.png` for both `logo`
and `composerIcon`, so this branch keeps that asset at the plugin root,
matching the layout used by the other plugins. It also removes the
duplicate `.codex-plugin/assets` copy.

Validation:
- Confirmed `plugin.json` resolves `logo` and `composerIcon` to an
existing file.
- Confirmed the local `shwin_plugins` copy has the same fixed asset
path.

---------

Co-authored-by: Cameron Yick <cameron.yick@datadoghq.com>
2026-05-27 14:59:28 -07:00
Ashwin Mathews be69e54e4b [codex] add vertical connector plugins (#249)
## Summary

Adds app-backed plugin bundles for the connector conversion batch,
excluding Datadog, Zoom, and Ramp as requested.

Included new plugin bundles:
- Similarweb
- LSEG
- S&P
- Datasite
- FactSet
- ZoomInfo
- Docusign
- Mixpanel
- Aiera
- Close
- Apollo

- Meticulate
- ThoughtSpot
- Midpage

Not included:
- Intercom (no released app)
- Zoho (can't connect)

Also updates the existing Quartr plugin manifest with the extracted
brand color and three default prompts.

## Implementation

Each new plugin includes:
- `.codex-plugin/plugin.json` with display metadata, brand color, icon
references, and three default prompts
- `.app.json` pointing to the connector/app ID
- local logo assets pulled from the submitted URLs and referenced by
`composerIcon` / `logo`
- a marketplace entry in `.agents/plugins/marketplace.json`

Categories were audited against comparable existing plugins. Similarweb,
Mixpanel, Meticulate, and ThoughtSpot are categorized as `Productivity`;
financial, market transcript, and legal research tools remain
`Research`.

## Validation

- Parsed all touched plugin manifests and `.app.json` files as JSON
- Verified referenced logo assets exist and parse as PNG/SVG images
- Parsed generated SVG icons as XML
- Parsed `.agents/plugins/marketplace.json` as JSON
- Ran `git diff --check`
2026-05-27 11:34:28 -07:00
william-openai 960a4ab272 Guide Box text and preview retrieval fallbacks (#259)
## Summary
- guide Box text reads to use representation signals before uncertain
`get_file_content` and Deep Research `fetch` reads
- stop retrying Box text reads after the selected file reports no
markdown or extracted-text representation
- carry known file `size` into preview selection so `get_file_preview`
is avoided for files already known to exceed Box's 3 MB limit
- bump the Box plugin version for the skill update

## Validation
- `git diff --check -- plugins/box`
- `node plugins/plugin-eval/scripts/plugin-eval.js analyze plugins/box
--format markdown` (reports existing Box plugin budget/structure
warnings; no failures)
2026-05-27 13:22:41 -04:00
Thomas Ricouard 11b5af6884 Trim Build iOS plugin prompts (#262)
## Summary
- normalize the Build iOS Apps plugin starter prompt to the current
plugin prompt-array contract
- shorten the plugin-level prompt on both metadata surfaces so it stays
under the starter-prompt budget
- tighten all eight Build iOS skill trigger descriptions while
preserving routing terms such as App Intents, ETTrace, memgraphs,
XcodeBuildMCP, Liquid Glass, and Observation

## Why
Build iOS Apps was tripping prompt-length warnings in Codex. Its
manifest starter prompt was also a string while the current plugin
surface expects starter prompts as an array capped at three entries and
128 characters per entry.

The skill descriptions were still large enough for `plugin-eval` to fail
the plugin trigger-cost budget after the starter prompt fix, so this PR
keeps the trigger metadata compact without moving any skill behavior out
of the skill bodies.

## Impact
The plugin keeps the same skill inventory and workflows, but its
discovery text is smaller and the starter prompt is a short
Simulator-oriented prompt.

## plugin-eval report progression
The same local report command was used throughout:

```sh
cd plugins/plugin-eval
node ./scripts/plugin-eval.js analyze ../build-ios-apps --format markdown
```

Before the manifest prompt was normalized, `plugin-eval` could not emit
a scored report because the string-shaped `defaultPrompt` hit:

```text
((intermediate value) || []).join is not a function
```

| State | Score | Risk | Checks | Trigger | Invoke | Deferred | Active |
Total |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| First scored report after starter-prompt normalization | 59 / D | high
| 1 fail, 6 warn, 2 info | 754 | 11829 | 37211 | 12583 | 49794 |
| After explicit `Use when` trigger wording | 68 / D | high | 1 fail, 4
warn, 2 info | 753 | 11829 | 37212 | 12582 | 49794 |
| Final after compacting all Build iOS skill descriptions | 77 / C |
medium | 0 fail, 5 warn, 2 info | 354 | 11431 | 37212 | 11785 | 48997 |

The final report clears the failing trigger-cost check. Remaining
warnings are static budget warnings for trigger/invoke/deferred text
plus existing Python helper complexity and missing Python tests.

## Validation
- `node ./scripts/plugin-eval.js analyze ../build-ios-apps --format
markdown`
- `git diff --check`
2026-05-27 16:26:30 +02:00
Thomas Ricouard 2464aee421 Trim Build macOS plugin prompts (#263)
## Summary
- normalize the Build macOS Apps plugin starter prompt to the current
plugin prompt-array contract
- shorten the plugin-level prompt and all macOS skill trigger
descriptions so discovery metadata stays compact
- defer detailed sidebar/split-view and window modifier examples into
references while keeping skill entrypoints focused

## Why
`build-macos-apps` could not be scored by `plugin-eval` while its
manifest starter prompt was still a string. After that prompt shape was
normalized, the static report showed both trigger and invocation budget
failures driven by long skill trigger metadata and detailed examples in
always-loaded `SKILL.md` entrypoints.

This PR keeps the same macOS skill inventory and routing terms, but
moves detailed examples out of the entrypoint path where they can be
loaded only when the task needs them.

## Impact
Build macOS Apps keeps its existing workflows while its starter prompt
metadata matches the current plugin contract, trigger descriptions are
smaller, and high-detail SwiftUI/window examples live in references
instead of always-loaded skill bodies.

## plugin-eval report progression
The same local report command was used throughout:

```sh
cd plugins/plugin-eval
node ./scripts/plugin-eval.js analyze ../build-macos-apps --format markdown
```

Before the manifest prompt was normalized, `plugin-eval` could not emit
a scored report because the string-shaped `defaultPrompt` hit:

```text
((intermediate value) || []).join is not a function
```

| State | Score | Risk | Checks | Trigger | Invoke | Deferred | Active |
Total |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| First scored report after starter-prompt shape normalization | 67 / D
| high | 2 fail, 1 warn, 2 info | 899 | 15529 | 7722 | 16428 | 24150 |
| After compacting all Build macOS skill descriptions | 77 / C | high |
1 fail, 2 warn, 2 info | 464 | 15092 | 7722 | 15556 | 23278 |
| Final after deferring sidebar/split and window API examples | 86 / B |
medium | 0 fail, 3 warn, 2 info | 464 | 14291 | 8507 | 14755 | 23262 |

The final report clears the trigger and invocation budget failures.
Remaining warnings are static budget warnings for trigger, invoke, and
deferred text.

## Validation
- `node ./scripts/plugin-eval.js analyze ../build-macos-apps --format
markdown`
- `git diff --check`
2026-05-27 16:26:24 +02:00
Eric Ning 603a6e8071 Fix interface (#275)
Add interfaces to the skills
2026-05-26 16:46:07 -07:00
cching-openai 28dd42ad75 Codex/update data visualization plugin (#267)
## Summary

Adds **Build Web Data Visualization**, a Codex plugin for designing,
building, testing, and exporting web-based data visualizations. It
routes requests to the right workflow for charts, dashboards, maps,
WebGL/Three.js scenes, D3/SVG, Gantt charts, diagrams, reports, PDFs,
and slide exports.

The plugin uses a compact implicit router with explicit specialist
skills, keeping common visualization requests lightweight while
preserving deeper guidance when needed.

Also updates **Plugin Eval** so token budget scoring accounts for
explicit-only skills separately from implicit active context.
2026-05-26 16:29:39 -07:00
Dibyo Majumdar 6188456fcc [codex] Support connector-native simple Google Doc creation (#270)
## Summary
- Port the connector-native simple Google Doc creation boundary from
openai/openai#950198 into the Google Drive plugin.
- Add the native-create direct reference for simple Docs that only need
text, headings, bullets, links, and light formatting.
- Keep DOCX-first creation as the default for polished or
layout-sensitive deliverables, and bump the Google Drive plugin version
to 0.1.1.

## Validation
- `git diff --check`
- `python -c "import json;
json.load(open('plugins/google-drive/.codex-plugin/plugin.json'));
print('plugin json ok')"`
- `python -c "import pathlib,re;
root=pathlib.Path('plugins/google-drive/skills/google-docs');
refs=set(re.findall(r'references/[-A-Za-z0-9_]+\\.md',
(root/'SKILL.md').read_text())); missing=[r for r in refs if not
(root/r).exists()]; print('checked', len(refs), 'refs'); raise
SystemExit('missing refs: '+str(missing) if missing else 0)"`
- `rg -n "google-drive-codex|Google Drive
Codex|plugins/google-drive-codex"
plugins/google-drive/skills/google-docs
plugins/google-drive/.codex-plugin/plugin.json`
2026-05-22 17:27:44 -07:00
Dibyo Majumdar df858c72ce [codex] Update Google Docs direct request workflow (#269)
## Summary
- Port the Google Docs direct request workflow from openai/openai#947695
into the Google Drive plugin.
- Add direct batchUpdate request composition guidance, meeting-notes
fast path guidance, smart chip/building block notes, and PDF export
visual QA reference material.
- Keep the existing DOCX-first path for polished net-new Docs while
improving connector-first editing guidance.

## Validation
- `git diff --check`
- `python -c "import json;
json.load(open('plugins/google-drive/.codex-plugin/plugin.json'));
print('plugin json ok')"`
- `python -c "import pathlib,re;
root=pathlib.Path('plugins/google-drive/skills/google-docs');
refs=set(re.findall(r'references/[-A-Za-z0-9_]+\\.md',
(root/'SKILL.md').read_text())); missing=[r for r in refs if not
(root/r).exists()]; print('checked', len(refs), 'refs'); raise
SystemExit('missing refs: '+str(missing) if missing else 0)"`
2026-05-22 14:43:09 -07:00
xl-openai 004da7246d fix defaultPrompt for some plugins. (#264)
respect the size/length restriction of defaultPrompt
2026-05-21 16:27:06 -07:00
Dibyo MajumdarandCodex 36878fcbcc [codex] Require native import workflows for Docs and Slides (#246)
## Why
Net-new Google Docs and Google Slides artifacts have a higher quality
bar when they are authored locally with the dedicated
document/presentation artifact workflows first, then converted into
native Google Workspace files. Those authoring paths provide the local
rendering and QA loops needed for layout, polish, and content
verification before handoff. Directly creating a blank Google Doc or
Slides deck through Google APIs is still possible, but it should be an
explicit user override rather than the default path.

## What changed
- Updated the Google Drive router so new Google Docs and Google Slides
requests route to the specialized Docs/Slides skills, which own the
required local-file-to-native-import workflow.
- Updated the Google Docs skill to require local `.docx` creation
through `[@documents](plugin://documents@openai-primary-runtime)`,
followed by `mcp__codex_apps__google_drive_import_document` with
`upload_mode: "native_google_docs"`.
- Updated the Google Docs import reference to document the native import
action, install/reinstall handling, conversion verification, and
source-file preservation mode.
- Updated the Google Slides skill to require local `.pptx` creation
through
`[@presentations](plugin://presentations@openai-primary-runtime)`,
followed by `mcp__codex_apps__google_drive_import_presentation` with
`upload_mode: "native_google_slides"`.
- Updated the Google Slides import reference to document import-action
availability checks, native conversion verification, direct-to-Slides
anti-patterns, and PowerPoint preservation mode.

## Validation
- `git diff --check`
- `/home/dev-user/.virtualenvs/openai/bin/python
/home/dev-user/code/openai/skills/lint_skills.py
/home/dev-user/code/openai-plugins/plugins/google-drive/skills/google-docs`
- `/home/dev-user/.virtualenvs/openai/bin/python
/home/dev-user/code/openai/skills/lint_skills.py
/home/dev-user/code/openai-plugins/plugins/google-drive/skills/google-slides`
- `/home/dev-user/.virtualenvs/openai/bin/python
/home/dev-user/code/openai/skills/lint_skills.py
/home/dev-user/code/openai-plugins/plugins/google-drive/skills/google-drive`

Related source changes:
- https://github.com/openai/openai/pull/919518
- https://github.com/openai/openai/pull/919139

---------

Co-authored-by: Codex <noreply@openai.com>
2026-05-21 10:36:04 -07:00
ssetty-oai 0d4f5414ed [codex] Add Slack skill rate limit guidance (#258)
## Summary
- Add Slack skill guidance for bucketed per-minute RPM limits.
- Tell agents to avoid immediate same-bucket retries on 429s, respect
explicit wait hints, and back off on repeated 429s.
- Clarify that useful work can continue through other Slack tool buckets
while one bucket is cooling down.

## Why
Slack tools share quotas by bucket rather than by individual tool.
Without bucket-aware retry guidance, agents can amplify rate-limit
pressure by retrying equivalent tools immediately or by serially
exhausting the same quota bucket.

## Validation
- Ran `git diff --check`.
- Markdown-only skill update; no automated test suite run.
2026-05-20 16:34:57 -07:00
Ashwin Mathews ed8ce2eacc [codex] Update Zoom plugin developer workflows (#255)
## Summary
- Import Zoom combined plugin content from zoom/zoom-plugin-codex commit
6f30034c94b4594daaf814cd9bf4cf972b90a323 into the existing app-backed
Zoom plugin.
- Add Zoom developer commands, reviewer agents, and 53 developer skills
under plugins/zoom while preserving the Zoom app connector mapping and
marketplace identity.
- Mark only the imported developer skills explicit-only with adjacent
agents/openai.yaml files using policy.allow_implicit_invocation: false;
the regular Zoom app/plugin surface remains implicitly invokable.

## Validation
- jq empty plugins/zoom/.codex-plugin/plugin.json plugins/zoom/.app.json
.agents/plugins/marketplace.json
- Ruby validation for all Zoom SKILL.md frontmatters and 53 skill-level
Zoom agents/openai.yaml policy files, plus confirmation that
plugins/zoom/agents/openai.yaml does not disable implicit invocation
- git diff --check HEAD^ HEAD -- plugins/zoom
- node plugins/plugin-eval/scripts/plugin-eval.js analyze plugins/zoom
--format json completed; it reports high static token budget because the
upstream Zoom reference library is large.
2026-05-19 10:55:45 -07:00
william-openai 8e8fadb429 Fix Notion plugin examples to match live app contracts (#256)
## Summary
- tighten Notion skill guidance around the deployed app contract
- repair invalid or misleading tool-call examples across the four
curated Notion skills
- switch database-creation references from REST-style objects to the SQL
DDL form exposed by the live app

## Root cause
Several deployed plugin examples had drifted from the live Apps SDK /
Notion MCP surface. They either omitted connector-required fields, used
unsupported command names, or showed payload shapes that fail connector
validation before they ever reach Notion.

## What changed
- require explicit `filters: {}` in search examples and remove
pseudo-boolean query syntax such as `or` / `+`
- make fetch examples concrete and reinforce that only Notion URLs / IDs
should be fetched
- make create-page examples include explicit `parent` + `pages`
- fix `notion-query-data-sources` to use the top-level `data` wrapper
and collection URLs as SQL table names
- replace invalid `insert_content_after` examples with `update_content`
search-and-replace payloads
- document the deployed `update-page` quirk that requires both
`properties` and `content_updates` top-level fields
- fix `notion-create-comment` examples to use `page_id`
- update database-creation references to the live SQL DDL schema format

## Validation
- live Notion connector probes on 2026-05-19:
- `search` succeeds with `filters: {}` and fails connector validation
when `filters` is omitted
- `query-data-sources` succeeds with the `data` wrapper and fails
connector validation without it
- `create-pages` and `create-database` reject omitted `parent`;
explicit-parent payloads get past schema validation
- `update-page(update_content)` requires `properties: {}`;
`update-page(update_properties)` requires `content_updates: []`
- `create-comment` with object-style `rich_text` passes connector
validation
2026-05-19 13:50:40 -04:00
william-openai eed161983e Sync Figma skills to v2.2.12 (#253)
Sync the Figma plugin skill bundle with
`figma/mcp-server-guide@a742f0a700a7772ff5ed85f7c9fc1dad5afa9fcc`
(`v2.2.12`).

This pulls in Figma's latest guidance updates across the `figma-use`,
FigJam, Slides, design-generation, and library-generation skill
surfaces. The imported changes sharpen the runtime guidance that came up
in recent threads, including editor-context boundaries, text/font
handling, and more efficient Plugin API traversal patterns, while
keeping the local plugin layout unchanged.

Context:
https://openai.slack.com/archives/C09CKPM5UKT/p1779133790898629?thread_ts=1778698066.370709&cid=C09CKPM5UKT
2026-05-18 20:36:07 -04:00
ssetty-oai 27cd8e32e3 [codex] Refresh relative Slack message targets (#252)
## Summary
- Add a Slack skill write-safety guardrail requiring fresh
channel/thread reads before acting on relative message targets like
"last message".
- Call out reactions, replies, edits, and other writes so stale cached
reads are not reused for message actions.

## Why
The reported issue was that "last message" stayed bound to an older read
result, so a reaction was applied to an hour-old message until the agent
was told to recheck. The skill should force a fresh resolution
immediately before acting on recency-based targets.

## Validation
- Ran `git diff --check`.
- Verified the diff is limited to one insertion in
`plugins/slack/skills/slack/SKILL.md`.
2026-05-18 12:41:28 -07:00
Ashwin Mathews d947469ea6 Zoom (#215)
Tested, UI apps don't show up on prod, functionality good
2026-05-18 00:13:45 -07:00
Ashwin Mathews dc90281149 figma skills update (#247)
Direct sync of their skills update instead of usual adapt (too much
delta)

No more openai.yaml's in each skill, but we have at the root level
2026-05-15 17:57:41 -07:00
Ashwin Mathews bd46a51463 [codex] Add Asana to marketplace (#248)
## Summary
- Register the existing Asana plugin in
`.agents/plugins/marketplace.json`.
- Point the marketplace entry at `./plugins/asana` with the standard
available/on-install policy and Productivity category.

## Validation
- Parsed `.agents/plugins/marketplace.json`,
`plugins/asana/.codex-plugin/plugin.json`, and `plugins/asana/.app.json`
with `jq`.
- Checked the marketplace for duplicate plugin names.
- Verified the appended Asana entry shape with `jq`.
2026-05-15 14:38:15 -07:00
cching-openai b8edb3718a Add Asana plugin (#241) 2026-05-14 09:12:36 -07:00
Eric Ning 0837304461 Flatten Twilio developer kit skills (#243)
Flattens skills for validation purposes, and updates the icon resolution
2026-05-13 18:26:17 -07:00
cching-openai 1b89ff49a9 Add HubSpot CRM workflow skills (#240) 2026-05-13 09:08:52 -07:00
efrazer-oai 7955f1db08 docs(plugin-creator): simplify deeplink shape (#238)
## Summary

Plugin Creator now documents the shorter local-plugin handoff URL that
the app can interpret directly.
[#237](https://github.com/openai/plugins/pull/237) teaches the skill to
end marketplace-backed creation flows with named View and Share links;
this follow-up updates those examples so the skill only emits the
normalized plugin name, the absolute marketplace path, and optional
share mode.

The documented shape is:

```txt
codex://plugins/<normalized-plugin-name>?marketplacePath=<absolute-marketplace-json-path>
codex://plugins/<normalized-plugin-name>?marketplacePath=<absolute-marketplace-json-path>&mode=share
```

The skill text now states exactly where the normalized plugin name
belongs, exactly where the absolute marketplace path belongs, and that
it should not add `pluginName` or `hostId` query parameters.

## Testing

Tests: plugin-creator skill validation.
2026-05-12 17:57:54 -07:00
efrazer-oai 1141b76480 feat(plugin-creator): default to personal marketplace handoff (#237)
## Summary
Plugin creation now defaults to the personal marketplace path that Codex
can render and share directly.

Before this change, the curated `plugin-creator` skill centered
repo-local plugin scaffolds and repo-root marketplace updates. That made
the common personal-plugin path less explicit, and the public skill copy
did not include the final deeplink handoff back into Codex after
marketplace-backed creation.

This PR makes personal plugins the default flow. Marketplace-backed
scaffolds now default to `~/plugins/<plugin-name>` plus
`~/.agents/plugins/marketplace.json`. If the current Git repo already
has `.agents/plugins/marketplace.json` and the user has not said whether
the plugin is personal or team-shared, the skill asks which marketplace
to update. The skill also ends marketplace-backed creation with named
`View <plugin-name>` and `Share <plugin-name>` deeplinks.

## What changed
- default scaffold and marketplace paths to the personal plugin location
- document the explicit repo/team override path for shared codebases
- ask for user intent only in the ambiguous existing-repo-marketplace
case
- add the final named Codex deeplink handoff after marketplace-backed
creation
- refresh the marketplace reference sample to the `policy.installation`
and `policy.authentication` shape

## Design decisions
- Personal plugins are the default because they are the path users can
create, open, and share without first deciding to commit plugin code
into a team repo.
- Existing repo marketplaces are the one ambiguous case worth
interrupting for. They can mean “add this to the codebase” rather than
“make something for me personally.”
- The deeplink labels include the plugin name so the assistant can
present readable links instead of raw `codex://...` URLs.

## Testing
Tests: skill validation, Python compile checks, personal-default
scaffold smoke, repo-override scaffold smoke, and whitespace checks.
2026-05-11 17:59:07 -07:00
kk-oai 768f4e75bc Update life science skills (#231)
## Summary
- refresh stale executable examples for ENCODE, eQTL Catalogue, NCBI
Datasets, PharmGKB, QuickGO, and RNAcentral
- embed NCBI RefSNP coordinate resolution directly in the locus-to-gene
mapper and remove the missing variant-coordinate-finder dependency
- add RefSNP parsing unit tests for coordinate and gene-symbol
extraction

## Tests
- `python
plugins/life-science-research/skills/eqtl-catalogue-skill/scripts/test_rest_request.py`
- `python
plugins/life-science-research/skills/ncbi-blast-skill/scripts/test_ncbi_blast.py`
- `python
plugins/life-science-research/skills/locus-to-gene-mapper-skill/scripts/test_map_locus_to_gene.py`

## Notes
- Local full smoke pass now reports 47 pass, 1 pass_with_limitations,
and 1 docs_only
2026-05-11 15:04:35 -07:00
James Russo b4bfe9e667 Add HeyGen plugin (#198)
## Summary
- restore the HeyGen plugin under plugins/heygen
- add the plugin to .agents/plugins/marketplace.json so it appears in
the public catalog
- wire the plugin through .app.json and update the bundled skill docs to
match the app-backed flow

## Notes
- this is a fresh branch from origin/main, not a continuation of the
prior reverted branch
2026-05-11 13:54:30 -07:00
Max Stoiber 63976030da [apps] merge ChatGPT Apps into OpenAI Developers (#234)
Why: the OpenAI Developers plugin is now the OpenAI-owned Codex plugin
for developer workflows, so ChatGPT Apps guidance should live there
instead of requiring developers to discover and install a separate
ChatGPT Apps plugin.

This merges the ChatGPT Apps build and submission skills into
`plugins/openai-developers`. The OpenAI Developers manifest and README
now describe ChatGPT Apps support alongside OpenAI API keys and Agents
SDK workflows, the plugin declares read/write capability because the
moved submission skill inspects local app code, and the plugin version
is bumped to `1.1.0` for the new workflow surface.

The standalone `chatgpt-apps` plugin is removed from the marketplace and
its skill files are moved under OpenAI Developers, so developers get the
ChatGPT Apps SDK scaffolding and `chatgpt-app-submission.json`
generation flows from one plugin.

I checked the OpenAI Developers node tests and JSON parsing locally. The
README's distribution validation command points at a script path that is
not present in this repository clone, so I could not run that
validation.
2026-05-08 14:37:57 -07:00
Max StoiberandCodex f812c14691 [apps] warn on missing output schemas in submission skill (#229)
## Why

ChatGPT app developers can generate `chatgpt-app-submission.json` even
when their MCP tools omit the optional `outputSchema` field. That should
stay non-blocking, but the generated handoff should still point out
missing output schemas because they give models more structure for using
tool results.

## What changed

The `chatgpt-app-submission` skill now records tools whose descriptors
or source definitions omit `outputSchema` or set it to `null`. The
generated JSON remains unchanged, and the skill reports a concise
final-response warning with the affected tool names and a link to the
MCP tool spec.

The `chatgpt-apps` plugin manifest version is bumped from `0.1.0` to
`0.1.1` because the packaged skill content changed.

Co-authored-by: Codex <noreply@openai.com>
2026-05-07 11:57:17 -07:00
mifan-oai 7b9850e7fc Fix OpenAI Developers display copy (#230)
## Summary
- Add OpenAI skill interface metadata for all OpenAI Developers skills
so UI copy stays concise.
- Set the Agents SDK display name explicitly while keeping the skill ID
as hyphen-case `agents-sdk` for validator compatibility.
- Shorten API troubleshooting and API key skill descriptions for UI
surfaces.

## Tests
- `yq . plugins/openai-developers/skills/agents-sdk/agents/openai.yaml
plugins/openai-developers/skills/openai-api-troubleshooting/agents/openai.yaml
plugins/openai-developers/skills/openai-platform-api-key/agents/openai.yaml`
- `python3
/Users/mifan/.codex/skills/.system/skill-creator/scripts/quick_validate.py
plugins/openai-developers/skills/openai-api-troubleshooting`
- `python3
/Users/mifan/.codex/skills/.system/skill-creator/scripts/quick_validate.py
plugins/openai-developers/skills/openai-platform-api-key`
- `python3
/Users/mifan/.codex/skills/.system/skill-creator/scripts/quick_validate.py
plugins/openai-developers/skills/agents-sdk`
- `oaipkg run cloud_plugins_import plugin validate
/private/tmp/openai-plugins-publication-master/plugins/openai-developers`
- `node --test
plugins/openai-developers/tests/openai-platform-api-key.test.mjs`
2026-05-07 13:30:40 -04:00
mifan-oai f9c120537a [codex] Publish OpenAI Developers plugin (#227)
## Summary

Adds the OpenAI Developers plugin under `plugins/openai-developers` with
its plugin manifest, OpenAI Platform app connector manifest, assets,
skills, helper script, README, tests, and eval references.

Registers `openai-developers` in the curated marketplace manifest so it
can be discovered from the public plugin catalog.

Updates the plugin repository metadata to point at
`https://github.com/openai/plugins/tree/main/plugins/openai-developers`
and keeps the production OpenAI Platform connector id in `.app.json`.

Incorporates the OpenAI Developers pieces from openai/openai#890108 by
adding the Agents SDK lifecycle skill, documenting it in the README, and
updating the plugin metadata for Agents SDK usage.

## Validation

- `jq . .agents/plugins/marketplace.json`
- `jq . plugins/openai-developers/.codex-plugin/plugin.json
plugins/openai-developers/.app.json`
- `python3
/Users/mifan/.codex/skills/.system/skill-creator/scripts/quick_validate.py
plugins/openai-developers/skills/agents-sdk`
- `git diff --check`
- `node --test
plugins/openai-developers/tests/openai-platform-api-key.test.mjs`: 21
passed, 2 skipped because the skipped checks depend on monorepo-only
fixture paths that are not present in `openai/plugins`.
2026-05-06 23:38:59 -04:00
cching-openai 60a90834ee Add Twilio developer kit plugin (#228) 2026-05-06 20:16:20 -07:00
Drew RitterandJesse Vincent cc8b229552 updates obra/superpowers to 5.1.0 (#222)
Co-authored-by: Jesse Vincent <jesse@fsck.com>
2026-05-06 11:17:53 -07:00
mifan-oai 789aa61fe8 Coordinate frontend builder with API key setup (#225)
## Summary

- Coordinate `frontend-app-builder` with other installed skills when an
app needs provider-backed capabilities.
- Clarify that provider setup should not block Image Gen concepting,
static UI work, or design review that does not exercise provider-backed
behavior.
- Require `openai-developers:openai-platform-api-key` for
AI/model-generated output when available, instead of fake keys,
placeholder env vars, or manual API-key setup instructions.
2026-05-06 13:45:54 -04:00
khoi 9d07fd0884 [Codex] Add frontend testing debugging skill (#218) 2026-05-05 20:57:08 -07:00
Ashwin Mathews 82fd64bce3 Supabase skill update (#220) 2026-05-05 12:44:49 -07:00
cching-openai c5debd6234 Update references in Plugins (#217) 2026-05-04 11:28:51 -07:00
Aleksey Smolenchuk 15d07db819 Add Zotero plugin (#201)
Adds Zotero to the Codex official plugin marketplace so customers can
install it from the curated plugin list.

Zotero provides a local-library workflow for searching a user’s Zotero
Desktop library, exporting BibTeX, inserting citation keys, reading
indexed full text, and importing BibTeX/RIS records through the local
Zotero connector server.

The plugin entry is registered in the marketplace catalog with the
Research category and includes the plugin manifest, skill instructions,
local API reference, CLI helper, and icon asset.
2026-05-04 10:28:57 -07:00
Aismit 3c46336323 Revert Salesforce Codex plugin (#212)
Removing Salesforce for now
2026-04-30 15:56:29 -04:00
Aismit f95024a03e Add Salesforce Codex plugin (#210)
## Summary
- add a Salesforce app-only Codex plugin backed by the canonical
Salesforce connector
- add Salesforce to the curated plugin marketplace so it can appear in
the Codex plugins directory
- include a minimal local icon asset

## Testing
- python3 -m json.tool plugins/salesforce/.app.json
- python3 -m json.tool plugins/salesforce/.codex-plugin/plugin.json
- python3 -m json.tool .agents/plugins/marketplace.json
- git diff --check

No secrets added.
2026-04-30 15:12:43 -04:00
Xin Hu 60302735b3 [Codex Security] add codex security local scan plugin (#209)
local codex security plugin for scan, discover and validate security
vulnerabilties
2026-04-30 10:21:07 -07:00
platon-oai 886026e933 [platon-agent] - Route new Google Docs through Documents (#206)
Route new google docs through our custom $Documents plugin when asking
for a google doc
2026-04-29 23:23:22 -07:00
cching-openai 56bcc02edd Round Linear plugin icon corners (#208)
Fix logo
2026-04-29 19:39:31 -07:00
cching-openai dc4f824cc8 Update Figma plugin branding (#207)
Updating Figma icons
2026-04-29 18:46:30 -07:00
Eric Ning 4ce8a86b1a Remove invalid ChatGPT Apps skill (#205)
This skill doesn't exist anymore
2026-04-29 14:41:54 -07:00