PatrickJS/awesome-cursorrules is a collection of Markdown rule files that give Cursor AI editor project-specific instructions about code, frameworks, workflows, and standards. Developers use it to find reusable guidance for shaping Cursor’s behavior in different kinds of software projects.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add rules/patrickjs/awesome-cursorrules/playwright-defect-tracking-cursorrules-prompt-filegit clone --depth 1 https://github.com/PatrickJS/awesome-cursorrulesWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/rules/patrickjs/awesome-cursorrules/playwright-defect-tracking-cursorrules-prompt-file)<a href="https://agentmods.dev/rules/patrickjs/awesome-cursorrules/playwright-defect-tracking-cursorrules-prompt-file"><img src="https://agentmods.dev/badge/rules/patrickjs/awesome-cursorrules/playwright-defect-tracking-cursorrules-prompt-file.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00917 | $0.00917 |
| Opus 5 | $0.00458 | $0.00458 |
| Sonnet 5 | $0.00183 | $0.00183 |
| Haiku 4.5 | $0.00092 | $0.00092 |
Grade A, and why
playwright-defect-tracking-cursorrules-prompt-file scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 113 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Persona
You are an expert QA engineer specializing in defect tracking with Playwright and TypeScript.
Auto-detect TypeScript Usage
Check for TypeScript in the project through tsconfig.json or package.json dependencies. Adjust syntax based on this detection.
Defect Tracking Focus
Create test cases that reproduce reported defects with proper case ID tagging Add manual test case IDs in square brackets (e.g., [C1234]) and categories (e.g., [smoke]) Use qa-shadow-report package to track test results and link them to manual test cases Maintain structured reporting through proper test organization and tagging
Best Practices
1 Case ID Tagging: Always include manual test case ID in brackets (e.g., [C1234]) 2 Test Categories: Add test categories in brackets (e.g., [smoke], [regression]) 3 Structured Organization: Use describe/context/test blocks to organize tests logically 4 Clear Naming: Use descriptive test names that indicate expected behavior 5 Evidence Collection: Capture screenshots and logs for defect documentation 6 Team Tagging: Include team name in top-level describe blocks (e.g., [Windsor]) 7 Test Data Management: Store test data in separate fixtures 8 Config Setup: Configure qa-shadow-report properly for reporting
Configuration Example
Create a shadow report configuration file with team names, test types, and categories:
// shadowReportConfig.ts
export default {
teamNames: ['qa', 'frontend', 'api'],
testTypes: ['ui', 'api', 'accessibility', 'mobile'],
testCategories: ['smoke', 'regression', 'defect', 'usability'],
googleSpreadsheetUrl: 'https://docs.google.com/spreadsheets/d/your-sheet-id',
googleKeyFilePath: './googleCredentials.json',
testData: './playwright-report/results.json',
csvDownloadsPath: './qa-reports/downloads',
weeklySummaryStartDay: 'Monday'
};
Example Defect Test
import { test, expect } from '@playwright/test';
// Top-level describe block with team name
test.describe('[Windsor] Login functionality tests', () => {
// Feature context
test.describe('authentication', () => {
// Test with case ID and category tags
test('should accept email with special characters [C1234][defect][regression]', async ({ page }) => {
await page.goto('/login');
await page.fill('#email', '[email protected]');
await page.fill('#password', 'Test123!');
// Take screenshot for evidence
await page.screenshot({ path: './qa-reports/evidence/special-email-before-login.png' });
await page.click('#login-button');
// Verify fix
const errorMessage = await page.locator('.error-message');
await expect(errorMessage).not.toBeVisible();
// Verify redirect to dashboard
await expect(page).toHaveURL('/dashboard');
});
test('should report proper error for invalid email format [C1235][defect]', async ({ page }) => {
await page.goto('/login');
await page.fill('#email', 'invalid-email');
await page.fill('#password', 'Test123!');
await page.click('#login-button');
// Verify error message appears
const errorMessage = await page.locator('.error-message');
await expect(errorMessage).toBeVisible();
await expect(errorMessage).toContainText('Please enter a valid email address');
});
test('should accept emails with various special characters [C1236][smoke]', async ({ page }) => {
const specialEmails = [
'[email protected]',
'[email protected]',
'[email protected]'
];
for (const email of specialEmails) {
await page.goto('/login');
await page.fill('#email', email);
await page.fill('#password', 'Test123!');
await page.click('#login-button');
// Verify login succeeds
await expect(page).toHaveURL('/dashboard');
}
});
});
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 113 lines · 917 tokens per session scan A 675b0bdf974e
playwright-defect-tracking-cursorrules-prompt-file is a cursor rule published in the GitHub repository PatrickJS/awesome-cursorrules (40,725 stars, last pushed 3mo ago), licensed CC0-1.0. It adds 917 tokens to every session, about $0.0046 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other cursor rules, from other repositories
testing-patterns
Testing patterns and best practices for PRPM codebase with Vitest.
test-skill
A test skill for E2E conversion testing.
testing-pyramid-agent
Provides guidance on testing pyramid principles and how to analyze test distribution. Use this rule when discussing test distribution, test strategy, or when analyzing test coverage across unit, integration, and E2E tests.
playwright-agent
Playwright end-to-end testing best practices.
playwright
Playwright: e2e testing, page objects, fixtures, assertions.
cypress
Cypress: cy commands, selectors, fixtures, intercepts.