chattermate.chat: Skill for Claude Code

.claude/skills/write-e2e-test/SKILL.md

write-e2e-test is a skill for Claude Code from chattermate/chattermate.chat. It costs 58 tokens per session (612 once invoked), scanned A, original, Apache-2.0.

A set of project-specific instructions for writing Playwright end-to-end tests. End-to-end tests check a complete user journey through the application, and Playwright is a tool for automating browsers.

In plain words
What is it for?
Use it to add or repair ChatterMate browser tests, page objects, fixtures, and fake-LLM scenarios.
Why use it?
It keeps tests in the required locations and style, while avoiding fragile selectors and direct HTTP calls in test specifications. It also explains how to prepare test data and simulate the application's AI replies.

Skill for Claude Code

Written for Claude Code: installed under .claude/.

This is chattermate/chattermate.chat's own configuration. It tells Claude Code how to work on chattermate.chat itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything chattermate.chat configures →

Reuse

Borrowing it

Nothing to install: this file belongs to chattermate/chattermate.chat. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/chattermate/chattermate.chat/main/.claude/skills/write-e2e-test/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/chattermate/chattermate.chat

Made for: Claude Code.

Wrote 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.

agentmods badge for write-e2e-test

README.md
[![agentmods](https://agentmods.dev/badge/skills/chattermate/chattermate.chat/write-e2e-test/github.svg)](https://agentmods.dev/skills/chattermate/chattermate.chat/write-e2e-test)
Your own site
<a href="https://agentmods.dev/skills/chattermate/chattermate.chat/write-e2e-test"><img src="https://agentmods.dev/badge/skills/chattermate/chattermate.chat/write-e2e-test/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for write-e2e-test

Your own site · 80×15
<a href="https://agentmods.dev/skills/chattermate/chattermate.chat/write-e2e-test"><img src="https://agentmods.dev/badge/skills/chattermate/chattermate.chat/write-e2e-test.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 58 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 612 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00058 $0.00612
Opus 5.5 $0.00023 $0.00245
Sonnet 5.5 $0.00012 $0.00122
Haiku 4.5 $0.00006 $0.00061

Measured 17d ago against content hash bc4178272868, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

write-e2e-test 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 17d 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.

.claude/skills/write-e2e-test/SKILL.md · 34 lines

What it actually says

Writing a ChatterMate e2e test

The suite lives in e2e/. Read e2e/AUTHORING.md first — it is the source of truth for layout and rules. The essentials:

  1. Specs speak product language. specs/<feature>/<name>.spec.ts, imports only from @e2e, no selectors (page.locator) and no raw HTTP — lint fails otherwise. Title ends with tags: @<feature>, plus @smoke only for the few journeys that must run on every PR.
  2. Selectors go in src/pages/ (a screen) or src/components/ (shared UI). Prefer getByRole/getByLabel; if the element has no accessible name, add an aria-label to the Vue component rather than reaching for CSS. CSS needs a one-line "why" comment.
  3. Seed through src/api/, assert through the UI. Need a new endpoint? Add a function to the matching src/api/*.ts module.
  4. Script the AI with llm.script(agent, s => …) — reply, handOver, createTicket, callTool(...).thenReply(...). Replies are structured ChatResponse JSON; handover and tickets are boolean fields, not tool calls.
  5. Fixtures give each test its own agent + widget. test.use({ agentSettings: { transferToHuman: true } }) for handover. inbox is Sam Agent's dashboard in a second browser. Never change org-wide settings outside a *.org.spec.ts.
  6. Prove it is stable before finishing: cd e2e && npx playwright test specs/<feature> --repeat-each=10 && npm run lint && npm run typecheck (start the stack once with ./scripts/stack.sh up; in a Claude worktree pass E2E_PYTHON and E2E_FRONTEND_NODE_MODULES pointing at the main checkout, and run with the sandbox disabled — Postgres, ports and the node_modules symlink need it).
  7. Update e2e/FEATURES.md — the row for the journey, with the spec path and ✅.

Enterprise specs live in the private enterprise_frontend repo under e2e/, import only from @e2e, and must never be added to this public repo.

Changes

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.

  1. 17d ago First seen · 34 lines · 58 tokens per session scan A bc4178272868

Subscribe to this mod's changes

write-e2e-test is a skill published in the GitHub repository chattermate/chattermate.chat (150 stars, last pushed today), licensed Apache-2.0. It adds 58 tokens to every session and 612 once invoked, about $0.0002 per session on Opus 5.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-10-13.

Related

Other skills, from other repositories

web-gui-tester

Use the browser automation tooling available in the session to test web frontends interactively in a purely GUI-based, black-box manner: simulate real user clicks, text input, scrolling, and other actions; use screenshots for visual verification and read-only DOM inspection for cross-validation; and produce a final…

asgeirtj/system_prompts_leaks · 0 tokens

playwright-uitest

Generate Playwright UI tests and visual smoke reports for delivery POC frontends.

DemonDamon/AgenticX · 21 tokens

playwright-skill

Generates production-grade Playwright automation scripts and E2E tests in TypeScript, JavaScript, Python, Java, or C#. Supports local execution and TestMu AI cloud across 3000+ browser/OS combinations and real mobile devices. Use when the user asks to write Playwright tests, automate browsers, run cross-browser tests…

jianchen08/Agent-os-open · 139 tokens

playwright-mcp-skill

Run browser automation through @playwright/mcp over UXC stdio MCP, with daemon-friendly session reuse and safe action guardrails. Use when tasks need deterministic page navigation, DOM snapshots, and scripted browser interaction from CLI.

citedy/adclaw · 52 tokens

browse

Drive a real browser through Aside: open a page, read it, click through a flow, take screenshots, check console errors. (gstack).

garrytan/gstack · 32 tokens

cua-driver

Use Cua Driver for desktop or browser tasks that are awkward or unavailable through Bash/APIs, or when the user explicitly wants GUI interaction: app testing, visual bug reproduction, form filling, calendar entry, screenshots, and demo recording. Also covers Cua setup; not OpenAI Codex Computer Use or web research.

davidondrej/skills · 68 tokens