Use this file to discover all available pages before exploring further.
stably verify checks whether your application works correctly by describing what it should do in plain English. It launches an AI agent that navigates your app with a real browser, interacts with it, takes screenshots, and reports a structured PASS / FAIL / INCONCLUSIVE verdict.No test files are generated — it verifies and reports.
stably verify "the login form accepts email and password and redirects to /dashboard"
To run verification in a Stably-hosted browser, add --browser=cloud or set STABLY_CLOUD_BROWSER=1. See Cloud Browsers for Stably CLI.
1. You run: stably verify "users can add items to cart and see updated total" |2. Interactive preflight (auto-detects your dev server and credentials) |3. AI agent launches a browser and systematically verifies each requirement - Navigates to the app - Interacts with the UI (clicks, fills forms, scrolls) - Takes screenshots as evidence at each step - Checks DOM state, network responses, and visual output |4. Agent reports a structured verdict: PASS, FAIL, or INCONCLUSIVE |5. CLI prints a formatted summary and sets the exit code - Exit 0 = PASS - Exit 1 = FAIL - Exit 2 = INCONCLUSIVE
# Verify a feature worksstably verify "the login form accepts email and password and redirects to /dashboard"stably verify "the login form accepts email and password and redirects to /dashboard" --browser=cloud# Verify with a specific starting URLstably verify "the pricing page shows 3 tiers" --url https://localhost:3000/pricing# Set a budget cap (default: $5)stably verify "checkout flow completes successfully" --max-budget 10
VERIFICATION PASSEDPrompt: "users can add items to cart and see updated total"Steps performed:1. Navigated to /products2. Clicked "Add to Cart" on first product -> cart badge updated to 13. Clicked "Add to Cart" on second product -> cart badge updated to 24. Opened cart -> shows 2 items with correct total of $45.98Evidence:- Screenshot: products page with items visible- Screenshot: cart showing 2 items and $45.98 total- DOM check: .cart-total element contains "$45.98"
VERIFICATION FAILEDPrompt: "users can add items to cart and see updated total"Steps performed:1. Navigated to /products2. Clicked "Add to Cart" on first product -> cart badge updated to 13. Clicked "Add to Cart" on second product -> cart badge stayed at 1Failure reason:Cart badge did not update after adding second item. Expected "2", saw "1".The cart total also only reflects one item ($22.99) instead of two.Evidence:- Screenshot: cart badge showing "1" after adding 2 items
stably verify is especially powerful when used inside AI coding agents. The agent writes code, then runs stably verify to check if the feature actually works — creating a build-then-verify iteration loop.
You: Build a search bar that filters products by nameAgent: I'll add the search component to the products page... [writes code] Let me verify this works. $ stably verify "the products page has a search bar that filters products by name as you type" --url http://localhost:3000/products VERIFICATION FAILED Steps performed: 1. Navigated to /products — 12 product cards visible 2. Found search input and typed "blue" 3. Product list did not change — still showing all 12 products Failure reason: Search input exists but typing does not filter.Agent: The search input isn't wired up to filter state. Let me fix that... [fixes code] $ stably verify "the products page has a search bar that filters products by name as you type" --url http://localhost:3000/products VERIFICATION PASSED Steps performed: 1. Navigated to /products — 12 product cards visible 2. Typed "blue" in search bar → 2 products shown 3. Cleared search → all 12 products restoredAgent: Search bar is working correctly.
---name: stably-verifydescription: | Verify that an application works correctly using stably verify. Use when an AI agent has made code changes and needs to validate the feature works in a real browser. Triggers on: "verify this works", "stably verify", "check if this works", "validate my changes", "verify my feature".license: MITmetadata: author: stably version: '1.0.0'---# Verify App Behavior with stably verifyUse `stably verify` to check that your application behaves correctly againsta natural language description. The command launches an AI agent that navigatesyour app in a real browser, interacts with it, and reports a PASS/FAIL/INCONCLUSIVEverdict. No test files are generated.## Pre-flightAlways run `stably --version` first. If not found, install with`npm install -g stably` or use `npx stably`.## Usagestably verify "description of expected behavior"stably verify "pricing page shows 3 tiers" --url http://localhost:3000/pricingstably verify "checkout completes" --max-budget 10stably verify "login works" --no-interactive## Options--url <url> Starting URL (auto-detected if omitted)--max-budget <dollars> Budget cap in USD (default: $5)--no-interactive Skip preflight prompts (for CI/agents)## Exit Codes0 = PASS (all requirements verified)1 = FAIL (one or more requirements not met)2 = INCONCLUSIVE (unable to determine — app not reachable, auth wall, etc.)## Iteration LoopAfter making code changes, verify with stably verify. If the verdict is FAIL:1. Read the failure reason and evidence from the output2. Fix the application code based on the specific failure3. Re-run stably verify with the same prompt4. Repeat until PASSImportant: stably verify does not create or modify files. It only observesand reports. Fix the code yourself based on its findings.## Composing in Scriptsstably verify "login works" && echo "Feature verified!"stably verify "checkout completes" ; code=$?if [ $code -eq 0 ]; then echo "PASS";elif [ $code -eq 1 ]; then echo "FAIL";else echo "INCONCLUSIVE"; fi