Skip to content

raka334/pstack

v0.1.0MIT

Portable engineering workflows, reusable skills, and principles for coding agents.

architect

Settle types, signatures, and module structure before code crosses a function boundary. Use for architect, design-this requests, or non-trivial changes where implementation would lock in the wrong shape.

arena

Run parallel agent attempts at the same task, choose a base, graft the strongest ideas from the others, and verify the synthesis. Use when the host supports delegation and the artifact has competing approaches.

automate-me

Create or improve a personal work-style skill from preferences and evidence in the current conversation or records the user supplies. Use for automate-me and requests to capture how the user works.

benchmark-checklist

Vet a perf measurement (limiter, tuning, limits, errors, repeatability, relevance, and whether the work happened) before you report or act on it. Use when you run a benchmark or report a speedup or regression you measured.

blast-radius

Find what a change could break somewhere else before it ships, beyond the diff, and prove the one fact it's safe because of by running real code instead of writing it up. Use for 'blast radius of X', 'what could this break', or reviewing a small diff you don't trust.

bro

Restate the last message in plain human language, with no jargon.

correct

Find the mistakes agents keep repeating in this repo and make each one impossible. Try architecture first, then types, then a lint whose error names the fix, then a test, and write docs last. Prove each check fails on a real past mistake. Repeat this each time the operator corrects you. Use for correct.

create-verification-skill

Generate a project-local verification skill that drives your app the way a user does — any language, framework, or platform. Use for create-verification-skill, "make a control skill for this repo", or when a project has no scripted way to prove UI/CLI/service behavior.

figure-it-out

Design an auditable playbook when no narrower one fits: a large migration, an ambitious multi-part change, or work a human reviews after stepping away. Scales rigor to the task, runs a hypothesis loop, and logs decisions via show-me-your-work. Use for figure-it-out, 'figure it out', a large migration, or when no narrower playbook applies.

how

Explain how a subsystem works, trace runtime flow, or identify package ownership and layering. Use for how-does-it-work questions and code walkthroughs before a change.

interrogate

Adversarially review a diff for correctness, security, regressions, and missing coverage. Use for interrogate, multi-agent review, challenge-this, or requests to find blind spots.

maintain-verification-skill

Periodic pass that keeps a project's verification skill and feature map honest: parallel source readers per feature, one live session driving every feature, at most one PR of proven corrections. Use for maintain-verification-skill or "audit the verify skill".

no-comments

Review scoped code for comments and suppressions that obscure behavior, then fix accepted findings within scope. Use for no-comments or before reviewing a change.

poteto-help

Help a user install and use pstack for Everyone or choose a skill, playbook, or principle. Use for pstack questions. For requests to do work, use poteto-mode and do the work.

poteto-mode

Rigorous engineering workflow for concise communication, deliberate delegation, simple code, and verified results. Use when the user asks for poteto mode or a non-trivial engineering task needs a playbook.

principle-attack-the-premise

Apply when 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.

principle-boundary-discipline

Apply when wiring validation, error handling, or framework adapters. Concentrate guards at system boundaries (CLI, config, network, external APIs); trust internal types and keep business logic in pure functions.

principle-build-the-lever

Apply to any non-trivial work, not just bulk work: edits, migrations, analyses, checks. Build the tool that does it or proves it (codemod, script, generator, or a skill your subagents follow) instead of working by hand. The tool is the artifact a reviewer can rerun.

principle-encode-lessons-in-structure

Apply when you catch yourself writing the same instruction a second time, or notice a recurring correction. Encode the rule as a lint, metadata flag, runtime check, or script instead of more text.

principle-exhaust-the-design-space

Apply when facing a novel UI interaction or architectural decision with no precedent in the codebase. Build 2-3 competing prototypes and compare side by side before committing.

principle-experience-first

Apply when product, UX, or feature-scope tradeoffs come up. Choose user delight over implementation convenience; ship fewer polished features over more rough ones.

principle-explain-the-number

Apply 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.

principle-fix-root-causes

Apply when debugging. Trace each symptom to its root cause and fix it there; reproduce first, ask why until you reach it, resist nil-check guards that silence crashes.

principle-foundational-thinking

Apply before writing logic: choosing core types and data structures, sequencing scaffold-vs-feature work, asking what concurrent actors share. Get the data structures right so downstream code becomes obvious.

principle-guard-the-context-window

Apply when context is filling up: large outputs, long files, repeated reads, fan-out planning. Route bulk to subagents; keep summaries in the main thread, not raw payloads.

principle-laziness-protocol

