agents-standards
Standards for authoring SDD plugin agents — frontmatter, self-containment, skill references, and no-user-interaction rules.
End-to-end testing with Playwright - browser automation, visual regression, test data management.
Claude Code
$ npx -y skills add LiorCohen/sdd --skill e2e-testing-standards --agent claude-code
Codex
$ npx skills add LiorCohen/sdd --skill e2e-testing-standards -a codex -y
Cursor
$ npx skills add LiorCohen/sdd --skill e2e-testing-standards -a cursor -y
Gemini CLI
$ npx skills add LiorCohen/sdd --skill e2e-testing-standards -a gemini-cli -y
GitHub Copilot
$ npx skills add LiorCohen/sdd --skill e2e-testing-standards -a github-copilot -y
OpenCode
$ npx skills add LiorCohen/sdd --skill e2e-testing-standards -a opencode -y
Windsurf
$ npx skills add LiorCohen/sdd --skill e2e-testing-standards -a windsurf -y
name: e2e-testing-standards description: End-to-end testing with Playwright - browser automation, visual regression, test data management. user-invocable: false
> **Dynamic path:** All paths below use `components/<testing-component>/` as a placeholder. The actual directory depends on the testing component defined in `sdd/sdd-settings.yaml`. Delegate to the `techpack-settings` skill for directory path resolution — it maps component type (`testing`) + name to a filesystem path (e.g., `type=testing, name=e2e` → `components/testing-e2e/`).
Full browser automation tests that verify complete user journeys. E2E tests run in Kubernetes via Testkube with Playwright.
---
| Aspect | Details | |--------|---------| | Location | `components/<testing-component>/tests/e2e/` and `e2e/` | | Framework | Playwright | | Executor | Testkube | | Runs In | Kubernetes cluster | | Written By | Tester agent |
---
components/<testing-component>/tests/e2e/ ├── tests/ │ ├── auth/ │ │ ├── login.spec.ts │ │ └── logout.spec.ts │ ├── planning/ │ │ ├── create-plan.spec.ts │ │ └── edit-plan.spec.ts │ └── admin/ │ └── user-management.spec.ts ├── pages/ │ ├── login.page.ts │ ├── dashboard.page.ts │ └── plan-editor.page.ts ├── fixtures/ │ ├── users.ts │ └── plans.ts ├── helpers/ │ ├── auth.ts │ └── api.ts └── playwright.config.ts
---
// components/<testing-component>/tests/e2e/playwright.config.ts
import { defineConfig, devices } from '@playwright/test';
export default defineConfig({
testDir: './tests',
fullyParallel: true,
forbidOnly: !!process.env.CI,
retries: process.env.CI ? 2 : 0,
workers: process.env.CI ? 1 : undefined,
reporter: [
['html', { open: 'never' }],
['json', { outputFile: 'test-results/results.json' }],
],
use: {
baseURL: process.env.APP_URL || 'http://webapp:5173',
trace: 'on-first-retry',
screenshot: 'only-on-failure',
video: 'on-first-retry',
},
projects: [
{
name: 'chromium',
use: { ...devices['Desktop Chrome'] },
},
{
name: 'firefox',
use: { ...devices['Desktop Firefox'] },
},
{
name: 'mobile',
use: { ...devices['iPhone 13'] },
},
],
});---
For detailed guidance, read these on-demand:
---
Add `data-testid` attributes to components for reliable selectors:
// Component with test attributes
export const LoginForm = () => {
return (
<form data-testid="login-form">
<input data-testid="email-input" type="email" name="email" />
<input data-testid="password-input" type="password" name="password" />
<button data-testid="login-button" type="submit">
Login
</button>
<div data-testid="error-message" className="error">
{error}
</div>
</form>
);
};---
---
Before committing E2E tests, verify:
---
This skill defines no input parameters or structured output.
Structure for AI-assisted development AI coding assistants are powerful but chaotic. You prompt, you get code, but then what?
Standards for authoring SDD plugin agents — frontmatter, self-containment, skill references, and no-user-interaction rules.
Standards for authoring SDD plugin commands — frontmatter, user interaction, skill/agent invocation, CLI integration, and output…
Create a commit following repository guidelines with proper versioning and changelog updates.
Two-step self-review at every task lifecycle phase. Step 1 (this skill) runs in-context to gather session signals — files read vs…
D2 diagramming language reference for architecture diagrams, sequence diagrams, grid layouts, SQL tables, and class diagrams.…
Writes and maintains user-facing documentation for the SDD plugin. Proactively detects when docs are out of sync with plugin…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.