npx skills add ...
npx skills add shiplightai/agent-skills-v2 --skill 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-tests, create-agent-verification, cover, fix, verify, review, ci, cloud, support, help.
npx skills add shiplightai/agent-skills-v2 --skill 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".
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./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 flowreferences/<subcommand>.md (or
references/<subcommand>/index.md for nested subcommands) and follow it,
carrying the context forward./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).init against a non-empty
project — confirm first.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.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.Show this grouped menu when invoked bare or when clarifying.
Setup
init — scaffold a Shiplight test project + write specs/context.mdsetup-test-auth — configure login for the application under test and save reusable browser/Playwright stateupdate — refresh installed Shiplight skills + the shiplightai CLIAuthor
create-yaml-tests — implement deterministic YAML E2E tests from a speccreate-agent-verification — create a reusable agent-run verification scriptcover — decide test format + effort, plan, drive the producers, reportMaintain
fix — reproduce and repair failing or drifted testsCheck
verify — verify UI changes in the browser during local developmentReview
review — app-quality review (security, privacy, design, performance, …)Ship
ci — wire CI workflows + failure-triage pipelinecloud — 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 repliesEnd the menu with one footer line:
Stuck? /shiplight support reaches a human — the ticket drafts itself from this session.
| 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 |
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.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;
creating a reusable verification script is create-agent-verification. The
create- framing is the tell. Ask if the user's phrasing doesn't disambiguate.fix (repair failing tests). Do not
confuse with review's internal triage/plan step.cloud (hosted results); repairing a
broken test ("my test is failing", "fix this") is fix. Ask if the phrasing
doesn't say which._shared/ground-truth.md), not a
subcommand; Shiplight itself misbehaving (skill, CLI, cloud API) is
support. Ask if unclear which one the user means.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's final report — including the report of an aborted run — optionally append one next-step suggestion. Rules:
support), and
it fires wherever the run stops — a mid-run abort report counts.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.Next: /shiplight <cmd> — <reason from this run>. Never auto-run the
suggested command; never ask a blocking yes/no. The user decides.cover vs
create-yaml-tests by scope).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-testids, 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 spec_issue / drift | fix |
cloud | attribution dominated by app_regression | nothing to run — an app bug to report |
cloud | recorder sessions covering untested flows | create-yaml-tests from the recording |
| any | the run stopped on a Shiplight-side failure with no known fix — CLI crash, unexplained Shiplight API error, or the same step failing twice identically | support — the diagnostics for a ticket are already in this session |