michael-denyer/pstack-claude

▲ 2,941 stars today★ 3,640⑂ 336

Claude Code, Codex, Copilot, Pi, OpenCode, Muse, Gemini, and Prime Agent versions of Poteto's pstack. Rigorous agent workflows with Cursor primitives translated for other harnesses.

About michael-denyer/pstack-claude

michael-denyer/pstack-claude is an open-source project on GitHub, mainly written in TypeScript. Claude Code, Codex, Copilot, Pi, OpenCode, Muse, Gemini, and Prime Agent versions of Poteto's pstack. It currently holds 3,640 stars and 336 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).

Project Overview

Git Homed tracks it on the Today's Trending board.

GitHub Repository Details

Repository michael-denyer/pstack-claude · default branch - · size 0 KB · watchers 0 · source: GitHub REST API and repository README

README

pstack

Buy Me A Coffee

Lauren Tan's pstack is an opinionated Cursor skill stack that improves agent outcomes. This is a port for Claude Code, Codex, Pi, GitHub Copilot, Muse, and other agent harnesses. It tracks upstream and also carries named policy forks, each declared in tools/forks.json.

Tell poteto-mode your goal and it will invoke the correct workflow for the task. It keeps your code concise, simple and verified.

For concurrency bugs and invariants that tests cannot reach, /create-formal-verification-skill picks the riskiest property in your code, verifies it with a tool that fits, and leaves a project skill the next agent reruns. The separate agent-formal-verify plugin goes deeper on the method, with guided TLA+ model checking, Lean proofs, and Kani for Rust.

Built for Claude Code

This port translates upstream's Cursor skills for Claude Code before installation. Upstream's Claude Code install asks agents to translate Cursor names at runtime, using extra tokens and relying on them to apply the mapping correctly. This port also adds a SessionStart hook that routes tasks to poteto-mode.

Install

Claude Code

Run in Claude Code 2.1.292 or later:

/plugin marketplace add michael-denyer/pstack-claude
/plugin install pstack@pstack-claude

Claude Code leaves auto-update off for third-party marketplaces, so pstack stays on the version you installed. To turn it on, run /plugin, open the Marketplaces tab, select pstack-claude, and choose Enable auto-update. To update once by hand, run claude plugin update pstack@pstack-claude.

Codex

Run in your terminal:

codex plugin marketplace add michael-denyer/pstack-claude
codex plugin add pstack@pstack-claude

Pi

Run in your terminal:

pi install git:github.com/michael-denyer/pstack-claude

The package loads the skills and the pstack Pi extension, which adds the subagent, question, and wake-up tools the skills use, plus /loop and the routing instruction. Invoke a skill with /skill:.

GitHub Copilot

Run in your terminal:

copilot plugin marketplace add michael-denyer/pstack-claude
copilot plugin install pstack@pstack-claude

This installs pstack for the Copilot CLI and the GitHub Copilot app, which share ~/.copilot. Start a new session afterwards. Copilot ships no default pstack models, so the first skill that needs one runs setup-pstack to pick from the models your account lists, and later sessions reuse that choice.

The Copilot build is tested on Copilot CLI 1.0.87 through 1.0.92. On those versions the routing hook's context reaches the session alongside other plugins' session-start context. If a later version keeps only one plugin's context, setup-pstack offers a standing instruction for ~/.copilot/copilot-instructions.md instead. On 1.0.92, once the CLI caches its computer-use experiment assignment, copilot -p sessions list no plugin skills and a skill call returns "Skill not found". Interactive sessions, the hooks, and the agents are unaffected.

Muse

Run in your terminal:

git clone https://github.com/michael-denyer/pstack-claude
cd pstack-claude
muse plugins install ./plugins/pstack
muse plugins approve pstack

The first command installs the native Muse plugin bundle. The second approves its SessionStart hook and agent definitions, which Muse runs only after approval. Start a new session afterwards. Invoke a skill with / (for example /poteto-mode), which Muse lists for each user-invocable skill.

Other harnesses

