wolski
- 19 skills
- 0 followers
- 10 hours ago last updated
- ▌ Bookdown · wolskiCross-referencing in R Markdown documents using bookdown. Use when creating Rmd files that need references to figures, tables, equations, or sections. Triggers on requests for academic reports, technical documents, or any R Markdown with numbered cross-references.
- ▌ Multiagent Review · wolski bundleRuns a panel-style multi-agent code review. Dispatches specialists for GoF patterns, antipatterns and declarative boundaries, function complexity, mixed abstraction and public API contracts, and architecture boundaries the repository declares about itself; then synthesizes a balanced, prioritized report. Supports branch diffs, specific paths, whole codebases, and commit ranges. Use when the user asks for a multi-agent, panel, deep, GoF, antipattern, API-design, architecture-boundary, layering, whole-codebase, full, or multi-perspective code review, or invokes /multiagent-review.
- ▌ Plotly · wolskiPlotly visualization patterns for statistical and scientific charts. Use when creating interactive visualizations, statistical plots (scatter, box, violin, heatmaps), UpSet plots for set intersections, network graphs, or exporting figures to HTML/PNG/PDF/SVG formats. Covers both Plotly Express (high-level) and Graph Objects (low-level) APIs.
- ▌ Scverse · wolskiSingle-cell analysis patterns with AnnData and Scanpy. Use when working with single-cell RNA-seq data, creating or manipulating AnnData objects, performing quality control, normalization, dimensionality reduction, clustering, or visualization of single-cell datasets.
- ▌ R Development · wolski bundleThis skill should be used when the user asks to "write R code", "create an R script", "analyze data in R", "use dplyr", "use tidyverse", "optimize R performance", "write a ggplot", "use purrr", "help with rlang", or "wrangle data in R". Also use this skill whenever the user is working with .R, .Rmd, .qmd, or .Rproj files, mentions R packages like dplyr, tidyr, ggplot2, purrr, stringr, or lubridate, or needs guidance on tidyverse patterns, native pipe, data wrangling, or R metaprogramming — even if they do not explicitly say "R development". Covers modern tidyverse (dplyr 1.1+, native pipe, join_by, .by), rlang metaprogramming, ggplot2, purrr, stringr, performance optimization, and R object systems. For devtools workflow, testing with testthat, roxygen2 documentation, and NEWS.md conventions, defer to the r-package-development skill instead.
- ▌ Marimo Background Jobs · wolski bundleThis skill should be used when a marimo app (or Python data GUI) must run a long-running or memory-heavy task and show live progress and logs without freezing the UI. Trigger phrases: "show a progress/log panel in marimo", "stream a job's log while it runs", "run the conversion/render/analysis in the background", "poll a job with mo.ui.refresh", "open the generated report or log file in the browser from marimo", "my marimo button blocks the UI", or "the data:/file: log link does not open". Covers the background-subprocess + log-file + refresh-polling + status-callout pattern, including process-group cleanup and serving outputs over a real static HTTP server.
- ▌ Verify Review Findings · wolski bundleVerify code-review findings before reporting them, and turn confusing-but-correct code into structural fixes. Use this skill when reviewing code, triaging or acting on review findings (e.g. a review TODO), deciding "is this actually a bug?", confirming or refuting a suspected defect, or fixing a bug found in review. Enforces a confirm-or-refute discipline that prevents false positives (flagging a non-bug) caused by non-obvious language semantics, helpers doing hidden double duty, and guards that live elsewhere in the flow — and treats a false positive triggered by unclear code as a real communication defect to be fixed structurally. Complements multiagent-review (which orchestrates the review) by governing the rigor of each individual finding.
- ▌ School Study Materials · wolskiGenerate German-language course summaries, learning objectives, cheat sheets, and practice questions from school scripts and extracted Markdown.
- ▌ Software Manuscript Review · wolski bundleEvidence-first peer review of software and tool manuscripts, including bioinformatics tools, web servers, and R/Python packages. Use when acting as a reviewer or referee; verifying manuscript claims against code; auditing reproducibility, tests, example data, method implementations, reuse, or attribution; checking reviewer confidentiality or journal AI-use policy; reviewing response letters and revisions; or drafting author comments and the confidential editor note. Do not use for the user's own paper, an ordinary code or pull-request review, or a manuscript without a software component.
- ▌ Advanced R Engineering · wolski bundleR engineering judgment for reviewing, refactoring, profiling, and architecting R code — as distinct from writing it. This skill should be used when R code needs a design or correctness review, an object-system decision (S3 vs S4 vs R6), performance profiling or memory work, dependency and API design, or a maintainability assessment of a package or serious R codebase. Trigger on requests like "review this R function/package", "is S4 or R6 right here", "why is this R code slow", "profile this", or "refactor this R module". Defer to r-development for writing tidyverse/dplyr/ggplot2 code and data wrangling, to r-package-development for devtools/roxygen2/testthat mechanics, and to verify-review-findings for the confirm-or-refute discipline on individual findings.
- ▌ General Agentic · wolskiDefensive epistemology protocol for coding agents. Rationalist principles applied to code, including explicit predictions, noticing confusion, and verification before proceeding.
- ▌ Shell Scripting · wolski bundleSpecialized knowledge of Bash and Zsh scripting, shell automation, command-line tools, and scripting best practices. Use when the user needs to write, debug, or optimize shell scripts, work with command-line tools, automate tasks with bash/zsh, or asks for shell script help.
- ▌ Design Principles · wolskiTwo bounded design principles for Python, and the part refactoring catalogues leave out: exactly where each one stops. Principle 1 — a parameter's type should name the smallest capability the function actually exercises, not the concrete class the caller happens to hold. Principle 2 — branching on what something *is* in order to decide what to *do* is a missing polymorphism. Use this skill when deciding whether an abstraction is warranted at all: should this parameter be a Protocol or ABC, should this type be split, is this if/elif chain acceptable, is `X | None` the honest signature, am I widening `list` to `Iterable` truthfully, does this validator mean the type is really several types. Use it when a reviewer asks for "less coupling" or "more abstraction" and you need to judge whether they are right, and before adding any interface, Protocol, ABC, or base class. To instead sweep an existing package for branch-based discrimination, use the polymorphism-over-discrimination skill.
- ▌ Snakemake Compact · wolskiCompact Snakemake workflow patterns. Keep rules short, complex logic in Python modules.
- ▌ Python Style Guide · wolski bundleThis skill should be used when the user asks to "write Python code", "review Python style", "refactor Python code", "add type annotations", "write a docstring", or "check Python conventions". Also use when working with .py files, discussing Python imports, naming, formatting, or type hints — even if not explicitly requesting style guidance. Covers language rules (imports, exceptions, type annotations), style rules (naming, formatting, docstrings), modern Python features, and best practices based on Google's Python Style Guide.
- ▌ Pixi Package Manager · wolski bundleFast, reproducible scientific Python environments with pixi - conda and PyPI unified
- ▌ Directed Folder Imports · wolski bundleMigrate organically grown Python src packages to explicit directed folder trees: parent modules compose children, children never import upward, sibling packages form an acyclic one-way graph, and each package directly depends on at most one sibling. Use this skill whenever a user asks to clean up a Python package structure or import graph, untangle upward/sideways/circular imports, split a monolith into packages, add import-linter architecture contracts, enforce folder boundaries in AGENTS.md, or transfer APB2-style import rules to another codebase.
- ▌ Mixed R Python Pipeline · wolskiThis skill should be used when the user asks to "create a CLI tool from a Snakemake project", "make a pipeline deployable", "wrap a workflow as a pip package", "turn an analysis into a reusable tool", or "package a Snakemake workflow". Also use when the user has a working Snakemake + R/Python analysis project and wants to make it pip-installable with init, validate, update, clean, and info commands — even if they do not explicitly mention CLI packaging.
- ▌ Polymorphism Over Discrimination · wolski bundleFind and fix code that decides what to do by asking what something is. Use this skill whenever reviewing or writing Python that contains an isinstance chain, an `if mode == "x" / elif` chain, `if record.field is None` where the arms do different work, a validator that rejects field combinations ("X is only valid when Y is Z"), a function returning a string that names an operation, or a record carrying a kind flag plus fields belonging to only one kind. Use it when adding an arm to any existing chain of those, when adding an optional field to a type you own, when introducing a `Missing`/`No`-prefixed class, and when naming something Builder, Factory, Strategy, or Visitor. Also use it for any request to review Python design, reduce branching, clean up conditionals, or audit a package for structural problems — even when the user does not say "polymorphism". Python only.