Skip to content

About

Vendor-agnostic port of pstack by Lauren Tan (poteto) for OpenCode

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pstack-opencode

A vendor-agnostic port of pstack by Lauren Tan (poteto) for OpenCode.

pstack is a set of engineering skills and principles that turn your coding agent into a disciplined engineering team. This port adapts pstack for OpenCode's tool system, removing Cursor-specific dependencies.

What's included

Component Count Description
poteto-mode 1 Main routing skill
principles/ 21 Engineering principle skills
unslop 1 Auto-loading writing cleanup skill

Installation

Option 1: Copy to global skills

cp -r poteto-mode ~/.config/opencode/skills/
cp -r principles ~/.config/opencode/skills/
cp -r unslop ~/.config/opencode/skills/

Option 2: Copy to project skills

mkdir -p .opencode/skills
cp -r poteto-mode .opencode/skills/
cp -r principles .opencode/skills/
cp -r unslop .opencode/skills/

Option 3: Clone and symlink

git clone https://github.com/dsam/pstack-opencode.git ~/.config/opencode/skills/pstack-opencode
ln -s ~/.config/opencode/skills/pstack-opencode/poteto-mode ~/.config/opencode/skills/poteto-mode
ln -s ~/.config/opencode/skills/pstack-opencode/principles ~/.config/opencode/skills/principles
ln -s ~/.config/opencode/skills/pstack-opencode/unslop ~/.config/opencode/skills/unslop

Usage

Auto-loading unslop

The unslop skill has alwaysApply: true, so it should auto-load at session start. If it doesn't, explicitly load it:

skill(name="unslop")

Using poteto-mode

The main routing skill:

skill(name="poteto-mode")

Using individual principles

Each principle is a standalone skill:

skill(name="principle-laziness-protocol")
skill(name="principle-model-the-domain")
skill(name="principle-prove-it-works")

Principles

Core

Principle When to apply
Laziness Protocol Refactoring, sizing diffs, tempted to add abstractions
Foundational Thinking Before writing logic
Redesign from First Principles Integrating new requirements
Subtract Before You Add Sequencing additions or refactors
Minimize Reader Load Reviewing hard-to-trace code
Outcome-Oriented Execution Planned rewrites and migrations
Experience First Product/UX tradeoffs
Exhaust the Design Space Novel decisions with no precedent
Build the Lever Non-trivial work

Architecture

Principle When to apply
Model the Domain Stateful logic, branching code
Boundary Discipline Validation, error handling, adapters
Type System Discipline Designing types or signatures
Make Operations Idempotent Commands, lifecycle steps, retries
Migrate Callers Then Delete Introducing new internal APIs
Separate Before Serializing Concurrent actors on shared state

Verification

Principle When to apply
Prove It Works After completing a task
Fix Root Causes Debugging
Sequence Work into Verifiable Units Multi-step work, stacking commits

Delegation

Principle When to apply
Guard the Context Window Large outputs, long files
Never Block on the Human Reversible decisions

Meta

Principle When to apply
Encode Lessons in Structure Writing same instruction repeatedly

OpenCode mappings

pstack (Cursor) OpenCode
AskQuestion question tool
apply_patch write / edit tools
poteto-agent task(subagent_type="general")
Cursor models OpenCode categories
cursor-team-kit OpenCode built-in skills

Philosophy

pstack's core philosophy translates to any coding agent:

  1. Write less, but higher quality code
  2. Fearless parallelism — trust agents to write good, verifiable code
  3. Rigorous engineering principles — not suggestions, but mandatory workflows
  4. Verified work — prove it works before declaring done

Credits

About

Vendor-agnostic port of pstack by Lauren Tan (poteto) for OpenCode

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors