Design and review types in statically typed languages so the compiler can reject invalid states, mixed-up identifiers, and missing cases. Guide input parsing at system boundaries and derive types from the schemas that define the data.
- Reviewing function arguments and return types
- Preventing confusion between user IDs and order IDs
- Parsing external inputs into typed data
michael-denyer/pstack-claude☆ 3.4KUpdated Oct 23, 2026
Find recurring agent mistakes in a repository and prevent them through architecture, types, automated checks, or tests. Verify each safeguard against a real past mistake, and record how each rule is enforced in the agent instructions.
- Prevent repeated mistakes found in reviews
- Replace duplicated definitions with one source of truth
- Enforce coding rules with types and automated checks
michael-denyer/pstack-claude☆ 3.4KUpdated Oct 23, 2026
Organize migrations and repeated edits into small changes, checking each before moving on. Arrange commits and pull requests so reviewers can follow the evidence, such as a failing test followed by the fix that makes it pass.
- Checking each change during a migration
- Verifying repeated edits one at a time
- Ordering commits to show how a fix works
michael-denyer/pstack-claude☆ 3.4KUpdated Oct 23, 2026
Guide an internal API refactor by moving callers to the new interface and removing the old one in the same round of changes. Update tests for the new contract and remove tests tied only to obsolete implementation details.
- Move internal callers to a replacement API
- Remove legacy APIs during a coordinated refactor
- Update tests to reflect a new API contract
michael-denyer/pstack-claude☆ 3.4KUpdated Oct 23, 2026
Turn substantial editing, migration, analysis, or verification work into a small, reusable tool. Produce a script, generator, or shared agent skill that performs or checks the work and lets reviewers rerun it.
- Automating code edits or migrations
- Generating repetitive files consistently
- Making analysis and verification reproducible
michael-denyer/pstack-claude☆ 3.4KUpdated Oct 23, 2026
Guide an AI agent through development work with clear prose, simple code, deliberate delegation, and checks against real outputs. Task-specific workflows cover investigation, implementation, review, and delivery, with decision records for longer autonomous work.
- Keep an agent's development approach consistent
- Compare design options before implementation
- Verify fixes against actual behavior
michael-denyer/pstack-claude☆ 3.4KUpdated Oct 23, 2026
Guide planned rewrites and migrations toward a verified target architecture. Define where temporary breakage is acceptable, keep focused checks during the work, and require full static and runtime verification when the plan is complete.
- Planning a phased code rewrite
- Defining acceptable temporary breakage during migration
- Avoiding temporary compatibility code that becomes permanent
michael-denyer/pstack-claude☆ 3.4KUpdated Oct 23, 2026
Configure which AI models pstack uses for each role, along with reasoning effort, the level of reasoning applied. Detects available models, writes settings for the current environment, and controls the session startup hook where supported.
- Assigning AI models to pstack roles
- Updating settings to match available models
- Setting default and per-role reasoning effort
michael-denyer/pstack-claude☆ 3.4KUpdated Oct 23, 2026
Helps users set up pstack, understand model settings, and choose skills or task procedures. It answers questions with a usable example prompt and a source link, leaving the user to start the actual work.
- Getting help with pstack installation and setup
- Writing a task prompt for /poteto-mode
- Choosing a skill for a specific task
michael-denyer/pstack-claude☆ 3.4KUpdated Oct 23, 2026
Guides additions, refactors, and rewrites by removing unnecessary complexity first. It prioritizes deleting dead code, redundant checks, empty references, and repetitive prompt instructions, then building around observed usage and explicit requirements.
- Cleaning up code before adding a feature
- Planning removal steps before a refactor or rewrite
- Reviewing checks added for speculative edge cases
michael-denyer/pstack-claude☆ 3.4KUpdated Oct 23, 2026
Guide refactoring and code changes toward the smallest solution that addresses the problem. Centralize repeated decisions, pass their results as simple flags, and reconsider extra layers or boilerplate that increase the amount of code changed.
- Reduce the size of a code change
- Consolidate decisions repeated across multiple places
- Reconsider whether an abstraction is needed
michael-denyer/pstack-claude☆ 3.4KUpdated Oct 23, 2026
Prepare a pull request for review by checking its description, commits, and changed files. Clarify intent, highlight important files and risks, and organize history when authorized, while verifying that cleanup preserves the intended code content.
- Updating a PR description to match the actual changes
- Organizing commits into a reviewable order
- Highlighting key files and risks for reviewers
michael-denyer/pstack-claude☆ 3.4KUpdated Oct 23, 2026
Generate several candidate solutions in parallel, compare them against concrete criteria, and choose a base. Combine useful parts from other candidates, then verify the final artifact and document why each major choice was made.
- Compare multiple designs before choosing a direction
- Explore different implementations of the same task
- Combine useful elements from competing drafts
michael-denyer/pstack-claude☆ 3.4KUpdated Oct 23, 2026
Explore a codebase to explain how a feature or subsystem works, how execution flows, and which files or packages own each responsibility. Build understanding before changes and clarify where new code should belong.
- Understanding a feature before changing its code
- Learning the architecture of an unfamiliar subsystem
- Tracing runtime behavior across files or services
michael-denyer/pstack-claude☆ 3.4KUpdated Oct 23, 2026
Review a branch against main and clean up unnecessary AI-generated code, including excess comments, unusual defensive checks, type workarounds, and deep nesting. Make focused edits that match surrounding code while preserving behavior unless fixing a clear bug.
- Clean up a branch after AI-assisted coding
- Remove unnecessary comments and defensive checks
- Review any casts used to bypass type issues
michael-denyer/pstack-claude☆ 3.4KUpdated Oct 23, 2026
Guide validation and error handling toward system boundaries, where external data enters the application. Keep business rules in functions independent of frameworks, use validated types internally, and avoid repeating checks throughout the code.
- Organizing configuration validation
- Separating business rules from framework code
- Reviewing repeated internal checks
michael-denyer/pstack-claude☆ 3.4KUpdated Oct 23, 2026
Revisit an existing design as though a new requirement had been present from the start. Examine affected files, plan the overall redesign, and carry changes through types, documentation, examples, and design rationale in incremental steps.
- Integrating a new requirement into an existing design
- Rethinking structure before adding another workaround
- Updating types, documentation, and examples together
michael-denyer/pstack-claude☆ 3.4KUpdated Oct 23, 2026
Investigate what a code change could break beyond the edited files. Trace downstream effects, identify the key assumption behind its safety, and test that assumption with real code while clearly reporting unresolved risks.
- Checking the wider impact of a small code change
- Verifying assumptions about existing code before design
- Testing the safety assumption before merging a change
michael-denyer/pstack-claude☆ 3.4KUpdated Oct 23, 2026
Design a reviewable workflow for large migrations or complex changes without an existing playbook. Define testable completion criteria, verify small changes against real results, and record decisions so someone returning later can assess what worked and what remains open.
- Planning a large migration without an existing playbook
- Breaking a complex change into verifiable steps
- Keeping decisions reviewable during extended work
michael-denyer/pstack-claude☆ 3.4KUpdated Oct 23, 2026
Design commands and processing loops that reach the same final state after retries or crashes. Use the current state to apply only necessary changes, and make leftover locks, files, or records recognizable during the next run.
- Design commands that can be safely rerun
- Review recovery after a crash
- Handle leftover locks and temporary files
michael-denyer/pstack-claude☆ 3.4KUpdated Oct 23, 2026
Review code changes with several AI models working independently. Combine overlapping findings, highlight disagreements, and sort issues by whether they need action, further consideration, or no change, producing a reasoned review without automatically editing the code.
- Reviewing a feature branch before merging
- Finding blind spots in recent code changes
- Comparing findings from multiple AI models
michael-denyer/pstack-claude☆ 3.4KUpdated Oct 23, 2026
Design stateful code around data structures that reflect real rules. The skill helps choose state machines, typed models, or lookup tables to reduce scattered conditions, duplicated assumptions, and combinations of values that should never occur.
- Organizing growing chains of conditions
- Designing state transitions and lifecycle rules
- Consolidating rules repeated across files
michael-denyer/pstack-claude☆ 3.4KUpdated Oct 23, 2026
Resolve Git merge conflicts with minimal edits that preserve public behavior. Regenerate lockfiles using package manager tools, run compilation, lint checks, and relevant tests, then stage resolved files and summarize decisions and verification results.
- Resolving conflicts after merging branches
- Checking that both sides of a change are preserved
- Regenerating conflicted lockfiles
michael-denyer/pstack-claude☆ 3.4KUpdated Oct 23, 2026
Review code by examining how many layers readers must follow and how much changing state they must remember. Identify unnecessary wrappers and overly broad state, making values and the places that change them easier to trace.
- Review code whose behavior is hard to trace
- Reconsider wrappers that have only one caller
- Reduce the scope of mutable state
michael-denyer/pstack-claude☆ 3.4KUpdated Oct 23, 2026