hsb-test
Execute QA test plans on Holoscan Sensor Bridge hardware. Reads a user-provided test document, filters tests by the user's setup, determines which tests can run automatically, executes them with pass/fail evaluation, and produces a structured test results report.
What this skill does
# HSB QA Test Runner Use this skill when the user wants to execute a QA test plan against an HSB board and devkit. The skill reads a test document (local file or web link), filters tests to those that can run automatically on the user's specific hardware setup, executes each test with pass/fail evaluation, and produces a comprehensive results report. This skill assumes the devkit is already set up (SSH, demo container built, host configured, board connected). If setup is not complete, it will offer to invoke `/hsb-setup` first. This workflow runs test applications inside the demo container. Only run it when the user explicitly invokes it. ## Before you start — required gates (do these first, in order) **Gate 1 — Read environment variables.** Before doing anything else, check these variables and print their resolved values to the user: ``` SSH_TARGET Remote devkit login (e.g. [email protected]). Ask the user if not set. REMOTE_ROOT Remote working directory (e.g. /home/nvidia). Ask the user if not set. REMOTE_SUDO sudo / sudo -n / "" — default to "sudo" if not set. REMOTE_SSH_OPTS Additional SSH options (optional). HSB_PLATFORM Platform hint (optional). ``` **SSH_TARGET and REMOTE_ROOT are required. Stop and ask the user for them if either is missing.** **Gate 2 — Present the phase plan, ask for the test document, and get confirmation.** Before taking any action: 1. Show the phase plan: ``` HSB Test — Phase Plan Phase 0: Verify devkit SSH, board ping, and demo container availability Phase 1: Obtain test document, confirm setup, build executable test plan Phase 2: Execute tests, record pass/fail, analyze failures Phase 3: Produce test results report (with option to save) Phase 4: Clean up test artifacts ``` 2. **If the user has not provided a test document path or URL, STOP and ask for it — do not proceed to Phase 0 or any phase until the user provides it**: `Please provide the path or URL to your test document:`. If the user has already specified specific tests (e.g., "connectivity checks only"), state which phases will run and which will be skipped, and note that tests will be filtered to the user's platform/board/sensor configuration and classified as automatable vs. manual. 3. Ask explicitly: `Shall I proceed with Phase 0? [Y/n]` — do not start Phase 0 until the user confirms. ## What this skill must do 1. Verify that the devkit is reachable over SSH, the HSB board is connected and responsive, and the demo container is available. Read the current FPGA version and board identity. Verify the type of sensor/camera and hsb devkit and release repo used either from already set environment variables or from prompting the user. If the setup is not ready, offer to invoke `/hsb-setup` to prepare the devkit. 2. Obtain a test plan document from the user (file path or URL). Confirm the user's setup details collected in Phase 0 (repo location, HSB version, platform, board type, sensors). Study the test plan and the repository's `examples/` directory to determine which tests can run automatically. Skip manual tests and tests requiring additional equipment. Present the executable test plan for user approval. 3. Execute each test case in sequence. For each test: run the application, evaluate pass/fail against the criteria in the test plan, log the result. On failure, analyze logs, suggest fixes, and let the user decide how to proceed before running the next test. 4. Produce a structured test results report with per-test pass/fail status, issues encountered, and fixes applied. Offer to save the report. 5. Clean up all test artifacts (containers, temporary files, session state). ## Linux/Windows-friendly wrapper variables Reuse the same environment variables from the other HSB skills: - `SSH_TARGET` for the remote login target (e.g. `nvidia@agx-thor-host`) - `REMOTE_ROOT` for the remote working directory - `REMOTE_SUDO` for privileged commands - `REMOTE_SSH_OPTS` for additional SSH options - `HSB_PLATFORM` as an optional platform hint If these are set, notify the user of these settings and use them without re-asking. Before Phase 0, print the resolved remote execution settings. ## Mandatory interaction pattern ### First run in a session (no prior verification) When no valid session state exists, show the full phase plan: - Phase 0: Verify board connectivity, demo container readiness, and user setup (release repo, platform, sensor/camera) - Phase 1: Obtain test plan, confirm setup, build executable test list - Phase 2: Execute test plan with per-test pass/fail evaluation - Phase 3: Generate test results report (with option to save) - Phase 4: Cleanup Then execute one phase at a time. ### Subsequent runs in the same session (fast path) When the session state file (`/tmp/.claude_hsb_test_session/state.sh`) exists **and** contains `_SESSION_VERIFIED=true`, the skill skips Phase 0 and Phase 1 setup confirmation because connectivity, hardware, release repo, platform, and sensor/camera were already verified. Instead, inform the user and jump directly to test plan intake: ``` Session already verified — skipping connectivity checks. SSH target: $SSH_TARGET Release repo: /home/work/holoscan-sensor-bridge (HSB vX.X.X) Platform: AGX Thor Board: HSB Lattice | FPGA: XXXX Sensors: Dual IMX274 Proceeding directly to test plan intake. ``` Then execute: - Phase 1 (test plan intake and test list building — setup confirmation is skipped) - Phase 2: Execute test plan - Phase 3: Test results report - Phase 4: Cleanup ### When to re-run Phase 0 from the beginning Phase 0 must be re-run (ignoring the fast path) when: 1. **New session**: No session state file exists on the remote host, or a new Claude Code session is started. 2. **Execution failure suggesting connectivity loss**: If Phase 2 fails with symptoms indicating the board or devkit is unreachable (ping failure, SSH timeout, container launch failure, `No such device` errors), clear `_SESSION_VERIFIED` from the session state and re-run Phase 0 before retrying. 3. **User explicitly requests it**: If the user says "re-verify", "start over", "run from the beginning", or invokes `/hsb-test --full`, run Phase 0 from scratch. See [## Phase gate](#phase-gate--user-confirmation-between-phases) below for the full confirmation protocol. If something fails, do **not** just dump raw logs. Summarize: - the exact command that failed - the likely root cause - what safe action you recommend - whether the issue is blocking ## Phase details See [references/phase-details.md](references/phase-details.md) for full step-by-step phase instructions. ## Execution rules ### SSH heredoc pattern Use the same persistent SSH session model as the other HSB skills. Each phase runs as a single SSH heredoc block: ```bash ssh -o BatchMode=yes $REMOTE_SSH_OPTS $SSH_TARGET bash -s <<'REMOTE' set -e # restore state from previous phase source /tmp/.claude_hsb_test_session/state.sh 2>/dev/null || true cd "${_CLAUDE_CWD:-__REMOTE_ROOT__}" # phase commands echo "=== Phase N: description ===" command1 command2 # save state for next phase (preserves _SESSION_VERIFIED if already set) _PREV_VERIFIED="${_SESSION_VERIFIED:-}" mkdir -p /tmp/.claude_hsb_test_session { echo "export _CLAUDE_CWD=\"$(pwd)\"" echo "export PATH=\"$PATH\"" echo "export REPO_DIR=\"$REPO_DIR\"" echo "export VERSION=\"$VERSION\"" echo "export HSB_PLATFORM=\"$HSB_PLATFORM\"" echo "export BOARD_TYPE=\"$BOARD_TYPE\"" echo "export SENSORS=\"$SENSORS\"" echo "export FPGA_VERSION=\"$FPGA_VERSION\"" echo "export TEST_PLAN_SOURCE=\"$TEST_PLAN_SOURCE\"" [ "$_PREV_VERIFIED" = "true" ] && echo "export _SESSION_VERIFIED=true" } > /tmp/.claude_hsb_test_session/state.sh REMOTE ``` Replace `__REMOTE_ROOT__` with the literal value of `$REMOTE_ROOT` when composing the heredoc. ### Container usage for tests Test commands run inside the demo container. Use the detached pattern with a named container and a watchdog for timeo
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.