OpenCode (the CLI and the desktop app), Gemini CLI, Prime Agent, and skills-only Codex installs read skills from ~/.agents/skills/. Run in your terminal:

git clone https://github.com/michael-denyer/pstack-claude
cd pstack-claude
mkdir -p ~/.agents/skills
for s in plugins/pstack/skills/*/; do
  target=~/.agents/skills/"$(basename "$s")"
  test -e "$target" || test -L "$target" || ln -s "$(pwd)/$s" "$target"
done

To update, run git pull in the clone, then run the for loop again to link skills added since the last run. These installs have no routing hook, so ask for poteto-mode by name or add a standing instruction to the harness's instruction file. See shared installation for per-harness notes and uninstalling.

Configure

pstack routes tasks to poteto-mode automatically. At session start, a hook injects an instruction that points the agent at it: the plugin's hook on Claude Code, Codex, GitHub Copilot, and Muse, and the pstack extension on Pi. Codex runs the hook only after you trust it through /hooks, and Muse only after muse plugins approve pstack. Other harnesses have no hook.

Run setup-pstack to turn automatic routing on or off, change model defaults, or set a reasoning effort per role (arena runners: opus @xhigh, fable @max).

Getting started

Use poteto-mode to fix the search filter resetting when I change pages.

For a bug, it reproduces the failure, uses how and why to investigate, delegates the fix, then reruns the failing case. If the fix crosses a function boundary, it brings in architect before implementation. You receive the fix and the failing and passing evidence.

Other playbooks cover planning, features, refactoring, performance issues, investigations, prototypes, PR maintenance, shipping, and longer projects.

poteto-mode on Claude Code, Codex, and Pi turns a request into verified work. Choose a playbook, plan and delegate with architect, arena, or swarm, then review and verify with interrogate, tests, and measurements. Project playbooks customize the workflow, and setup-pstack configures the model and reasoning effort per role. Supporting skills include how, why, and unslop.

Details

Data handling

pstack has no server or telemetry. Anything its skills ask your agent to read, including session transcripts, goes to your model provider. Scripts run locally, and PR tools use your GitHub CLI login.

Contributing

Thanks for helping make this port better. Bug reports, documentation fixes, and runtime improvements are welcome. See CONTRIBUTING.md for the checks and where your change belongs. Report vulnerabilities privately as described in SECURITY.md.

To support maintenance of this port, buy the maintainer a coffee.

License

This port, including its modifications and additions, is also MIT-licensed, © 2026 Michael Denyer. Original pstack © 2026 Lauren Tan; imported cursor-team-kit and thermos skills © 2026 Cursor. See LICENSE-cursor-team-kit, LICENSE-thermos, and NOTICE.md.

GitHub Stars & Activity

3,640Stars
336Forks
0Open issues
TypeScriptLanguage

GitHub Popularity

GitHub stars3,640
Forks336
Open issues0
Primary languageTypeScript
License-
Stars gained today2,941
Created-
Last pushed-

Trending History

Monthly boardrank #73 · ▲ 2,941 stars

Related GitHub Projects

1

openclaw / openclaw

TypeScript★ 393,424⑂ 82,694▲ 149 stars
→
2

n8n-io / n8n

TypeScript★ 209,100⑂ 61,315▲ 154 stars
→
3

thedotmack / claude-mem

TypeScript★ 105,265⑂ 9,275▲ 336 stars
→
4

KeygraphHQ / shannon

TypeScript★ 50,497⑂ 5,811▲ 334 stars
→
5

Crosstalk-Solutions / project-nomad

TypeScript★ 41,318⑂ 4,194▲ 112 stars
→
6

lfnovo / open-notebook

TypeScript★ 40,972⑂ 4,706▲ 220 stars
→
7

AdguardTeam / AdGuardHome

TypeScript★ 37,932⑂ 2,578▲ 107 stars
→
8

pingdotgg / t3code

TypeScript★ 32,231⑂ 8,553▲ 920 stars
→

More Trending Repositories