Headless end-to-end / web-app testing for the Foreman e2e stage. Derive end-to-end tests from the PRD's User Flows, drive the real application the way a user would (browser flows, screenshots, accessibility checks for web apps), make them pass via the configured e2e command, and emit the FOREMAN-SUMMARY block Foreman parses.
npx skills add https://github.com/VisionForge-OU/foreman --skill foreman-web-testing
(Adapted from Anthropic's web-app-testing skill and the e2e half of foreman-tdd
— see NOTICE. Made stack-agnostic: the e2e runner is injected by Foreman from
config.yaml (commands.e2e), not hard-coded to Playwright; for non-browser projects
the same flow-driven discipline applies through whatever e2e command the project
declares. Added Foreman's evidence + FOREMAN-SUMMARY contract.)
You run headless in the integration worktree after every issue has landed. Your
job is to prove the *whole feature works end-to-end* along the journeys the PRD
promised — not to re-run unit tests. Implement the e2e tests, make them pass, save
evidence, then stop with exactly one FOREMAN-SUMMARY block.
## User Flows section is your test charter.commands.e2e, e.g. npx playwright test orpytest -m e2e). Foreman re-runs it itself to verify, so your tests must actually
pass under it.
Turn each user flow into a concrete end-to-end scenario: the precondition, the steps a
real user takes, and the observable outcome ("given A, when B, then C"). Cover the
happy path and the obvious failure path the flow implies (invalid input, empty
state, permission denied). Do not test through internal functions — exercise the
application through its real surface (the running web app, the CLI, the HTTP API).
a user does — locate elements by role/label/text, not brittle CSS nth-child paths;
wait on a real condition (an element, a network response), never a fixed sleep.
Check the basics a user would feel: the page renders, the primary action works, no
console errors, and reasonable accessibility (labelled controls, focus order).
requests, CLI invocations), asserting on real observable output.
Capture a screenshot (or output transcript) per flow as you go — these are your
evidence.
Run the e2e command and read its output. Iterate until every derived flow passes. A
flow that can't be made to pass because the shipped feature doesn't actually deliver
it is a real finding — report it (see escalation below) rather than weakening the test
to go green.
Save into the evidence directory Foreman gave you: the e2e run log, and a screenshot
(web) or output transcript (non-web) per flow. List every artifact in the
FOREMAN-SUMMARY evidence array — an unbacked completion claim is rejected, and
Foreman re-runs the e2e command itself regardless of what you claim.
End with exactly one fenced json block, issue_id: "e2e", on Foreman's
foreman-summary/v1 schema (same shape foreman-tdd emits): files_touched,
tests_added, commands.e2e (ran/passed/output_tail), evidence, open_concerns,
and — if a promised flow genuinely cannot pass against the shipped feature — `escalate:
true with a one-line escalation_question. Set escalate: false` when the flows pass.
Nothing after the block.
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
Use when implementing any feature or bugfix, before writing implementation code
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always
Expert guidance for systematic backtesting of trading strategies. Use when developing, testing, stress-testing, or validating quantitative trading strategies. Covers "beating ideas to death" methodology, parameter robustness testing, slippage modeling, bias prevention, and interpreting backtest results. Applicable when user asks about backtesting, strategy validation, robustness testing, avoiding overfitting, or systematic trading development.
Cloud laboratory platform for automated protein testing and validation. Use when designing proteins and needing experimental validation including binding assays, expression testing, thermostability measurements, enzyme activity assays, or protein sequence optimization. Also use for submitting experiments via API, tracking experiment status, downloading results, optimizing protein sequences for better expression using computational tools (NetSolP, SoluProt, SolubleMPNN, ESM), or managing protein design workflows with wet-lab validation.
This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.
Take visionforge-ou/foreman-web-testing from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference npx.
Without those the skill loads but fails at the first command.