Claude Code, Codex, OpenCode, Gemini, and Prime Agent versions of Poteto's pstack. Rigorous agent workflows with Cursor primitives translated to other agents.
# Add to your Claude Code skills
git clone https://github.com/michael-denyer/pstack-claudeGuides for using ai agents skills like pstack-claude.
Last scanned: 9/17/2026
{
"issues": [
{
"file": "plugins/pstack/skills/automate-me/SKILL.md",
"line": 70,
"type": "dangerous-command",
"message": "Dangerous command (writes to Claude config): \">-mode/SKILL.md` in the project (or `~/.claude/\"",
"severity": "medium"
}
],
"status": "PASSED",
"scannedAt": "2026-09-17T09:13:48.779Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how pstack-claude compares with popular alternatives.
pstack-claude is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by michael-denyer. Claude Code, Codex, OpenCode, Gemini, and Prime Agent versions of Poteto's pstack. Rigorous agent workflows with Cursor primitives translated to other agents. It has 442 GitHub stars.
Yes. pstack-claude passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/michael-denyer/pstack-claude" and add it to your Claude Code skills directory (see the Installation section above).
pstack-claude is primarily written in TypeScript. It is open-source under michael-denyer on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh pstack-claude against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
Agent workflows for understanding a codebase, designing changes, testing fixes, and preparing pull requests. Start with poteto-mode to choose a workflow for your task, or invoke a specific skill when you know what you need.
This repository ports Lauren Tan's pstack from Cursor to Claude Code and shares its skills with Codex, Prime Agent, opencode, and Gemini CLI. The skill tree is synced against upstream e8d856f. It also includes seven skills from cursor-team-kit and a standalone babysit skill.
Follow the installation instructions for your runtime below.
Open the repository you want to work on.
Ask your agent to use a skill with a concrete task:
Use poteto-mode to add pagination to the search results.
For a narrower task, name the skill directly:
Use how to explain the request path from the API handler to the database.
Use tdd to reproduce this failing case, then fix it.
Use interrogate to review my diff for bugs and missing cases.
Use make-pr-easy-to-review to tidy this PR's history and description.
On Claude Code, use /pstack:poteto-mode or another /pstack:<skill> command. On Codex, select the discovered skill, such as pstack:poteto-mode, or request it by name. The optional Codex shortcuts described below provide /poteto-mode, /tdd, and the other short command names.
Add the marketplace and install the plugin:
/plugin marketplace add michael-denyer/pstack-claude
/plugin install pstack@pstack-claude
The plugin's SessionStart hook loads a short instruction on startup, /clear, and after compaction. It directs non-trivial engineering tasks to poteto-mode; the full skill loads when invoked. Explicit user instructions take precedence, and dispatched subagents ignore the startup instruction.
To disable automatic routing, delete hooks/hooks.json from the installed plugin at ~/.claude/plugins/cache/pstack-claude/pstack/<version>/. A plugin update restores that file.
The repository's shared installation uses ~/.agents/skills/. Clone the repository and link each skill:
git clone https://github.com/michael-denyer/pstack-claude
cd pstack-claude
mkdir -p ~/.agents/skills
for s in plugins/pstack/skills/*/; do
ln -s "$PWD/$s" ~/.agents/skills/"$(basename "$s")"
done
This links 54 skill directories. 31 are public workflows; the 23 principle-* directories provide guidance that poteto-mode reads. Keep all of them installed, even if your runtime shows the principles in its skill picker.
The commands leave existing destinations intact. If a name already exists, inspect it before replacing it. Keep the clone in place while its links are installed. To update linked skills, pull changes in that clone. To uninstall a linked skill, remove its link at ~/.agents/skills/<name>; that removes it from every runtime using the shared directory.
For an installation without maintaining a clone, the repository also supports the skills CLI:
npx skills add https://github.com/michael-denyer/pstack-claude/tree/main/plugins/pstack/skills --skill "*" --agent "*" --yes
A skills-only installation includes the skills, their scripts, reference copies of the agents, and license notices. Runtime-specific plugin files are separate: Claude Code's startup hook and native agent registration, and Codex's command shortcuts.
After the shared installation, request pstack:poteto-mode in your project. The repository records successful skill discovery through these symlinks in a live Codex session.
The port's documented configuration for parallel subagents is:
[features]
multi_agent = true
Merge this setting into ~/.codex/config.toml if your configuration needs it. Skills such as arena, interrogate, and architect use parallel agents. The port provides a sequential fallback when subagents are unavailable.
For optional slash-command shortcuts, run this from the repository root:
mkdir -p ~/.codex/prompts
for c in plugins/pstack/.codex-plugin/prompts/*.md; do
ln -s "$PWD/$c" ~/.codex/prompts/"$(basename "$c")"
done
Each shortcut invokes its corresponding skill. Remove a shortcut by deleting its link at ~/.codex/prompts/<name>.md. The repository also contains a Codex marketplace manifest at .agents/plugins/marketplace.json; the symlink installation is the path recorded as verified here.
The shared skill bodies retain Claude tool and model names. The Codex mapping explains their Codex equivalents, including agent dispatch, model selection, and project verification. For automatic routing on Codex, add a standing instruction to use poteto-mode in your AGENTS.md.
Use the shared installation above, then request poteto-mode by name.
| Runtime | Installation notes | Verification recorded in this repository |
|---|---|---|
| Prime Agent | Uses the shared skills directory. Choose tools and models through Prime's configuration. | Discovery follows published documentation; no live session recorded. |
| opencode | Uses the shared skills directory. Configure agents, commands, and permissions in opencode.json. Its picker also lists the principle skills. |
Discovery and reading a linked skill verified on opencode 1.18.25. |
| Gemini CLI | Uses the shared skills compatibility directory. Run /skills list to check discovery and /skills reload after changes. |
Discovery follows published documentation; no live session recorded. |
These verification notes describe prior checks, not a guarantee that every workflow runs on every runtime. Delegation and multi-model workflows remain unverified on Prime Agent, opencode, and Gemini CLI. Those runtimes must translate Claude-specific tool, model, and configuration names themselves. Request poteto-mode explicitly; the startup hook ships with the Claude Code plugin only.
Use setup-pstack to choose models for each role. Defaults live in models.json. The Claude Code override sheet is ~/.claude/pstack-models.md; on Codex it is ~/.codex/pstack-models.md, whose contents belong in ~/.codex/AGENTS.md. Use distinct available models for panels that compare independent designs or reviews.
Install dependencies for the workflows you plan to use:
| Dependency | When you need it |
|---|---|
GitHub CLI, gh |
PR monitoring and shipping. Authenticate with gh auth login. |
| Bun | The bundled watch-pr and orch scripts. Their bootstrap installs script dependencies on first run. |
Graphite CLI, gt |
The Orchestrate playbook and the orch stack frontier. Shipping and autopilot playbooks use plain gh or Origin's CLI when available. |
jq and rg |
Complete PR and transcript columns in worktree-audit.sh. Missing tools produce warnings and blank columns. |
plugin-dev |
Claude Code skill-authoring routes used by automate-me, reflect, and poteto-mode. |
To install the Claude Code skill-authoring companion:
/plugin marketplace add anthropics/claude-plugins-official
/plugin install plugin-dev@claude-plugins-official
Without it, skill-authoring routes lose their companion guidance. Other workflows remain available. On Codex, use the skill-authoring equivalent described in the Codex mapping.
Playbooks use the runtime's task-tracking tools, with an uncommitted todo.md fallback. For Claude Code task tools, the repository documents CLAUDE_CODE_ENABLE_TODO_TOOLS=1; see poteto-mode's platform adaptation.
App verification follows the driver policy. Use create-verification-skill to record how to drive and verify your project.
The table uses short skill names. Claude Code exposes them as /pstack:<name>; Codex's optional prompt links provide /name. Other runtimes can invoke skills by name.
| command | use it when |
|---|---|
/poteto-mode |
default entry point for any non-trivial task |
/how |
walk through how a subsystem works |
/why |
investigate why something was built this way (parallel multi-MCP evidence) |
/architect |
settle types and module shape before writing code that crosses a function boundary |
/arena |
run N parallel attempts at the same task and pick the best parts |
/interrogate |
have three different models try to break a diff |
/automate-me |
draft your own personal -mode skill from recent transcripts |
/reflect |
capture a long task's lessons as a skill edit |
/tdd |
fix a bug by writing the failing test first, then the fix |
/typescript-best-practices |
ground type-system discipline in TypeScript syntax |
/teach |
explain a subsystem plainly by composing how + why |
/swarm |
fan out N parallel workers across slices or races, then return one aggregated report |
/technical-writing |
write docs, RFCs, readmes, PR descriptions, and commit messages to one layered standard |
/bro |
restate the last message in plain human language, no jargon |
/figure-it-out |
design a rigorous, auditable playbook for a task no bundled playbook fits |
/show-me-your-work |
log decisions to a reviewable tsv decision trail |
/blast-radius |
find what a change could break beyond the diff and prove safety by running code |
/recall |
catch up on recent working context from chat history, live state, and the shared record |
/setup-pstack |
configure pstack per-role model choices |
/unslop |
clean up writing by removing AI tells |
/no-comments |
strip comments before review, fix the accepted findings, encode claimed constraints |
| `/create-ver |