Portable pstack skill package for Codex and Claude Code.
This ports the Cursor pstack workflow into a portable skill suite:
pstack/SKILL.mdis the entry point.skills/contains the upstream pstack subskills, includingarchitect,arena,how,why,interrogate,reflect,tdd,typescript-best-practices,unslop, and the principle skills.agents/poteto-agent.mdkeeps the upstream agent shape as a portable reference. The installedpstack/agents/poteto-agent.mdcopy travels with thepstackskill.automations/benny/preserves the upstream Benny automation pack and adds a native portable runner for Codex and Claude Code.pstack/references/contains principles, playbooks, delegation, writing, and install guidance.pstack/references/automations.mdmaps Cursor automation concepts to Codex and Claude Code execution.pstack/references/codex-cli.mdcontains direct Codex CLI examples for foreground, background, review, resume, and long-running work.pstack/scripts/spawn-codex-worker.shlets Claude Code launch Codex CLI workers for pstack subagent work.automations/benny/scripts/run.shruns native Benny triage/repro workflows through Codex CLI with durable prompt, output, and JSONL log files.scripts/update-from-upstream.shrefreshes upstream Cursor pstack/Benny source material into this port.install.shinstalls the full suite into Codex, Claude Code, or both.scripts/validate.shruns the repeatable repo validation: upstream skill parity, skill frontmatter validation, shell parse checks, and install smoke tests.
Install locally. In a human terminal this shows Codex and Claude Code as options with both selected by default:
./install.shAutomation:
./install.sh --all --yesInstall only one target:
./install.sh --codex
./install.sh --claudeUse it:
Use $pstack to fix this bug with Codex subagents.
You can also invoke routed subskills directly after install:
Use $architect to design this boundary before implementation.
Use $arena to compare three approaches.
Use $interrogate to pressure-test this diff.
Claude Code should delegate pstack subagent work through Codex CLI workers:
~/.claude/skills/pstack/scripts/spawn-codex-worker.sh --cwd "$PWD" --output ".pstack/workers/worker.md" -- "Task prompt"Run Benny natively after install. The runner is bundled under the installed pstack skill:
~/.codex/skills/pstack/automations/benny/scripts/run.sh triage \
--repo "$PWD" \
--config .cursor/benny/configuration.yaml \
--source-channel C123 \
--message-ts 1712345678.000100 \
--dry-runFor Claude Code, use the same runner from ~/.claude/skills/pstack/automations/benny/scripts/run.sh; it launches Codex CLI instead of Claude subagents.
Update this repo from upstream Cursor pstack source:
scripts/update-from-upstream.shUpdate installed Codex and Claude Code copies from this repo:
./install.sh --updateFrom an installed pstack skill, update itself through the bundled helper:
${CODEX_HOME:-$HOME/.codex}/skills/pstack/scripts/update-self.sh
~/.claude/skills/pstack/scripts/update-self.shSource inspiration: Cursor's MIT-licensed pstack plugin at https://github.com/cursor/plugins/tree/main/pstack.