Skip to content

fix(codex): wait for plugin sync before loading skills#4461

Draft
THEKINGJEZE wants to merge 1 commit into
pingdotgg:mainfrom
THEKINGJEZE:agent/codex-plugin-skill-refresh
Draft

fix(codex): wait for plugin sync before loading skills#4461
THEKINGJEZE wants to merge 1 commit into
pingdotgg:mainfrom
THEKINGJEZE:agent/codex-plugin-skill-refresh

Conversation

@THEKINGJEZE

@THEKINGJEZE THEKINGJEZE commented Jul 24, 2026

Copy link
Copy Markdown

What

  • wait for Codex remote-plugin materialisation before provider skill discovery
  • force a fresh skill scan before starting or resuming a Codex thread
  • cover the request order in provider and session-runtime tests

Why

Codex app-server materialises enabled remote plugins asynchronously after initialisation. T3 read skills/list immediately and cached that incomplete snapshot for both the skill picker and new threads. Remote-plugin materialisation does not emit skills/changed, so affected sessions remained incomplete.

plugin/installed provides a readiness barrier. After it resolves, skills/list with forceReload: true returns the complete installed skill set.

Verification

  • focused provider tests: 3 files, 53 tests passed
  • formatting check passed
  • lint passed with pre-existing unrelated warnings only
  • server typecheck passed with pre-existing suggestions only
  • production build passed
  • isolated macOS app: full quit/reopen, 14/14 Superpowers 6.1.1 skills visible in the $ picker
  • fresh thread injected the complete bodies and exact installed paths for:
    • superpowers:systematic-debugging
    • superpowers:test-driven-development
    • superpowers:writing-plans
    • superpowers:verification-before-completion

The / picker remains the built-in command picker; skills are intentionally discovered through $.

Note

Wait for plugin sync before loading skills in Codex provider and session runtime

  • Adds refreshCodexSkillsAfterPluginSync in CodexProvider.ts, which first awaits plugin/installed and then requests skills/list with forceReload=true.
  • Updates probeCodexAppServerProvider to use this utility instead of calling skills/list directly.
  • Updates openCodexThread in CodexSessionRuntime.ts to run the plugin sync + skills reload step before starting or resuming a thread.
  • Behavioral Change: skills are now always fetched after plugin inventory is confirmed, adding two sequential RPCs (plugin/installed then skills/list) to both the probe and thread-open paths.

Macroscope summarized 6364b63.

@coderabbitai

coderabbitai Bot commented Jul 24, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 248e6095-d598-4ef0-8482-9d09fe67b0e2

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels Jul 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M 30-99 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant