ahmedbenaw/pstack
17 stars · Last commit 2026-09-16
pstack, nativized: Lauren Tan's rigorous engineering-workflow skills (poteto-mode playbooks, 23 principles, review and investigation skills) running natively on Claude Code, Cowork, Codex and ChatGPT. Ported from cursor/plugins.
README preview
# pstack (Claude Code port) This is a Claude-Code port of [`pstack`](https://github.com/cursor/plugins/tree/main/pstack), a plugin originally built for [Cursor](https://cursor.com) by [Lauren Tan](https://x.com/poteto). It is MIT licensed (see `LICENSE`); the copyright and license are unchanged from upstream. pstack is a set of rigorous engineering-workflow skills — `poteto-mode`'s playbooks, the twenty-three principle skills, review and investigation skills (`how`, `why`, `interrogate`, `architect`, `arena`, `swarm`, ...), and the `poteto-agent` / `Comment Sicko` subagents. See `docs/guide/README.md` for the full getting-started guide (also ported from upstream) and the top-level skill/agent files for what each one does. ## Provenance and what changed from upstream This port keeps the methodology, playbooks, and principles content verbatim — that's the valuable part. What changed is the plugin-runtime plumbing that's specific to Cursor: - **`.cursor-plugin/plugin.json` → `.claude-plugin/plugin.json`**, rewritten to Claude Code's flat plugin manifest shape (`name`, `version`, `description`, `author`, `homepage`). - **SKILL.md frontmatter cleanup.** Every `SKILL.md` (skills, references, benny automations) kept only `name` and `description`, which is what Claude Code's skill loader reads. Cursor-runtime-only fields were dropped: `disable-model-invocation`, `icon`, `color`, `paths`. Two fields carried operational meaning worth keeping, so instead of silently dropping them they were folded into a short prose note in the skill body: - `poteto-mode`'s `mode: true` (Cursor's "sticky mode") and its `reminder` field — noted in `skills/poteto-mode/SKILL.md`. - `typescript-best-practices`'s `paths: ["**/*.ts", "**/*.tsx"]` auto-attach glob — noted in `skills/typescript-best-practices/SKILL.md`. - **Agent frontmatter cleanup.** `agents/poteto-agent.md` and `agents/comment-sicko.md` keep `name`/`description`. `poteto-agent`'s `is_background: true` has no Claude Code frontmatter equivalent (backgrounding is a dispatch-time choice, not a per-agent declaration), so it was dropped and replaced with a one-line note in the agent body instead. - **Cursor tool name.** `AskQuestion` (Cursor's structured-question tool) was renamed to Claude Code's `AskUserQuestion` everywhere it's referenced in prose (`poteto-mode`, `automate-me`, `setup-pstack` skills, and the `autonomous-run` playbook). - **`cursor-team-kit` dependencies resolved.** A few skills and playbooks called out to `deslop`, `control-cli`, and `control-ui` from Cursor's separate `cursor-team-kit` plugin. They now point at capabilities this repo actually has: `control-cli`/`control-ui` → `create-verification-skill` and `maintain-verification-skill`, which generate and maintain a project-local skill that drives the real app. `deslop` has no single equivalent — it strips slop from *code*, where this repo's `unslop` handles *prose* — so the outcome is written inline (narrating comments, unsupported guards, dead compatibility paths, unrelated edits), with `principle-subtract-before-you-add` as the rule and Claude Code's `/simplify` as a one-pass accelerator. - Everything else — the `automations/benny` dormant bug-triage pack, `docs/guide/**`, `assets/logo.png`, all playbooks, references, and scripts — was copied over unchanged (only the same SKILL.md frontmatter cleanup applies to `automations/benny/skills/**`). ## Nativization