wp-phpstan

bởi firecrawl

Sử dụng khi cấu hình, chạy hoặc sửa lỗi phân tích tĩnh PHPStan trong các dự án WordPress (plugin/chủ đề/trang web): thiết lập phpstan.neon, baselines,…

npx skills add https://github.com/firecrawl/agent-skills --skill wp-phpstan

WP PHPStan

When to use

Use this skill when working on PHPStan in a WordPress codebase, for example:

  • setting up or updating phpstan.neon / phpstan.neon.dist
  • generating or updating phpstan-baseline.neon
  • fixing PHPStan errors via WordPress-friendly PHPDoc (REST requests, hooks, query results)
  • handling third-party plugin/theme classes safely (stubs/autoload/targeted ignores)

Inputs required

  • wp-project-triage output (run first if you haven't)
  • Whether adding/updating Composer dev dependencies is allowed (stubs).
  • Whether changing the baseline is allowed for this task.

Procedure

0) Discover PHPStan entrypoints (deterministic)

  1. Inspect PHPStan setup (config, baseline, scripts):
    • node skills/wp-phpstan/scripts/phpstan_inspect.mjs

Prefer the repo’s existing composer script (e.g. composer run phpstan) when present.

1) Ensure WordPress core stubs are loaded

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.

  • Confirm the package is installed (see composer.dependencies in the inspect report).
  • Ensure the PHPStan config references the stubs (see references/third-party-classes.md).

2) Ensure a sane phpstan.neon for WordPress projects

  • Keep paths focused on first-party code (plugin/theme directories).
  • Exclude generated and vendored code (vendor/, node_modules/, build artifacts, tests unless explicitly analyzed).
  • Keep ignoreErrors entries narrow and documented.

See:

  • references/configuration.md

3) Fix errors with WordPress-specific typing (preferred)

Prefer correcting types over ignoring errors. Common WP patterns that need help:

  • REST endpoints: type request parameters using WP_REST_Request<...>
  • Hook callbacks: add accurate @param types for callback args
  • Database results and iterables: use array shapes or object shapes for query results
  • Action Scheduler: type $args array shapes for job callbacks

See:

  • references/wordpress-annotations.md

4) Handle third-party plugin/theme classes (only when needed)

When integrating with plugins/themes not present in the analysis environment:

  • First, confirm the dependency is real (installed/required).
  • Prefer plugin-specific stubs already used in the repo (common examples: php-stubs/woocommerce-stubs, php-stubs/acf-pro-stubs).
  • If PHPStan still cannot resolve classes, add targeted ignoreErrors patterns for the specific vendor prefix.

See:

  • references/third-party-classes.md

5) Baseline management (use as a migration tool, not a trash bin)

  • Generate a baseline once for legacy code, then reduce it over time.
  • Do not “baseline” newly introduced errors.

See:

  • references/configuration.md

Verification

  • Run PHPStan using the discovered command (composer run ... or vendor/bin/phpstan analyse).
  • Confirm the baseline file (if used) is included and didn’t grow unexpectedly.
  • Re-run after changing ignoreErrors to ensure patterns are not masking unrelated issues.

Failure modes / debugging

  • “Class not found”:
    • confirm autoloading/stubs, or add a narrow ignore pattern
  • Huge error counts after enabling PHPStan:
    • reduce paths, add excludePaths, start at a lower level, then ratchet up
  • Inconsistent types around hooks / REST params:
    • add explicit PHPDoc (see references) rather than runtime guards

Escalation

  • If a type depends on a third-party plugin API you can’t confirm, ask for the dependency version or source before inventing types.
  • If fixing requires adding new Composer dependencies (stubs/extensions), confirm it with the user first.

Thêm skills từ firecrawl

firecrawl-research-index
firecrawl
Tìm các bài báo trả lời truy vấn nghiên cứu với Firecrawl Research, sử dụng tìm kiếm ngữ nghĩa, mở rộng ngữ nghĩa và cấu trúc, cùng xác minh trong nội dung. Luôn sử dụng kỹ năng này cho bất kỳ nhiệm vụ tìm kiếm tài liệu/truy xuất bài báo nào — tra cứu một bài báo đơn lẻ hoặc toàn bộ bộ nhiều bài báo.
data-analysisresearchweb-scraping
oracle
firecrawl
Các phương pháp hay nhất khi sử dụng CLI oracle (gộp lời nhắc + tệp, engine, phiên và các mẫu đính kèm tệp).
pinecone
firecrawl
Cơ sở dữ liệu vector được quản lý cho các ứng dụng AI sản xuất. Được quản lý hoàn toàn, tự động mở rộng, với tìm kiếm kết hợp (dense + sparse), lọc metadata và không gian tên.…
wpds
firecrawl
Sử dụng khi xây dựng giao diện người dùng dựa trên Hệ thống Thiết kế WordPress (WPDS) và các thành phần, token, mẫu thiết kế, v.v. của nó.
audiocraft-audio-generation
firecrawl
Thư viện PyTorch để tạo âm thanh bao gồm chuyển văn bản thành nhạc (MusicGen) và chuyển văn bản thành âm thanh (AudioGen). Sử dụng khi bạn cần tạo nhạc từ văn bản…
skypilot-multi-cloud-orchestration
firecrawl
Điều phối đa đám mây cho khối lượng công việc ML với tối ưu hóa chi phí tự động. Sử dụng khi bạn cần chạy các công việc đào tạo hoặc xử lý hàng loạt trên nhiều đám mây, tận dụng…
firecrawl-seo-audit
firecrawl
Kiểm tra SEO của một trang web với Firecrawl. Sử dụng khi người dùng yêu cầu kiểm tra SEO, đánh giá metadata và tiêu đề, phân tích sitemap/cấu trúc trang web, cơ hội từ khóa, so sánh SERP đối thủ, hoặc các đề xuất tối ưu hóa tìm kiếm được ưu tiên.
data-analysisresearchweb-scraping
gh-issues
firecrawl
Lấy các issue GitHub, tạo sub-agent để triển khai sửa lỗi và mở PR, sau đó theo dõi và xử lý các nhận xét đánh giá PR. Cách dùng: /gh-issues [owner/repo] [--label…