Skip to content
Testing
Skill

/test-automation-quality-checks

JS automated test validation rules for Scopy plugins. Auto-loads when reviewing or writing test automation scripts in `js/testAutomations/`.

BOOST
From plugin
scopy
50215 skills13 commands1 MCP
Install
$ npx -y skills add analogdevicesinc/scopy --skill test-automation-quality-checks --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/test-automation-quality-checks

Context preview

The summary Claude sees to decide when to auto-load this skill.

JS automated test validation rules for Scopy plugins. Auto-loads when reviewing or writing test automation scripts in `js/testAutomations/`.

SKILL.md

test-automation-quality-checks.SKILL.md
name: test-automation-quality-checks
description: JS automated test validation rules for Scopy plugins. Auto-loads when reviewing or writing test automation scripts in `js/testAutomations/`.

JS Test Automation Quality Check Rules

Apply these 7 validation categories when reviewing or generating JS automated test scripts for Scopy plugins.

---

CRITICAL

[T1] UID Matching

  • Every `TestFramework.runTest("<UID>", ...)` UID must exist **exactly** in the RST test documentation
  • No invented UIDs that are absent from the RST doc
  • No Category A/B RST UIDs that are absent from the JS test files

[T2] API Method Validity

  • Every `<apiObject>.<method>()` call must exist as a `Q_INVOKABLE` in the correct plugin's `*_api.h`
  • No invented or assumed method names — verify against the actual header
  • For cross-plugin calls (where the API object belongs to a different plugin than the one under

test): identify the API object name → match it to the plugin whose `initApi()` calls `setObjectName("<name>")` with that name → validate the method against THAT plugin's `*_api.h`

  • Do not validate cross-plugin methods against the primary plugin's header

[T3] Sleep After Setters

  • Every setter call must be followed **immediately** by `msleep(500)` on the next non-empty line
  • This applies to setter calls on **any** plugin API object, including cross-plugin setters

invoked after `switchToTool()`

  • No setter call may be left without a subsequent sleep

[T4] State Restoration

  • Every test that modifies plugin state must save the original value before changing it
  • The original value must be restored in **all** exit paths: normal completion, early return, and catch block

---

WARNING

[T5] Visual Test Pattern

  • Visual test files must use `TestFramework.supervisedCheck()` — never use `msleep(VISUAL_DELAY)` in visual test files
  • The visual delay constant (`VISUAL_DELAY`) must not appear in visual test files

[T6] File Termination

  • Both the main test file and the visual test file must end with this sequence in order:

1. `disconnectFromDevice()` 2. `printSummary()` 3. `scopy.exit()`

---

INFO

[T7] Coverage

  • Compare RST Category A and Category B UIDs against JS test names
  • Flag any Category A/B UIDs that have no corresponding JS test implementation
Read more
Ships withscopy

Scopy is a software oscilloscope and signal analysis toolset.

Get the whole plugin

Other skills on scopy.