pw-review – skill Lập trình cho agent AI
Đánh giá chất lượng test Playwright. Dùng khi người dùng nói “review test”, “kiểm tra chất lượng test”, “audit test”, “cải thiện test”, “code review test”, hoặc “kiểm tra best practice playwright”.
Cài skill pw-review bằng một lệnh
Chọn công cụ bạn đang dùng, copy lệnh và dán vào terminal. Skill sẽ nằm trong thư mục skills của công cụ đó và sẵn sàng dùng ở phiên làm việc tiếp theo.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/pw-review-6f554.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /pw-review – rồi mô tả công việc bạn muốn làm.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/pw-review-6f554.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $pw-review – rồi mô tả công việc bạn muốn làm.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/pw-review-6f554.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /pw-review – rồi mô tả công việc bạn muốn làm.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/pw-review-6f554.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /pw-review – rồi mô tả công việc bạn muốn làm.
Nội dung SKILL.md
Nội dung SKILL.md gốc bằng tiếng Anh.
Review Playwright Tests
Systematically review Playwright test files for anti-patterns, missed best practices, and coverage gaps.
Input
$ARGUMENTS can be:
- A file path: review that specific test file
- A directory: review all test files in the directory
- Empty: review all tests in the project's
testDir
Steps
1. Gather Context
- Read
playwright.config.tsfor project settings - List all
*.spec.ts/*.spec.jsfiles in scope - If reviewing a single file, also check related page objects and fixtures
2. Check Each File Against Anti-Patterns
Load anti-patterns.md from this skill directory. Check for all 20 anti-patterns.
Critical (must fix):
1. waitForTimeout() usage
2. Non-web-first assertions (expect(await ...))
3. Hardcoded URLs instead of baseURL
4. CSS/XPath selectors when role-based exists
5. Missing await on Playwright calls
6. Shared mutable state between tests
7. Test execution order dependencies
Warning (should fix):
8. Tests longer than 50 lines (consider splitting)
9. Magic strings without named constants
10. Missing error/edge case tests
11. page.evaluate() for things locators can do
12. Nested test.describe() more than 2 levels deep
13. Generic test names ("should work", "test 1")
Info (consider):
14. No page objects for pages with 5+ locators
15. Inline test data instead of factory/fixture
16. Missing accessibility assertions
17. No visual regression tests for UI-heavy pages
18. Console error assertions not checked
19. Network idle waits instead of specific assertions
20. Missing test.describe() grouping
3. Score Each File
Rate 1-10 based on:
- 9-10: Production-ready, follows all golden rules
- 7-8: Good, minor improvements possible
- 5-6: Functional but has anti-patterns
- 3-4: Significant issues, likely flaky
- 1-2: Needs rewrite
4. Generate Review Report
For each file:
## <filename> — Score: X/10
### Critical
- Line 15: `waitForTimeout(2000)` → use `expect(locator).toBeVisible()`
- Line 28: CSS selector `.btn-submit` → `getByRole('button', { name: "submit" })`
### Warning
- Line 42: Test name "test login" → "should redirect to dashboard after login"
### Suggestions
- Consider adding error case: what happens with invalid credentials?5. For Project-Wide Review
If reviewing an entire test suite:
- Spawn sub-agents per file for parallel review (up to 5 concurrent)
- Or use
/batchfor very large suites - Aggregate results into a summary table
6. Offer Fixes
For each critical issue, provide the corrected code. Ask user: "Apply these fixes? [Yes/No]"
If yes, apply all fixes using Edit tool.
Output
- File-by-file review with scores
- Summary: total files, average score, critical issue count
- Actionable fix list
- Coverage gaps identified (pages/features with no tests)
Skill liên quan
- system-atlas – Xây dựng atlas kiến trúc isometric có thể khám phá dưới dạng HTML.
- turborepo-caching – Cấu hình Turborepo để build monorepo hiệu quả với cache cục bộ và từ xa. Dùng khi thiết…
- systematic-debugging – Gỡ lỗi nguyên nhân gốc qua 4 giai đoạn: hiểu lỗi trước khi sửa.
- employment-contract-templates – Mẫu và cách soạn bản nháp tài liệu lao động để luật sư địa phương rà soát, gồm hợp đồng…
- typescript-advanced-types – Làm chủ hệ thống kiểu nâng cao của TypeScript gồm generics, conditional types, mapped…
- red-green-proof – Biến lỗi nghi ngờ thành lỗi đã được chứng minh. Kiểm chứng nguyên nhân với thực tế trước…
- error-debugging-error-trace – Bạn là chuyên gia theo dõi lỗi và observability, chuyên triển khai giải pháp giám sát…
- error-debugging-multi-agent-review – Review một diff code đã xác định từ góc nhìn tính đúng đắn, phân quyền và hiệu năng liên…