Apply when refactoring, evaluating diff size, or tempted to add abstractions, layers, or signal threading. Bias toward deletion and the smallest change that solves the problem.

principle-make-operations-idempotent

Apply when designing commands, lifecycle steps, or processing loops that run amid crashes, restarts, and retries. Converge to the same end state regardless of partial prior runs.

principle-migrate-callers-then-delete-legacy-apis

Apply when introducing a new internal API while old callers still exist. Migrate callers and delete the old API in the same wave instead of preserving compatibility layers.

principle-minimize-reader-load

Apply when reviewing or shaping code that's hard to trace. Count layers between question and answer, and hidden state in the reader's head; collapse one-caller wrappers and shrink mutable scope.

principle-model-the-domain

Apply when writing stateful logic, or when code branches a lot or repeats a shape assumption across files. Encode the domain in a structure instead of scattered conditionals.

principle-never-block-on-the-human

Apply when tempted to ask 'should I do X?' on reversible work. Proceed, present the result, let the human course-correct after the fact; reserve confirmation for irreversible actions.

principle-outcome-oriented-execution

Apply during planned rewrites and migrations with explicit phase boundaries. Converge on the target architecture; don't preserve smooth intermediate states with throwaway compatibility code.

principle-prove-it-works

Apply after completing a task, before declaring done. Verify against the real artifact (run the feature, read the actual value, inspect the diff), not a proxy, self-report, or 'it compiles.'

principle-redesign-from-first-principles

Apply when integrating a new requirement into an existing design. Redesign as if the requirement had been a foundational assumption from day one, instead of bolting it on.

principle-separate-before-serializing-shared-state

Apply when concurrent actors might write to the same file, branch, key, or state object. Eliminate the sharing first; serialize structurally only when one shared writer is a real invariant.

principle-sequence-verifiable-units

Apply to multi-step work (sweeps, migrations, runs of similar edits) and to how you stack commits and PRs. Break work into small units that each end in a verifiable state, check each before the next, and order delivery so the sequence proves itself to a reviewer.

principle-subtract-before-you-add

Apply when sequencing an addition, refactor, or rewrite. Remove dead code, redundant validators, and stub references first, then build on the simpler base.

principle-test-behavior-not-implementation

Apply when you write, change, or keep a test. Call the code the way its users do and assert the result they observe against a literal expected value. If the test would still pass when every imported function returns undefined, rewrite the assertion or delete the test.

principle-type-system-discipline

Apply when designing types, reviewing a function signature, or writing code in any statically-typed language. Make illegal states unrepresentable, brand semantic primitives, parse external data at boundaries, refuse to lie to the compiler, exhaust variants, derive from authoritative schemas.

recall

Rebuild recent working context on a topic from the current conversation and user-provided records. Use for catch-me-up, where-did-I-leave-off, or before resuming a task.

reflect

Review a completed task or supplied transcript for reusable lessons, then route each lesson to a concrete skill edit. Use when the user asks to reflect on the work.

setup-pstack

Install pstack's optional Codex agent profile templates in project or personal configuration. Use only when configuring pstack agent profiles in Codex.

show-me-your-work

Keep a reviewable decision trail for long-running or unattended work: a TSV log with one row per decision (what, why, evidence, result). Local by default; commit it when a reviewer needs the trail to trust the result. Use for show-me-your-work, autonomous or multi-phase runs, or work a human reviews after stepping away.

swarm

Coordinate agents across independent slices, repeated attempts, or coverage checks, then return one evidence-based report. Use when the host supports delegation and the work benefits from parallel coverage.

tdd

Use only when the user explicitly asks for TDD, a failing test, or a regression test, OR when the bug has an obvious cheap local test target. Skip when the test path is unclear, expensive, integration-heavy, or not requested.

teach

Explain a body of work plainly so a person actually understands it. Runs the how and why skills and weaves what they find into one clear explanation. Use for 'teach me this', 'help me really understand X', 'explain this change or subsystem to me'.

technical-writing

Layered technical-writing standard: Diátaxis structure, Google developer style sentences, STE instruction rules, Global English syntax. Use for technical-writing or when writing or reviewing docs, RFCs, readmes, PR descriptions, or commit messages.

typescript-best-practices

TypeScript best practices. Use when reading or editing any .ts or .tsx file.

unslop

Cut AI tells from any writing. Must always apply.

why

Trace the evidence behind an architectural choice, regression, postmortem, or measured threshold. Use for why-do-we-do-this and why-did-we-pick-that questions. Use how for runtime behavior.