Use when configuring, running, or fixing PHPStan static analysis in WordPress projects (plugins/themes/sites): phpstan.neon setup, baselines, WordPress-specific typing, and handling third-party plugin classes.
npx skills add https://github.com/Automattic/agent-skills --skill wp-phpstan
Use this skill when working on PHPStan in a WordPress codebase, for example:
phpstan.neon / phpstan.neon.distphpstan-baseline.neonwp-project-triage output (run first if you haven't)node skills/wp-phpstan/scripts/phpstan_inspect.mjsPrefer the repo’s existing composer script (e.g. composer run phpstan) when present.
szepeviktor/phpstan-wordpress or php-stubs/wordpress-stubs are effectively required for most WordPress plugin/theme repos. Without it, expect a high volume of errors about unknown WordPress core functions.
composer.dependencies in the inspect report).references/third-party-classes.md).phpstan.neon for WordPress projectspaths focused on first-party code (plugin/theme directories).vendor/, node_modules/, build artifacts, tests unless explicitly analyzed).ignoreErrors entries narrow and documented.See:
references/configuration.mdPrefer correcting types over ignoring errors. Common WP patterns that need help:
WP_REST_Request<...>@param types for callback args$args array shapes for job callbacksSee:
references/wordpress-annotations.mdWhen integrating with plugins/themes not present in the analysis environment:
php-stubs/woocommerce-stubs, php-stubs/acf-pro-stubs).ignoreErrors patterns for the specific vendor prefix.See:
references/third-party-classes.mdSee:
references/configuration.mdcomposer run ... or vendor/bin/phpstan analyse).ignoreErrors to ensure patterns are not masking unrelated issues.paths, add excludePaths, start at a lower level, then ratchet upThis skill should be used when refactoring existing CSS from inline styles or utility classes to semantic patterns. Triggers on "refactor CSS", "extract styles", "consolidate CSS", "convert inline", "clean up styles", "migrate to semantic". Transforms to semantic classes with dark mode and tests.
Audit and improve SwiftUI runtime performance from code review and architecture. Use for requests to diagnose slow rendering, janky scrolling, high CPU/memory usage, excessive view updates, or layout thrash in SwiftUI apps, and to provide guidance for user-run Instruments profiling when code review alone is insufficient.
Run lint on affected packages, parse errors, and auto-fix common issues (design tokens, React.FC, SSR safety, import restrictions)
Read this before building a component or diagnosing a build failure; do not guess build flags or the inner loop. Explains how to build, iterate on, and debug an azldev component, covering comp build flags (local-repo, preserve-buildenv), the render/build/test inner loop, diff-sources, and disabling a failing %check via check.skip. Triggers include build component, build failed, build error, inner loop, preserve buildenv, local repo, disable check.
Load a sharded, on-disk dataset (sharded .npy, Parquet/Arrow, raw binary, sharded HDF5, custom layouts) into a distributed cuPyNumeric ndarray via a manual partition + leaf @task launch with CPU/OMP/GPU variants. Use when no single-call loader fits, including when per-shard row counts differ across files. Prefer cupynumeric.load or legate.io.hdf5.from_file when they apply.
Use when configuring, running, or fixing PHPStan static analysis in WordPress projects (plugins/themes/sites): phpstan.neon setup, baselines, WordPress-specific typing, and handling third-party plugin classes.
Create, read, and analyze C# scripts — create, read, replace, append, search, rename, move, and delete scripts, plus compile feedback. Use when authoring or editing C# code, searching across scripts, refactoring file layout, or checking compile errors, even if the user just says "写个脚本" or "改代码". 对 C# 脚本进行增删改查与分析(创建、读取、替换、追加、搜索、重命名、移动、删除脚本,以及编译反馈);当用户要编写或编辑 C# 代码、跨脚本搜索、重构文件布局、或检查编译错误时使用。
Quick automated lint — detects common design system violations in seconds
Take automattic/wp-phpstan from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.