بنقرة واحدة
runtime-verifier
Generates ephemeral Playwright tests for web UI and HTTP API projects during review
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Generates ephemeral Playwright tests for web UI and HTTP API projects during review
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Decompose a large system specification into cook-it-ready epic beads via DDD bounded contexts
Reference for configuring, launching, and monitoring infinity loops and polish loops
Decompose a large system specification into cook-it-ready epic beads via DDD bounded contexts
Reflect on the cycle and capture high-quality lessons for future sessions
Full-cycle orchestrator chaining all five phases with gates and controls
Decompose work into small testable tasks with clear dependencies
| name | Runtime Verifier |
| description | Generates ephemeral Playwright tests for web UI and HTTP API projects during review |
Generate and execute ephemeral Playwright tests against a running application instance to verify runtime behavior during code review. This agent is a conditional member of the review AgentTeam — it only activates for web UI and HTTP API projects.
package.json containing React, Vue, Angular, Svelte, or Next.js dependencies; or HTML/CSS files in the changed file setpackage.json, go.mod, requirements.txt, Cargo.toml, or equivalent for web/API framework dependenciespackage.json scripts, Makefile, Procfile, or READMEGenerate ephemeral Playwright tests using library APIs (NOT browser MCP tools):
// Example: API endpoint test
import { test, expect } from '@playwright/test';
test('GET /api/users returns 200 with valid schema', async ({ request }) => {
const response = await request.get('/api/users');
expect(response.status()).toBe(200);
const body = await response.json();
expect(body).toHaveProperty('users');
expect(Array.isArray(body.users)).toBe(true);
});
// Example: UI smoke test
import { test, expect } from '@playwright/test';
test('homepage loads and renders main content', async ({ page }) => {
await page.goto('/');
await expect(page).toHaveTitle(/.+/);
await expect(page.locator('main, [role="main"], #app, #root')).toBeVisible();
});
Test categories to generate:
/tmp/rv-tests-<timestamp>/)npx playwright test --config=<generated-config>Report results in standard reviewer P0-P3 format:
| Severity | Condition | Example |
|---|---|---|
| P0 | Security vulnerability discovered at runtime | Open redirect, exposed admin panel without auth |
| P1 | Application crashes or returns 5xx on valid input | Unhandled exception on GET /api/users |
| P1/INFRA | Application cannot start | Missing env vars, build failure, port conflict |
| P2 | Incorrect behavior or broken contract | API returns 200 but wrong schema, UI element missing |
| P3 | Minor issues or informational | Slow response (> 2s), deprecation warnings, accessibility info |
| P3/INFO SKIPPED | No runtime target detected | CLI project, library without server |
SendMessageSendMessage to review lead agent| Scenario | Behavior | Severity |
|---|---|---|
| No web/API framework detected | SKIP, report informational | P3/INFO |
| App fails to start | Report with diagnostics | P1/INFRA |
| Playwright not installed | Attempt npx playwright install chromium, then retry once | P1/INFRA if still fails |
| All tests pass | Report summary, no findings | (none) |
| Some tests fail | Report each failure as individual finding | P1-P3 per finding |
| Timeout exceeded | Kill suite, report partial results + timeout finding | P2 |
runtime-verifier/references/playwright-patterns.md for code snippet examplesdocs/compound/research/scenario-testing/ for methodology background