Use when the user asks to run E2E tests, verify a web page, generate tests for an app, prove destructive actions are blocked, check if a UI element is visible, fill out a form, or drive a browser with natural language. Returns per-step results with safety classifications, policy decisions, DOM diffs, structured page context, and a signed audit trail.
95
92%
Does it follow best practices?
Impact
98%
2.80xAverage score across 5 eval scenarios
Low
Low-risk findings worth noting
The canonical home for this skill is vitron-ai/alethia
Use when:
alethia_propose_tests)alethia_assert_safety)For deeper references:
The alethia-mcp MCP server must be configured in your agent's MCP config:
{
"mcpServers": {
"alethia": { "command": "alethia-mcp" }
}
}If not installed: npm install -g @vitronai/alethia. The bridge auto-installs the signed headless runtime on first use.
alethia_status to verify the runtime is healthy and the kill switch is inactive.alethia_propose_tests with the target URL. Returns a tests: string[] of ready-to-run NLP test blocks plus a summary of what was discovered (headings, buttons, inputs, destructive actions).alethia_tell with the block as input.run.ok, inspect per-step stepRuns.nearMatches / suggestedFix / pageContext fields — they're structured JSON, not prose. Use suggestedFix to retry the step.alethia_assert_safety with the target URL (and optional profile).{ passed, totalDestructive, blocked, results: [{action, blocked, detail}] }.passed: true means every destructive action on the page was denied by the EA1 policy gate — that's the compliance proof the user asked for.passed: false), surface it prominently; the safety gate has a gap and the user needs to know.alethia_status for liveness.alethia_compile to preview the Action IR.alethia_tell with newline-separated plain-English instructions.Navigation:
navigate to file:///path/to/page.html
navigate to http://localhost:3000/loginAssertions (use these phrasings):
assert Login is visible
assert Welcome to Dashboard is visible
assert Sign In button is visibleVerifiable safety — expect block: (unique to Alethia):
expect block: click Delete
expect block: click Liquidate AllThe step passes if the EA1 gate blocks it, fails if the gate lets it through. Use this to prove your app's safety boundary works. This is the primitive that makes Alethia a verifiable-safety framework, not just a test runner.
Typing into fields:
type admin@example.com into the email field
type hello world into the message fieldNever include real passwords, tokens, or secrets in NLP instructions. They flow through the agent's context and conversation history. The runtime blocks sensitive input fields (password, credit card, SSN) by default — use allowSensitiveInput: true with dummy test credentials only.
Clicking:
click Sign In
click the Reset button
click #specific-element-idWaiting:
wait 500 millisecondsEvery alethia_tell response returns top-level structured fields for agent self-repair — don't regex-parse prose:
nearMatches: string[] — elements close to the failed selectorsuggestedFix: string | null — corrected selector/NLP the agent can retry withpageContext: { title, headings, buttons, inputs } | null — structured page stateUse these when a step fails: pick from nearMatches, apply suggestedFix, retry.
Each alethia_tell call returns a PlanRun with:
run.ok — true if all steps passed, false if any step failed or was blockedrun.elapsedMs — total wall clock time for the entire flowrun.stepRuns[] — per-step results with ok, attempts, elapsedMs, detail, safetyClass, policyDecision, reasonCode, plus a snapshot (per-step PNG) when capture: truerun.policyAudits[] — per-step EA1 audit records with timestamp, decision, reasonCode, policyProfilerun.integrity.payloadHash — SHA-256 hash of the canonical PlanRun (tamper detection)nearMatches, suggestedFix, pageContext (see above)| Class | Examples | Default policy |
|---|---|---|
read | navigate, assert, wait | always allowed |
write-low | type into field, set value | allowed by default |
write-high | click Submit, click Delete, click Purchase | blocked by default |
When a step is blocked with DENY_WRITE_HIGH, this is correct behavior — the EA1 policy gate is protecting the user from unintended destructive actions. Explain this to the user rather than trying to work around it.
When the user explicitly asks to verify that destructive actions are blocked (compliance, safety review), use expect block: in NLP or call alethia_assert_safety. A blocked step in expect block: mode counts as a PASS.
Common reasonCode values on step results:
ALLOW — step executed normallyDENY_WRITE_HIGH — write-high action blocked by policy (correct behavior)DENY_SENSITIVE_INPUT — password/token/card input blockedKILL_SWITCH_ACTIVE — runtime halted by operatorEXPECT_BLOCK_VIOLATED — expect block: step was NOT blocked (policy gate failure — hard fail)capture: true mode is supported for NLP that includes navigate to. For no-navigate runs, a single end-of-run screenshot is captured.0ada961
Canonical home
since Apr 9, 2026
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.