feat(pstack): add native Codex package - #285
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 3 potential issues.
Bugbot Autofix is ON, but it could not run because the branch was deleted or merged before autofix could start.
Reviewed by Cursor Bugbot for commit 4c40810. Configure here.
|
|
||
| Findings must point to skills, tools, or MCPs invoked in this transcript. Speculative routings to skills the parent never opened do not count. To check whether a skill was used, scan the transcript for: | ||
|
|
||
| - File reads against a `SKILL.md` in the project's Codex skill root, `${CODEX_HOME:-~/.codex}/skills/`, or a plugin-provided skill path |
There was a problem hiding this comment.
Reflect misses personal skill path
Medium Severity · Bugbot Rules
Reflect reviewers detect used skills by scanning the project Codex skill root, ${CODEX_HOME:-~/.codex}/skills/, and a plugin path. That set omits personal ~/.agents/skills/, the Codex mapping for ~/.cursor/skills/. Sessions that only loaded a personal skill can be dropped as unused, so approved learnings never route.
Additional Locations (2)
Triggered by learned rule: Skill detection must cover all installation paths
Reviewed by Cursor Bugbot for commit 4c40810. Configure here.
| "interface:", | ||
| f" display_name: {json.dumps(_display_name(name))}", | ||
| f" short_description: {json.dumps(_short_description(description))}", | ||
| f" default_prompt: {json.dumps(f'Use ${name} for this task.')}", |
There was a problem hiding this comment.
Metadata generator drops skill namespace
Medium Severity · Logic Bug
sync_skill_metadata.py writes default_prompt as Use $name instead of Use $pstack:name. Checked-in agents/openai.yaml files already use the namespaced form, so rerunning the generator during a re-port overwrites working prompts with invocations Codex will not resolve to this plugin.
Reviewed by Cursor Bugbot for commit 4c40810. Configure here.
|
|
||
| Opt in to a checkpoint when the invoker explicitly asks: "/architect with checkpoint," "stop and show me before implementing," or similar. Then surface the synthesized design and pause for sign-off. | ||
|
|
||
| The synthesis can ship as its own commit either way. That's the "scaffold first" mode of the **foundational-thinking** principle skill; subsequent commits read as filling in bodies against a stable contract. Planned and scoped breakage during fill-in is fine, per the **outcome-oriented-execution** principle skill. For adversarial pressure on the design before implementing, run the **interrogate** skill on the synthesized sketch. |
There was a problem hiding this comment.
Architect omits namespaced skill calls
Medium Severity · Logic Bug
Architect still tells the agent to run **how**, **why**, **arena**, and **interrogate**, and to opt into a checkpoint with /architect with checkpoint. Arena and interrogate are explicit-only, so those un-namespaced references can fail to load. Phase B then skips competing sketches and the checkpoint phrase does not match $pstack:architect.
Reviewed by Cursor Bugbot for commit 4c40810. Configure here.


Summary
pstack/codex/without changing the existingCursor package
references, tools, tests, guide pages, and optional Benny workflows
child at
xhighreasoning effortwith supported Codex skills, agents, hooks, thread APIs, and scheduling
boundaries
attribution, and update procedure
Codex package boundary
The existing
pstack/Cursor implementation remains authoritative andunchanged; its README only gains a pointer to the new package.
pstack/codex/is a standalone Codex plugin root with its own manifest,skills, lifecycle hook, documentation, and validation tooling.
The core workflows are skills-only. The six custom-agent TOML profiles are
optional companion configuration because Codex plugins do not currently
distribute personal custom-agent profiles as a manifest component. Each skill
also carries direct spawn-time routing so the workflows do not depend on those
profiles being installed.
Compatibility decisions
$pstack:skill-name.bounded follow-up operations.
explicit opt-out and bounded state lifetime.
explicitly when transcript context is unavailable.
execution or a generic Codex automation webhook.
action authority; workers never accept their own output.
The full migration matrix and product limits are documented in
pstack/codex/CODEX-COMPATIBILITY.md.Validation
Automated validation completed against upstream commit
397c8660da6d3d873a91e18c2ca2f22cac1f0ac1:validate_port.py: 48 skills, 42 explicit-only policies, six companionagents, hooks, manifest, and 157 mapped upstream files
git diff --check: passManual local validation covered personal-marketplace installation, hook trust,
direct and explicit-only skill resolution, native delegation and model routing,
Poteto Mode activation and opt-out, referenced resources, clean-start behavior,
and documented failure/degradation paths.
Known limits
$pstack:*invocation remains available.authenticated integration and are not claimed by this port.
Note
Low Risk
Additive dual-target packaging and agent workflow assets; the existing Cursor plugin is unchanged aside from README cross-links.
Overview
Adds a standalone Codex plugin under
pstack/codex/while leaving the Cursorpstack/tree intact; the root README only gains install/setup pointers to that package.The new tree ships a
.codex-pluginmanifest, 48 ported skills (withagents/openai.yamlmetadata and explicit-only policies where Cursor useddisable-model-invocation), 23 Poteto Mode playbooks, guides, TypeScript tooling/tests, and optional Benny cron-oriented automation docs/templates. Cursor concepts are remapped to Codex:$pstack:skill-nameinvocation, native subagent spawn/wait at fixed Spark/Luna/Terra/Sol +xhigh,.agents/skillspaths, and thread APIs instead of Cursor transcripts/tasks.Optional companion custom-agent TOML profiles and an
AGENTS.mdrouting fragment install via$pstack:setup-pstack(not bundled as manifest components). A session-scoped lifecycle hook (hooks/poteto_mode.py) persists explicit Poteto Mode activation across resume/compaction with opt-out and TTL.Packaging/ops artifacts include
UPSTREAM.lock.json,PORT-MAP.json,CODEX-COMPATIBILITY.md, and scripts to generate/sync metadata and validate the port (skill counts, forbidden Cursor tokens, link integrity, mapped upstream files).Reviewed by Cursor Bugbot for commit 4c40810. Bugbot is set up for automated code reviews on this repo. Configure here.