An unofficial Codex adaptation of PStack, the engineering skills and playbooks created by Lauren Tan (Poteto). This repository keeps PStack's workflows and principles while mapping Cursor-specific integration to Codex.
PStack's central idea is simple: make fewer changes, verify them against real behavior, and use parallel agents only when their work can be reviewed. $poteto-mode chooses a playbook for the task and calls the other skills as needed.
This is a community adaptation, not an official PStack release from Poteto or Cursor.
Add this repository as a Codex plugin marketplace, then install the plugin:
codex plugin marketplace add aldiz1711/pstack-codex
codex plugin add pstack-codex@pstack-codexStart a new Codex task so it loads the installed skills. On ChatGPT cloud, invoke the skills through their installed packages. A missing named local role uses the same packaged prompt through a supported delegate. Review prefers enforced read-only access. When the launcher cannot provide it, a separate instruction-only no-write session satisfies the review step and reports that limitation explicitly. Review the bundled hook if Codex asks, then trust it if you want PStack to load your model configuration at task and subagent startup. The hook reads ~/.codex/pstack-models.md when that file exists; PStack also has working defaults without it.
Use PStack directly with its inline defaults. $setup-pstack is optional and changes your reasoning budget or models per role. Its default budget remains unlimited (max). Use $poteto-mode on a real task:
$poteto-mode reproduce this bug, fix its root cause, and verify the result in the running app.
See the setup guide for model configuration and pull request review setup. The full guide covers the workflows from investigation through verification and shipping.
This PR is a source candidate. Check out its branch or exact commit before evaluating it. Packaging does not install the candidate or publish a release.
python3 scripts/package-plugin.py
python3 -m unittest discover -s tests
python3 scripts/package-plugin.py --output ../pstack-codex-account.zipPackaging requires Git and Python 3.9 or newer. The account archive contains all 49 skills, 23 playbooks, resources, helpers, roles, hooks, assets, and licenses. It exports tracked source files, excludes private untracked or ignored files, and omits only the local marketplace registration .agents/plugins/marketplace.json. Add intended new source files to the Git index before packaging. Use --source to retain the marketplace registration for local/source distribution. Use the supported private Plugin Creator archive-import route for an account install.
Local model maps and trusted hooks keep their original behavior. Cloud tasks can use the inline defaults without setup, Library, or a local home-directory map. If you explicitly configure cloud roles, setup reports their verified storage or current-task scope. The plugin does not create a cloud startup hook.
Bun helpers require Bun, their locked dependencies, and the original forge access on a real executor. Orchestrate keeps its original Graphite requirement. Missing capabilities do not authorize weaker proof or a different workflow. The candidate validation workflow checks the complete package and original Bun tests/typecheck.
- Routes work through playbooks.
$poteto-modecovers investigation, bug fixes, features, refactoring, performance, PR babysitting, shipping, and longer autonomous runs. It stays active in the task until you opt out. - Uses focused skills and principles.
$how,$why,$architect,$arena,$swarm,$interrogate, and the verification skills can also be called directly. The guide andpoteto-modeskill lead to the full instructions. - Makes review and proof explicit. Agents inspect diffs, check claims against the code, and exercise the real app where the playbook requires it.
$interrogateruns PStack's local review panel. - Lets you configure model roles.
$setup-pstackwrites~/.codex/pstack-models.md. The current defaults use GPT-6.1 Sol for scoped code work and GPT-6 Astra for the hardest judgment and design tasks. Independent reviewers default to the parent model and reasoning effort. Explicit reviewer choices take precedence.
For example:
$how does cancellation flow through this service?
$arena compare several designs for this API boundary.
$interrogate review the current diff.
PStack's playbooks, skill instructions, and engineering principles remain the source of the workflow. The integration points use Codex mechanisms:
| PStack need | Codex mechanism |
|---|---|
| Model choices loaded into agent sessions | $setup-pstack writes a role map; the bundled Codex hook loads it at task and subagent startup. |
| Durable objectives and recurring audits | Codex /goal and scheduled follow-ups. |
| Parallel workers and independent reviewers | Codex subagents and isolated worktrees; review roles prefer enforced read-only access and otherwise use a separate, explicitly labeled instruction-only no-write session. |
| Local code review | $interrogate keeps PStack's review workflow; Codex /review is also available. |
| Automated GitHub PR review | Enable Codex Cloud Code Review separately for the repository. PStack's babysit playbook then triages its review threads. |
Cursor supports a wider mix of model providers. To keep Arena candidates at comparable capability in Codex, the default Arena runs four independent GPT-6.1 Sol candidates at max reasoning. Its separate, read-only judge uses the configured choice or the parent model and effort. $setup-pstack can change this panel. Model diversity is optional. Independent runs of one model can still share blind spots, so reviewers must support their findings with evidence.
Original PStack was created by Lauren Tan and is included under its MIT license. The bundled $control-cli, $control-ui, and $deslop skills come from Cursor Team Kit under its MIT license. The Codex adaptation is covered by this repository's MIT license.