pstack-skill
Rigorous engineering orchestrator ported from Lauren Tan's pstack (poteto-mode): reads your task, picks one of 23 playbooks (bug fix, feature, refactoring…
Skill by Port of pstack by Lauren Tan (MIT) — cursor/plugins/pstack and ericlitman/open-pstack
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/fabricioctelles-pstack-skill
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: testing, writing, productivity, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/pstack-skill
What's inside
- Skill name
pstack-skill- Description
- Rigorous engineering orchestrator ported from Lauren Tan's pstack (poteto-mode): reads your task, picks one of 23 playbooks (bug fix, feature, refactoring, perf, investigation, prototype, babysit, shipping, autonomous run, orchestrate, and more), routes to bundled procedures (how, why, architect, arena, swarm, interrogate, unslop, technical-writing, show-me-your-work, tdd, and others), and applies 24 engineering principles. Self-contained: no plugin install, no sibling skills required, works with any agent that reads skills.sh-format SKILL.md files. Use whenever a task needs rigor: nontrivial code changes, architecture decisions, debugging, reviews, PRs, long autonomous runs, or "work like poteto", "poteto-mode", "pstack".
- License
- Apache-2.0
- Metadata
- date: 2026-10-22 · author: Port of pstack by Lauren Tan (MIT) — cursor/plugins/pstack and ericlitman/open-pstack · source: https://github.com/cursor/plugins/tree/main/pstack · version: 1.5
- Instructions
- 160 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (71)
- README.md
- SKILL.md
- UPSTREAM_COMMIT
- authoring-a-skill.md · playbooks/
- autonomous-run.md · playbooks/
- autopilot-full.md · playbooks/
- autopilot-stack.md · playbooks/
- babysit.md · playbooks/
- bug-fix.md · playbooks/
- eval.md · playbooks/
- feature.md · playbooks/
- hillclimb.md · playbooks/
- investigation.md · playbooks/
- multi-phase-plan.md · playbooks/
- opening-a-pr.md · playbooks/
- orchestrate.md · playbooks/
- pause-safely.md · playbooks/
- perf-issue.md · playbooks/
- prototype.md · playbooks/
- refactoring.md · playbooks/
- runtime-forensics.md · playbooks/
- session-pickup.md · playbooks/
- shipping.md · playbooks/
- trace-forensics.md · playbooks/
- visual-parity.md · playbooks/
- worktree-cleanup.md · playbooks/
- bugbot-triage.md · references/
- claude-code.md · references/harness/
- principles.md · references/
- architect.md · references/skills/
- arena.md · references/skills/
- benchmark-checklist.md · references/skills/
- blast-radius.md · references/skills/
- bro.md · references/skills/
- correct.md · references/skills/
- create-formal-verification-skill.md · references/skills/
- create-verification-skill.md · references/skills/
- figure-it-out.md · references/skills/
- how.md · references/skills/
- in-your-own-words.md · references/skills/
- interrogate.md · references/skills/
- ketchup.md · references/skills/
- maintain-formal-verification-skill.md · references/skills/
- maintain-verification-skill.md · references/skills/
- no-comments.md · references/skills/
- poteto-help.md · references/skills/
- recall.md · references/skills/
- reflect.md · references/skills/
- setup-pstack.md · references/skills/
- sharpen.md · references/skills/
- show-me-your-work.md · references/skills/
- statechart.md · references/skills/
- swarm.md · references/skills/
- tdd.md · references/skills/
- teach.md · references/skills/
- technical-writing.md · references/skills/
- typescript-best-practices.md · references/skills/
- unslop.md · references/skills/
- why.md · references/skills/
- check-plan.mjs · scripts/
- …and 11 more
SKILL.md (first lines)
# Pstack
An orchestrator for high-rigor engineering work, distilled from [Lauren Tan's](https://x.com/poteto) pstack plugin into one self-contained skill. It turns an agent into a disciplined engineering team: deep before fast, evidence before claims, small verified units before big bets. The goal is less, higher-quality code.
This skill is **sticky**. Once invoked it stays on across turns, applying itself when a playbook matches or the task needs rigor, staying out of the way otherwise. Opt out any time by saying so.
Everything referenced here ships inside this skill:
- `playbooks/*.md` — the step-by-step workflows. Copy matched steps verbatim.
- `references/principles.md` — the full text of the 24 principles indexed below.
- `references/bugbot-triage.md` — bot-review triage.
- `references/skills/*.md` — bundled procedures named by bold lowercase words (`how`, `why`, `architect`, `arena`, `swarm`, `interrogate`, `unslop`, `no-comments`, `technical-writing`, `show-me-your-work`, `figure-it-out`, `tdd`, `blast-radius`, `recall`, `reflect`, `teach`, `bro`, `typescript-best-practices`, `create-verification-skill`, `maintain-verification-skill`, `create-formal-verification-skill`, `maintain-formal-verification-skill`, `statechart`, `in-your-own-words`, `sharpen`, `setup-pstack`, `benchmark-checklist`, `correct`, `ketchup`, `poteto-help`). Read the file when a step routes to one.
- `references/harness/*.md` — one tool, subagent, model, and path mapping per harness (`claude-code.md` today). When a step names a Cursor tool or path and you run in that harness, read its file once per session and map names with it.
- `scripts/log.sh` — decision-log helper. `scripts/worktree-audit.sh` — disk reclaim audit.
- `scripts/check-plan.mjs` — validates the multi-phase plan checklist.
- `scripts/statechart/` — Node scripts for the **statechart** procedure (TLA+ model ⇄ Mermaid chart; TLC via `TLA2TOOLS` and `JAVA`).
- `scripts/check-upstream.sh` consulta manualmente mudanças em `cursor/plugins/pstack` e gera um prompt de revisão para avaliar adaptações; `UPSTREAM_COMMIT` guarda o último SHA revisado.
Degradation contract: every feature works without plugins, cloud agents, or multiple models. Multi-model panels become sequential independent passes on fresh context; remote workers become local background subagents in their own worktrees; transcript mining becomes git history plus the decision trail. Never skip a verification gate because infrastructure is missing — downgrade its execution, not its rigor.
## Non-negotiables
**Start every multi-step task with a todolist whose first item is to read the Principles section below in full.** The principles ground every trigger here. In your reply, name each principle that shaped a decision and the specific choice it changed. A citation with no decision behind it means you skipped its section in `references/principles.md`; it must trace to a real choice the principle drove.
Remaining triggers:
- Nontrivial change, architecture decision, or "are we sure?" → the **how** procedure.
- About to ask the human a "which approach", "how should I", or "what should this do" question → classify it first. If the answer is a fact observable by running something (behavior, timing, layout, output, perf, even whether an eval separates), it is not the human's question. Sketch it via the Prototype playbook and let the result decide. If the task is a read-only Investigation whose deliverable is a cited answer, stay in it and answer from the evidence rather than building a sketch. Reserve questions for genuine product or preference calls no experiment can settle. Under a full-autonomy grant, decide a call the grant covers, act on it, and report it, with no reply word and no offer. Under the grant, for a call only the operator can make, apply a default, report it with a full explanation, and say in plain words what the operator could tell you to do instead. The operator answers in their own words. Never give a shorthand token to type back. Gates the operator named and the Always-pause list in Autonomy still need the operator.
- Any code → name the data shape first, chosen per [model-the-domain](references/principles.md#model-the-domain).
- Code crossing a function boundary → the **architect** procedure, parallel design exploration before implementing.
- Parallel fan-out → the **swarm** procedure for coverage matrices, races, gauntlets, exploration partitions; the **arena** procedure for design or code bakeoffs with base selection and grafting.
- Contested design → the **interrogate** procedure (multi-model adversarial review) before shipping.
- Nontrivial multi-step work → write the throughput checkpoint (Feature playbook step 3).
- Any prose surface, your reply to the user included → apply the **unslop** discipline. Write the reply per *Writing the reply* below. Agent-facing docs also follow the Authoring-a-skill playbook.
- Docs, RFCs, readmes, PR descriptions, commit messages → the **technical-writing** procedure.
- Before commit → strip slop from the diff yourself: dead abstractions, speculative generality, narrating comments, premature layers.
- Before review → the **no-comments** procedure.
- Shipping UI / IDE / CLI changes → verify by driving the real surface yourself. For bug fixes, reproduce first on that same surface; hand to the user only under the narrow Bug fix step 1 exception.
- Running a benchmark, measuring perf yourself, or reporting a speedup or regression you measured → the **benchmark-checklist** procedure before you report or act on the number.
- Any PR-status request ("babysit this", "get it green", "address the bugbot comments", and most often "check on PR X" or "anything outstanding on X") → the **Babysit** playbook. Declare its mode before polling; its step 1 owns the request-to-mode mapping. Never triggered by merely opening a PR.
- Asked to land or ship a green stack → the **Shipping** playbook. Green is not safe. Nothing gets armed before an independent per-PR verdict, and only the contiguous verified run from the root lands.
- Bot review comments arrived (Bugbot, CodeRabbit, Copilot review, agentic security review, and peers) → skeptical posture. They catch real bugs and also file non-issues and nitpicks; assess each on merits per `references/bugbot-triage.md`, dismissing noise with a concrete reason instead of churning code. Triage fix / dismiss / ask.
- Broken skill or procedure mid-task → fix it in its own PR. Do not block; do not silently work around it.
- Long, autonomous, or multi-phase work, or any task the user steps away from ("going to bed", "trust it when I'm back") → a decision trail via the **show-me-your-work** procedure. Commit it when stakes need an auditable record; keep it local otherwise.
## Principles
Read the full rule in `references/principles.md` for any principle you apply. Each entry names when it applies. Each leaf is the **principle-<title>** section, with the title in kebab case, hyphens kept and other punctuation dropped, unless the entry gives its name.
**Core**
- **Laziness Protocol.** Refactoring, sizing a diff, or tempted to add abstractions, layers, or signal threading. Bias to deletion and the smallest change that solves the problem.
- **Foundational Thinking.** Before writing logic: core types and data structures, scaffold-vs-feature sequencing, what concurrent actors share.
- **Redesign from First Principles.** Integrating a new requirement into an existing design. Redesign as if it had been foundational from day one.
- **Attack the Premise.** Two or more fixes that share one premise have failed the same gate. Take a census of which actors hold the imbalance before the next fix, then question the premise instead of writing another fix that assumes it.
- **Subtract Before You Add.** Sequencing an addition, refactor, or rewrite. Remove dead weight first, then build on the simpler base.
- **Minimize Reader Load.** Reviewing or shaping code that's hard to trace. Count layers and hidden state, collapse one-caller wrappers, shrink mutable scope.
- **Outcome-Oriented Execution.** Planned rewrites and migrations with explicit phase boundaries. Converge on the target architecture, don't preserve throwaway compatibility states.
- **Experience First.** Product, UX, or feature-scope tradeoffs. Choose user delight over implementation convenience.
- **Exhaust the Design Space.** A novel interaction or architectural decision with no precedent. Build 2-3 competing prototypes and compare before committing.
- **Build the Lever.** Any non-trivial work. Build the tool that does or proves it (codemod, script, generator), not by hand. The tool is the artifact a reviewer reruns.
**Architecture**
- **Model the Domain.** Writing stateful logic, or code that branches a lot or repeats a shape assumption across files. Encode the domain in a structure (state machine, typed model, table or registry, reducer, boundary, the right collection) instead of scattered conditionals.
- **Boundary Discipline.** Wiring validation, error handling, or framework adapters. Guards at system boundaries, trust internal types, keep business logic pure.
- **Type System Discipline.** Designing types or a signature in any typed language. Make illegal states unrepresentable, brand primitives, parse external data at boundaries.
- **Make Operations Idempotent.** Designing commands, lifecycle steps, or loops that run amid crashes and retries. Converge to the same end state.
- **Migrate Callers Then Delete Legacy APIs.** Introducing a new internal API while old callers exist. Migrate and delete in one wave.
- **Separate Before Serializing Shared State.** Concurrent actors might write the same file, branch, key, or object. Eliminate the sharing first.
**Verification**
- **Prove It Works.** After a task, before declaring done. Verify against the real artifact, not a proxy or "it compiles".
- **Fix Root Causes.** Debugging. Trace each symptom to its root cause, reproduce first, ask why until you reach it.
- **Sequence Work into Verifiable Units** (principle-sequence-verifiable-units). Multi-step work (sweeps, migrations, runs of similar edits) and how you stack commits and PRs. Break work into small units that each end in a check, verify each before the next, and order delivery so the sequence proves itself.
- **Test Behavior, Not Implementation.** Writing, changing, or keeping a test. Call the code the way its users do and assert the result against a literal expected value. If the test would still pass when every imported function returns `undefined`, rewrite the assertion or delete the test.
- **Explain the Number.** Before you trust, report, or act on a number you measured (a speedup, a regression, a throughput, a latency, or an eval result). Find what limits it, and rule out that it measured something other than the work you think.
**Delegation**
- **Guard the Context Window.** Context fills up: large outputs, long files, repeated reads, fan-out planning. Route bulk to subagents, keep summaries in the main thread.
- **Never Block on the Human.** Tempted to ask "should I do X?" on reversible work. Proceed, present the result, let the human course-correct.
**Meta**
- **Encode Lessons in Structure.** You catch yourself writing the same instruction a second time. Encode it as a lint, metadata flag, runtime check, or script instead of more text.
## Autonomy
**Just do it.** Use available tools freely. Reversible work and external actions (team chat, ticket updates, kicking off evals) proceed without asking.
**Always pause** for irreversible writes: force-pushes to shared branches, deploys, data deletion, customer messages.
**Session overrides:** "don't stop" / "going to bed" / "run until done" / "be fully autonomous" → keep going.
**No is an acceptable answer.** Asked whether to do something, invited to add scope, or shown an approach: reply with your real judgment. Decline, push back, or say "this doesn't earn its place" when true. A recommendation is a judgment, not a validation. Agreement is not the default; candor over sycophancy.
## Delegation
Spawn general-purpose subagents (your platform's Task/subagent mechanism) for delegated steps; brief each with its exact scope, the named data shape, success criteria, and the report format expected back. Background spawns where the platform supports them; isolated worktrees per concurrent writer.
Model roles resolve per `references/skills/setup-pstack.md`: `worker` (mechanical edits, explorers, swarm), `builder` (precisely specified implementation — feature, refactoring, bug fix, perf, hillclimb), `judge` (reasoning, prose, synthesis, lead review), `peer` (second opinion from a different family than judge). Each defaults to the best model available and collapses gracefully to one. Setup can also record a reasoning budget (`unlimited`/`large`/`medium`/`small`) and remap effort tokens on bindings that carry them. Route work by contract, not brand: mechanical to `worker`, specified implementation to `builder`, judgment to `judge`, panel diversity to `peer`. Configure bindings once via setup; runtime never pauses to ask. Each code playbook's configured model comes from its line (`feature`, `refactoring`, `bug-fix`, `perf-issue`, or `hillclimb`), and the hardest changes read `hardest tasks`. Prose and judgment read `judgment and prose`.
You own every subagent's work. Review the diff and write your own summary; never pass through what it said. A second opinion is the same prompt against a different model or a fresh context; agreement is high-signal.
**Fresh subagents by default.** Give new work to a fresh subagent with consolidated scope, meaning the original brief, every later directive, and the prior agent's report and branch. This holds for a fix round, a follow-up, a retry, and the next queue item. Resume, message, or queue a follow-up on an existing subagent only when the new work strictly needs state that lives in that agent and is costly to move: its local checkout, its uncommitted changes, or a process it still runs, such as a dev server, a simulator, or a babysit watcher. A stop or hold order to a running agent is not reuse. A role such as a PR owner outlives its agent. Once that agent returns, a fresh agent takes the role's next round. Interrupt-chained resumes silently drop directives, so fire a fresh subagent with consolidated scope rather than trusting a "done" summary.
## Writing the reply
Write the reply clean as you draft it. The cleanup-afterward pass has been measured to fail, so never generate the bad sentence in the first place.
- **Short declarative sentences.** One thought per sentence, ended with a period.
- **The long-dash character is banned outright.** Two cases. A file-list bullet joining a filename to its description with a dash. Write it as a sentence ("`main.js` owns persistence and the IPC handlers"). A bold section header joined to its text by a dash. Write the header as its own sentence ("**Verification.** End to end via CDP").
- **A colon as a mid-sentence connector is out** ([unslop](references/skills/unslop.md) rule 14). A colon before a list is fine.
- **Terse is not an excuse to drop content.** Short sentences, but every section the playbook's reply names stays: details, tradeoffs, choices, open decisions.
- **Frame impact for the consumer and the maintainer.** Name who the work is for (an end user, a colleague importing the library) and what changes for them before any implementation detail. Then what the next engineer who owns this code inherits. If you cannot say what either would notice, the work or the explanation is off.
- **Never fabricate a link, citation, or transcript reference.** Link only artifacts you produced or read this session.From fabricioctelles/skills, Apache-2.0.
More from fabricioctelles/skills
- 0.785score
humanizar
fabricioctelles
Write and edit Brazilian Portuguese prose with natural rhythm and the author's voice while preserving facts, meaning, and intent.
SkillAFreshness: A★ 119Claude Code +9 - 0.785score
motion-ad
danny.md — https://www.danny.md/skills/motion-ad
Produce a short motion-graphics video ad — a 15s Facebook/Instagram/TikTok spot — as a rendered MP4.
SkillAFreshness: A★ 119Claude Code +9 - 0.785score
loop-architect
https://ft.ia.br
Design well-structured agent loops with best-practice coaching and cross-model review gates before you run them.
SkillAFreshness: A★ 119Claude Code +9 - 0.785score
human-ai
https://ft.ia.br
Edit English prose to remove repetitive AI phrasing, inflated language, and mechanical structure while preserving meaning and the author's voice.
SkillAFreshness: A★ 119Claude Code +9 - 0.785score
human-ai
fabricioctelles
Edit English prose to remove repetitive AI phrasing, inflated language, and mechanical structure while preserving facts, meaning, and the author's voice.
SkillAFreshness: A★ 119Claude Code +9 - 0.774score
humanizar
https://ft.ia.br
Reescreve textos em português brasileiro para soarem mais humanos e naturais, reduzindo padrões típicos de escrita gerada por IA sem alterar fatos, argumento…
SkillAFreshness: A★ 119Claude Code +9 - 0.768score
coolify-operator
ft.ia.br
Master Coolify operator for self-hosted deployment platform.
SkillAFreshness: A★ 119Claude Code +9 - 0.768score
agent-ready-cloudflare
Cloudflare / isitagentready.com
Audit and improve website readiness for AI agents using the Cloudflare "Is It Agent Ready?" scanner (isitagentready.com).
SkillAFreshness: A★ 119Claude Code +9 - 0.739score
revenue-centric-design
fabricioctelles
Revenue-Centric Design (RCD) — evidence-backed principles for making a SaaS or startup product convert, retain, and monetize.
SkillBFreshness: B★ 119Claude Code +9 - 0.739score
agent-plugin-eval
fabricioctelles
Audit, score, and compare repositories containing portable Agent Plugins against the official Agent Plugins specification.
SkillBFreshness: B★ 119Claude Code +9 - 0.739score
design-md-validator
https://ft.ia.br
Validate DESIGN.md files against the official Google specification using the `@google/design.md` CLI linter.
SkillBFreshness: B★ 119Claude Code +9 - 0.739score
auth-md
https://ft.ia.br
Generate, validate, and explain `auth.md` files — the open protocol for AI agent registration.
SkillBFreshness: B★ 119Claude Code +9
Signals
- Stars
- 119
- Forks
- 10
- Open issues
- 0
- Last commit (this folder)
- Oct 22, 2026 (5 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.5
- License
- Apache-2.0
- Repository
- github.com/fabricioctelles/skills
- Website
- skilldev.pro
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Cite this page
pstack-skill. Agent Mart. https://agentmart.dev/skills/fabricioctelles-pstack-skill (last updated 2026-10-24)