Best for
- Use when asked to QA, dogfood, smoke-test, regression-test, acceptance-test, reproduce, or verify a Lemma app; validate UI behavior against durable pod state; check auth, RLS, delegated workloads, permissions, loading/e…
lemma-work/lemma-platform/lemma-skills/lemma-app-qa/SKILL.md
Test and verify Lemma pod apps through real end-to-end user journeys in authenticated local and deployed contexts. Use when asked to QA, dogfood, smoke-test, regression-test, acceptance-test, reproduce, or verify a Lemma app; validate UI behavior against durable pod state; check auth, RLS, delegated workloads, permissions, loading/empty/error states, responsive layout, accessibility, console/network health, or deployment correctness; and produce evidence-backed defects and a calibrated release v
Decision brief
Prove a precise contract: this principal can complete this journey in this app, and the expected effect persists in this pod under the correct authority. Test outcomes, not pages. Treat a rendered screen, a successful build, READY, or an HTTP 200 as evidence—not completion.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/lemma-work/lemma-platform --skill "lemma-skills/lemma-app-qa"Inspect the Agent Skill "lemma-app-qa" from https://github.com/lemma-work/lemma-platform/blob/5c043f92da510041daad3b02637a371a2aae3f33/lemma-skills/lemma-app-qa/SKILL.md at commit 5c043f92da510041daad3b02637a371a2aae3f33. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Record these facts before testing:
Read the browser skill before driving the app. Let it own browser startup,
Translate requirements into a short, risk-ordered ledger. Define each journey by:
1. Confirm the exact pod and app with Lemma CLI inventory/detail commands. 2. Inspect relevant table schemas, existing fixture rows, file paths, workflow or function definitions, and workload grants without widening access. 3. Capture the pre-test state needed to prove later mut…
Use the Lemma CLI to establish auth instead of copying or hand-wiring tokens:
Permission review
The documentation includes network, browsing, or remote request actions.
lemma apps open --url http://localhost:<port> --no-authEvidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 92/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 385 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Prove a precise contract: this principal can complete this journey in this app,
and the expected effect persists in this pod under the correct authority. Test
outcomes, not pages. Treat a rendered screen, a successful build, READY, or an
HTTP 200 as evidence—not completion.
browser skill before driving the app. Let it own browser startup,
snapshots, refs, waits, screenshots, console, network, sessions, and recovery.
Do not invent or duplicate its command catalog here.lemma-user skill before verifying records, files, runs, messages, or
other pod state from the CLI.lemma-builder/references/apps.md when the app's build, runtime context,
SDK, deployment, or iframe behavior is in question.lemma-builder/references/authorization-model.md before judging RLS,
human roles, workload grants, delegation, personal resources, connectors, or
destructive approvals.Record these facts before testing:
DESIGN.md, product spec, or observed
contract;Use a disposable fixture prefix and retain every created record/file/run id. Do not modify or delete real user data merely to gain coverage. Do not trigger email, payments, connector writes, destructive grants, or other external effects without explicit authority and a controlled account/fixture.
Keep claims inside the observed boundary. Do not present a local pass as a deployed pass, one identity as multi-user coverage, an accessibility-tree scan as screen-reader verification, a mocked denial as proof of server authorization, or a browser-tool failure as an app defect.
Translate requirements into a short, risk-ordered ledger. Define each journey by:
Always include the primary value journey. Add only relevant boundary journeys: retry/recovery, invalid input, refresh/deep-link persistence, concurrent or live updates, permission denial, second-user isolation, assigned workflow waits, delegated agent actions, file/connector behavior, and deployment freshness.
Prefer five deep journeys with durable verification over fifty shallow clicks. Use the ledger in coverage-and-reporting.md.
Separate source checks from product checks in the report. A build pass cannot substitute for a browser journey; an already-broken environment cannot be charged to the new revision without a causal repro.
Use the Lemma CLI to establish auth instead of copying or hand-wiring tokens:
# Deployed app: resolve its served URL and inject current Lemma auth.
lemma apps open <app-slug> --pod <pod>
# Local `npm run dev`: use only when that dev server seeds its own dev token.
lemma apps open --url http://localhost:<port> --no-auth
Use --no-auth only for the self-authenticating local dev flow—not to simulate a
signed-out user. Test sign-out, access request, or another role in an isolated
browser context with a real corresponding identity. Browser profiles and sessions
do not inherit auth from one another.
Exercise local development first when diagnosing quickly, then repeat every release-critical journey against the deployed app. Confirm that the deploy landed: record the release detail, hard-refresh or cache-bust, and verify a revision-unique UI/DOM marker before attributing results to the new build.
Treat lemma apps open as proof of the served app, not automatically of its host.
When people normally enter through the Lemma pod shell, repeat a critical smoke
through that real shell route and verify iframe sizing, focus, navigation, auth, and
reload behavior. Add desktop or other hosts only when they are part of the release
contract.
For every ledger row:
For a suspected defect, reproduce once from a known state before filing it. Capture the smallest complete sequence: before, action, broken result, console or request evidence, and pod-state evidence. Mark a one-off signal as intermittent or unconfirmed; do not inflate it into a deterministic defect.
Match every meaningful UI mutation to an independent durable assertion:
Assert both presence and absence. A successful create must produce one correctly owned row, not duplicates; an unauthorized user must not see it; a failed submit must not leave a partial record. Never infer backend success from optimistic UI.
Use real authorized principals when access behavior is acceptance-critical. Keep each identity in its own browser session and record which one produced each artifact.
404; do not label that as data loss without checking ownership.401 auth failures from human-role denial, workload-grant denial,
delegation-scope violations, and personal-resource denial. Report the exact
response/error code.Exercise these dimensions where the feature exposes them:
375px; add
intermediate widths for layout transitions. Reject hidden essential actions,
accidental horizontal scrolling, clipped dialogs, and touch targets below the
app baseline of roughly 44px.Use safe request stubs/aborts to inspect recoverable UI error states. Do not use a mocked response to claim that RLS, roles, grants, or persistence work in the backend.
Classify severity by user and data impact, not visual drama:
Keep severity separate from evidence status and release scope. Use the evidence and defect templates in coverage-and-reporting.md. Report exact URLs, identity/role, pod/environment, fixture ids, timestamps, expected versus actual behavior, minimal repro steps, and artifact paths.
Issue one verdict:
List untested areas and tooling failures beside the verdict. Never silently convert
NOT VERIFIED into PASS.
Re-read totals and ensure every issue maps to a ledger row or exploratory finding. Remove only disposable fixtures created by this test, by exact recorded id/path, when cleanup is authorized. Verify their removal. List any residual records, files, runs, or external effects that could not be reversed.
Return an answer-first summary, the verdict, critical journey results, defects by severity, verification ledger, coverage gaps, and evidence locations. Preserve the raw screenshots/HAR/traces only when they add diagnostic value; never include tokens, cookies, credentials, private row contents, or connector secrets.
Frequently asked questions
Prove a precise contract: this principal can complete this journey in this app, and the expected effect persists in this pod under the correct authority. Test outcomes, not pages. Treat a rendered screen, a successful build, READY, or an HTTP 200 as evidence—not completion.
The source record exposes this install command: npx skills add https://github.com/lemma-work/lemma-platform --skill "lemma-skills/lemma-app-qa". Inspect the command and pinned source before running it.
Static rules flagged network in the source; the page lists the matching lines and excerpts.
Alternatives
microsoft/Sico
Execute Android UI workflows on a sandbox device, review results, and produce a structured execution report.
upex-galaxy/agentic-qa-boilerplate
Orchestrates in-sprint manual QA per ticket across Stages 1 (Planning), 2 (Execution) and 3 (Reporting). Use for user-story testing, bug retesting, and batch-sprint QA loops. Creates the PBI folder, drives session-start, runs the triage + veto + risk-score decision tree on bugs, produces the ATP + ATR + TC artifacts in the TMS, executes smoke and trifuerza (UI/API/DB) exploration, and files the final QA comment + bug reports. Triggers on: test this ticket, QA this user story, retest this bug, ve
Aperivue/medsci-skills
Design or audit the clinical-validation study for an engineer-built medical-imaging model (segmentation, classification, or detection) before the validation report or manuscript is written. Covers patient-level split disjointness and the data-leakage taxonomy, tuning-on-test, internal versus genuine external validation, comparator design, single-run versus multi-seed variance, task-correct metric selection, test-set sizing, and CLAIM 2024 / TRIPOD+AI / STARD-AI reporting fit. Ships a determinist
vasilyu1983/AI-Agents-public
Guides iOS testing with XCTest, XCUITest, Swift Testing, simctl, and xcresult. Use when choosing destinations, controlling flakes, or parsing test artifacts for native apps.