create-tests
Create, update, and repair local Shiplight YAML E2E tests. Use for Shiplight test projects, including project setup, specs, auth setup, YAML implementation, validation, and test maintenance.
What this skill does
# Create Shiplight Tests This is the single entry point for Shiplight E2E test work. Use this skill when the user wants to: - Create a new local Shiplight test project - Add YAML tests for a web application - Update or fix existing Shiplight YAML tests - Set up or repair target URLs, accounts, or auth setup - Plan what product behavior should be tested ## Daily Skill Update Check Before starting this skill's work, opportunistically refresh Shiplight skills at most once per day: 1. Check the timestamp file at `.shiplight-agent-skills-last-update` in the current project. 2. If the timestamp file is missing, create it with the current timestamp and continue without running `npx -y skills@latest update -y`. Treat `.shiplight-agent-skills-last-update` as local cache and do not commit it. 3. If the timestamp file exists and is older than 24 hours, run `npx -y skills@latest update -y`, then create/update the timestamp file even if the command fails. 4. If the update command fails, continue with the currently installed skill and mention the failure briefly. ## Test Project Root Before reading or writing project files, identify the Shiplight test project root. All paths in this skill are relative to that root. If the root is not clear, ask the user to confirm it before creating or moving files. ## Canonical Project Layout Shiplight test projects use this layout: ```text specs/context.md project-level app, risk, data, and target-deployment context specs/tests/ Markdown specs, each covering a feature or journey group tests/ executable Shiplight YAML tests playwright.config.ts project-level Playwright config, shared auth, and runtime defaults auth.setup.ts shared-account Playwright auth setup, if needed auth/ optional auth helpers or per-test login scripts templates/ reusable YAML statement groups, if any helpers/ TypeScript helper functions, if any fixtures/ fixture files, if any knowledge/ durable notes discovered by agents test-results/ generated runtime artifacts; do not edit shiplight-report/ generated reports; do not edit .shiplight/ local Shiplight state; do not edit ``` Read `references/project-layout.md` before making file changes. ## Ground Truth When sources disagree, this precedence applies: 1. Explicit user instruction 2. Feature or journey spec in `specs/tests/` 3. Existing YAML test `goal`, step `intent`, and `VERIFY` assertions 4. Current app behavior 5. Project context in `specs/context.md` and `knowledge/` 6. Agent docs in this skill 7. Agent inference If current app behavior conflicts with a spec or test goal, report the mismatch. Do not silently rewrite intent to match current behavior. ## Required Startup On every invocation: 1. Identify the Shiplight test project root. 2. Read `references/project-layout.md`. 3. Read `references/knowledge.md`. 4. Check `knowledge/` under the test project root for notes relevant to the task. 5. Load the task-specific guides below. 6. Tell the user which guides you loaded, then proceed. ## Task-Specific Guides | Task | Guides | |------|--------| | New project or broad planning | `references/workflow.md`, `references/project-layout.md`, `references/test-design-guide.md` | | Writing new tests | `references/new-tests.md`, `references/test-design-guide.md`, `references/test-implementation-guide.md` | | Updating or fixing tests | `references/updating-tests.md`, `references/test-design-guide.md`, `references/test-implementation-guide.md` | | Auth setup and login | `references/auth.md` | | Running tests in CI / GitHub Actions | `references/ci.md` | | YAML syntax or actions | `references/test-implementation-guide.md`; also read `shiplight://yaml-test-spec` and `shiplight://schemas/action-entity` before writing YAML | ## Core Rules - Always produce durable artifacts unless the user explicitly asks to skip them. - Specs describe feature or journey-group confidence. A spec may map to many smaller YAML tests. - Keep YAML tests focused. One YAML test should verify one logical journey or variant. - Do not write YAML from imagination. Walk the app in a browser first and capture real locators. - Validate YAML with `validate_yaml_test` after writing it. - Reflect before finishing. Capture durable knowledge learned from the user or the work, and update stale knowledge instead of leaving contradictions. - Keep context current. Durable project knowledge belongs in `specs/context.md` or `knowledge/`, not in chat history. - Never store raw secrets. Commit only variable names, roles, access patterns, and setup instructions. ## User Checkpoints For broad test creation, confirm the planned outcomes before implementation: > Do these outcomes match the confidence you need from this test project? Any business-critical outcome missing or incorrectly out of scope? For narrow requests such as "fix this failing test" or "add this one test", proceed without a broad checkpoint unless the spec is ambiguous or conflicts with app behavior. ## Final Report After changes, report: - Files created or changed - Behavior covered or repaired - Commands run and pass/fail result - Knowledge or context updated, including stale notes corrected - Any product/spec mismatch or unresolved blocker
Related in Code Review
gstack
IncludedFast headless browser for QA testing and site dogfooding. Navigate pages, interact with elements, verify state, diff before/after, take annotated screenshots, test responsive layouts, forms, uploads, dialogs, and capture bug evidence. Use when asked to open or test a site, verify a deployment, dogfood a user flow, or file a bug with screenshots. (gstack)
startup-due-diligence
IncludedLegal due diligence review for seed-stage and Series A startups (US, Delaware C-Corp focus). Supports both investor and founder perspectives. Capabilities include: (1) Interactive document review and issue spotting; (2) Document request list generation; (3) Cap table and SAFE/convertible note analysis; (4) Red flag identification with severity ratings; (5) Diligence report generation. TRIGGERS: due diligence, DD, startup investment, cap table review, Series A, seed round, investor diligence, legal review startup, SAFE analysis, convertible note, 409A, founder vesting.
interview-master
IncludedThis skill should be used when the user asks to "generate interview questions", "prepare for interview", "optimize resume", "conduct mock interview", "analyze git commits for resume", "generate resume from code", "review my resume", or mentions interview preparation, career assistance, or extracting project experience from git history. Provides comprehensive interview and career development guidance for both job seekers and interviewers.
fix-issue
IncludedFixes GitHub issues using parallel analysis agents for root cause investigation, code exploration, and regression detection. Reads issue context from gh CLI, searches codebase and memory for related patterns, generates a fix with tests, and links the resolution back to the issue via PR. Includes prevention analysis to avoid recurrence. Use when debugging errors, resolving regressions, fixing bugs, or triaging issues.
sf-apex
IncludedGenerates and reviews Salesforce Apex code with 150-point scoring. TRIGGER when: user writes, reviews, or fixes Apex classes, triggers, test classes, batch/queueable/schedulable jobs, or touches .cls/.trigger files. DO NOT TRIGGER when: LWC JavaScript (use sf-lwc), Flow XML (use sf-flow), SOQL-only queries (use sf-soql), or non-Salesforce code.
swift-development
IncludedComprehensive Swift development for building, testing, and deploying iOS/macOS applications. Use when Claude needs to: (1) Build Swift packages or Xcode projects from command line, (2) Run tests with XCTest or Swift Testing framework, (3) Manage iOS simulators with simctl, (4) Handle code signing, provisioning profiles, and app distribution, (5) Format or lint Swift code with SwiftFormat/SwiftLint, (6) Work with Swift Package Manager (SPM), (7) Implement Swift 6 concurrency patterns (async/await, actors, Sendable), (8) Create SwiftUI views with MVVM architecture, (9) Set up Core Data or SwiftData persistence, or any other Swift/iOS/macOS development tasks.