hardkoded/e2e-dotnet/verify-todomvc

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Start, check, drive, prove, and bug bash the TodoMVC demo web app (samples/TodoMvc) with the .NET port of e2e. Use before claiming a TodoMVC change works, when asked to verify or screenshot a page, or to bug bash it.

Install

npx vskill@latest install hardkoded/e2e-dotnet/verify-todomvc

SKILL.md

Verify TodoMVC

Read .agents/skills/e2e-dotnet/SKILL.md first. This skill only says what is true of this app. The config is samples/TodoMvc/e2e.config.json (one web target, todomvc); the tests are the NUnit classes in samples/TodoMvc that derive from TodoMvcTest. The same steps hold for an xUnit v3 project (topic writing-tests-xunit).

Launch

Nothing to start. The target's app.url is the hosted demo, https://demo.playwright.dev/todomvc. Readiness is the page answering: curl -sI https://demo.playwright.dev/todomvc returns 200. The app needs no env, seeds, or database; the list lives in the browser's storage and every test starts in a fresh browser context, so it starts empty. The real model tests use the GitHub Copilot login (e2e login github-copilot).

Doctor

bash
dotnet test --project samples/TodoMvc --filter "FullyQualifiedName~AddingTodosTests.Adds_a_single_todo" # opens the app, adds a todo; exit 0

The sample has no model-free test, so its Doctor uses the model; a project of your own should add a smoke test that needs none. APP_UNREACHABLE is the network or the demo being down. LOGIN_REQUIRED or MODEL_PROVIDER_FAILED is the model login (topic debugging). A LOCATOR_NOT_FOUND on the todo-item test id is the app itself. Run Doctor first whenever anything looks off.

Drive

Live, over the registered e2e mcp server: open_session, then observe, the verbs, and locate before writing any locator (topic mcp). The catalog offers no credentials and no project tools. Scripted: a class under samples/TodoMvc, Screen.GetByTestId("todo-item") for rows (the footer filters are list items too), Agent.ActAsync for a flow that varies. Every row has the same Toggle Todo checkbox and Delete button, so name the row first: Todo("Task 2").GetByRole("button", "Delete").

Evidence

The proof is the dotnet test result: add --logger "trx;LogFileName=todomvc.trx" and keep the .trx file (topic running). The port writes no report or trace page. A proof drives the page the way a user does, the typed text, the checkbox, the footer filter, and pins the action and the state after it: the row, the N items left counter, the URL hash. Side effects: the list is the browser's local storage (read with Browser.EvaluateAsync<string>); the server keeps nothing. .e2e/cache holds the replay of each verified step; do not edit it.

Bug bash

The bug bash fan-out is not ported, so a bash is a live MCP walk of a feature's charter from features/, one H2 per feature, in the slug|target|charter line format. A finding is a bug once a repro test fails with ASSERTION_FAILED on the assertion that encodes it (topic bug-bash). Give each repro its own data with Values.Unique(...). The demo is hosted and shared, but the list is per browser context, so several walks do not collide.

Cleanup

close_session stops the browser a session started. There is no app to stop. Delete a repro test whose finding was rejected; keep the .trx files and .e2e/cache, which are the proof.

Helpers

None. dotnet test and the e2e tool are the helpers.

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
10
Repository forks
1
7-day trend score
0

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/hardkoded/e2e-dotnet/verify-todomvc/badge)](https://verified-skill.com/skills/hardkoded/e2e-dotnet/verify-todomvc)

Something wrong with this skill or its page? Tell us.