shiplight

Shiplight QA toolkit — the single entry point for all Shiplight test/QA work. Use ONLY when the user explicitly says 'shiplight' (e.g. 'write a shiplight test', 'use shiplight to verify X', 'shiplight cover') or invokes /shiplight. Routes to subcommands: init, setup-test-auth, update, create-yaml-te

By shiplightai · 407 installs

npx skills add shiplightai/agent-skills-v2 --skill shiplight

Source repository · Upstream listing

Shiplight The single entry point for Shiplight QA work. This skill takes a subcommand and routes it to the right workflow. Everything Shiplight branded comes through here; the description above is deliberately gated so this skill fires only when the user names "shiplight" or types /shiplight — never on a generic "write a test". Routing contract 1. Identify the subcommand. Match the argument against the dispatch table — do not rely on the first token alone, because synonyms are often multi word ( yaml test , set up tests for my app ) and intents may lead with a non token word ( create yaml test , show failing tests ). In order: (a) an exact canonical token as the leading word; (b) the longest canonical token or synonym phrase the argument contains; (c) overall intent against the synonym/intent column. Pick the single best matching subcommand. 2. Pass through context. Forward whatever the selector didn't consume to the subcommand as context. Natural phrasing is expected — users won't type the exact hyphenated token; match the intent and treat the rest as the target. Examples: /shiplight cover checkout flow → cover + context checkout flow /shiplight create a yaml test for login → create yaml tests (matched on "yaml test") + context for login /shiplight create agent verification for the signup flow → create agent verification (matched on "agent verification") + context for the signup flow 3. Dispatch. Read the matching references/<subcommand .md (or references/<subcommand /index.md for nested subcommands) and follow it, carrying the context forward. 4. Clarify, don't guess. If the selector is empty ( /shiplight alone) or ambiguous (see Ambiguity notes), show the menu and ask one clarifying question — the user wants to act but didn't say how. This differs from help , which is informational: help lists/explains subcommands and never executes (see references/help.md ). 5. Confirm destructive actions. Never auto run init against a non empty project — confirm first. Shared layer On every subcommand invocation (skip for help and support ), identify the test project root, then run references/ shared/update check.md once (daily skill refresh + shiplightai CLI version gate). It can halt the run: a CLI behind the latest published version stops the subcommand before it starts, and offers an upgrade. Each subcommand names the references/ shared/ modules it needs (auth, mcp, evidence and report, project layout, ground truth, knowledge, secrets, vocabularies, test spec template). Read those before acting — they are the single source of truth, not restated per subcommand. Subcommands (menu) Show this grouped menu when invoked bare or when clarifying. Setup init — scaffold a Shiplight test project + write specs/context.md setup test auth — configure login for the application under test and save reusable browser/Playwright state update — refresh installed Shiplight skills + the shiplightai CLI Author create yaml tests — implement deterministic YAML E2E tests from a spec create agent verification — create a reusable agent run verification script cover — decide test format + effort, plan, drive the producers, report Maintain fix — reproduce and repair failing or drifted tests Check verify — verify UI changes in the browser during local development Review review — app quality review (security, privacy, design, performance, …) Ship ci — wire CI workflows + failure triage pipeline cloud — read Shiplight Cloud test results (runs, failing/flaky tests, artifacts) and analytics (health summary, pass rate/run trends, slowest/flaky rankings, failure attribution) Help help — list subcommands, or help <subcommand for details (does not execute) support — get human help: file a support ticket with session diagnostics, check replies End the menu with one footer line: Stuck? /shiplight support reaches a human — the ticket drafts itself from this session. Dispatch table Canonical Synonyms / intents Reference init set up shiplight, new test project, scaffold references/init.md setup test auth test app auth, application under test login, authenticated test account, save test session, storage state references/setup test auth.md update self update, upgrade skills, refresh skills, upgrade the shiplight cli, bump shiplightai, cli out of date references/update.md create yaml tests yaml test(s), create a yaml test, write a yaml/e2e test, deterministic test, e2e test, write a test references/create yaml tests/index.md create agent verification agent verification, create agent verification, verification script, repeatable agent check, live env verification, full stack test, cross layer test, test the whole stack, drive the UI and check the backend/database, verify the backend state too, release smoke test, pre release smoke references/create agent verification/index.md cover coverage, test coverage, what's untested, coverage gaps, testing strategy, plan tests, write a spec, test plan, set up tests for my app, build tests, test this feature references/cover/index.md fix failing test, triage, repair test, update test for product change references/fix.md verify screenshot, verify the change, check the UI, visual check references/verify.md review security review, review my app, accessibility, privacy, performance, seo references/review/index.md ci github actions, ci setup, pipeline references/ci/index.md cloud cloud results, test run results, failing tests, flaky tests, ci results, download artifacts, test health, pass rate, pass rate/run trend, slowest tests, flakiest tests, failure attribution, failure breakdown, analytics references/cloud/index.md support I'm stuck, contact support, talk to a human, human help, shiplight is broken, report a shiplight bug, file a ticket, support ticket, ticket status references/support.md help what can shiplight do, list commands, usage, ? references/help.md Ambiguity notes "test" / "write a test" → could be create yaml tests (deterministic, UI focused) or create agent verification (spans UI and backend state). Default to create yaml tests unless the user signals a core journey, backend/ cross layer proof, release smoke, or live env judgment — but if unclear, ask. "smoke test" → ambiguous alone. A quick UI pass over key screens is create yaml tests ; a pre release check that a core journey works and left the right backend state is create agent verification . Ask which, unless the user names a backend expectation or a release gate. "verify" / "verification" → the verb (check a change now) is verify ; creating a reusable verification script is create agent verification . The create framing is the tell. Ask if the user's phrasing doesn't disambiguate. "triage" → in Shiplight this means fix (repair failing tests). Do not confuse with review 's internal triage/plan step. "failing tests" / "flaky tests" → reading them from CI ("in the cloud", "from the last run", plural reporting) is cloud (hosted results); repairing a broken test ("my test is failing", "fix this") is fix . Ask if the phrasing doesn't say which. "report a bug" / "X is broken" → depends on what is broken. The user's app misbehaving is ground truth to report ( shared/ground truth.md ), not a subcommand; Shiplight itself misbehaving (skill, CLI, cloud API) is support . Ask if unclear which one the user means. "login" / "auth" → ask what is being authenticated when the target is absent. Authentication for the application under test is setup test auth ; Shiplight platform authentication and SHIPLIGHT API TOKEN setup is the CLI command npx shiplight setup api token , not a /shiplight subcommand. After a subcommand completes or aborts (next step suggestion) After a subcommand's final report — including the report of an aborted run — optionally append one next step suggestion. Rules: Evidence only. A suggestion must be triggered by something already observed during the run — the diff analyzed, the failure diagnosed, the project state read. Never run extra analysis (a new git diff, file scan, or browser session) just to decide a suggestion. Silence is the default. No trigger from the table → no suggestion line at all. Failure states mostly suggest nothing: the user's next step is fixing the product, not another Shiplight command. Suggestions fire on success — "you proved it works; now make that durable / continuous / visible." The one failure that does fire is the Shiplight side failure row ( support ), and it fires wherever the run stops — a mid run abort report counts. Gate on the nature of the change. When the run started from a code change that is backend only or barely touches UI, suppress the browser flavored suggestions ( verify , create yaml tests , review design ); cover (picks unit/contract/integration via its capability map) and create agent verification (cross layer live checks) are the useful pointers there. One line, statement not question. Format: Next: /shiplight <cmd — <reason from this run . Never auto run the suggested command; never ask a blocking yes/no. The user decides. At most one suggestion — two only when genuinely forked (e.g. cover vs create yaml tests by scope). Skip entirely in CI / non interactive mode , and after update / help / support . After Trigger observed during the run Suggest init app has login/authed routes setup test auth ; otherwise cover setup test auth invoked to unblock another command resume that command; otherwise nothing verify passed on a meaningful flow with no YAML test covering it cover (feature level) or create yaml tests (single narrow flow) — verify is ephemeral, lock it in verify UI smells seen while driving: missing labels/roles, no data testid s, brittle DOM, console warnings review design (accessibility + testability) verify check failed, or the change was trivial nothing fix diagnosis was product change and the change extends beyond the repaired tests cover <feature to refresh the testing what spec fix repeated locator drift / no stable semantic hooks review design (testability) — root cause the drift instead of re fixing every sprint fix repro came from a CI failure, or several tests shared one source cloud to check blast radius / confirm the next run is green fix diagnosis was an app bug nothing — report the bug ( shared/ground truth.md ) create yaml tests tests pass and no CI E2E workflow exists ci create yaml tests flow's confidence needs API/DB/log state better judged than asserted create agent verification create agent verification case PASS on a now stable path whose proof reduces to fixed conditions create yaml tests (promote to deterministic) — not when its worth is the judgment across evidence create agent verification BLOCKED on login/session bootstrap setup test auth cover produced Shiplight tests, no CI wiring ci cover report rows BLOCKED on auth/env setup test auth review user fixed UI findings in session verify to confirm the fixes render review high severity findings without regression coverage cover ci workflow wired push / open a PR to trigger it, then cloud for the first run's results ci no tests exist yet cover first (precondition, per ci/index.md ) cloud failing/flaky tests attributed spe