Experimental (preview) Pester skill for migrating classic Should -Be (v5) assertion syntax to the new Should-* (v6) assertions (note the hyphen, no space), e.g. `Should -Be` -> `Should-Be`, `Should -Not -Be` -> `Should-NotBe`. Tracks Pester 6, which is still a release candidate, so this guidance may change; verified against Pester 6.0.0-rc2.
SkillScore83Maintained
Automatic
◆QA & Test Engineering pack
Last verified 8/2/2026
What it changes
Passed 18 of 22 test cases with the skill, and 8 of 22 without it.
Without skill35%
With skill83%
Checks it passed that the model alone missed
uses Should-BeString
uses Should-HaveType
uses Should-BeTruthy
and 9 more in the full report
12 fixed7 passed either way3 still failing1 broke
Pass-rate lift
+48 pp
Tokens
+43%
Agent turns
0%
Response time
-56%
Model gemini-3.6-flashMeasured 8/2/2026v119 of 23 cases passed with skill · 22 comparable
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 12 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 12
Prompt
In our test suite, `$items | Should -HaveCount 4` checks array size. What Pester v6 command and switch should replace this call?
What was checked, without and with the skill
Checked
Without skill
With skill
uses Should-BeCollection
Missed
Passed
specifies element count using -Count parameter
Passed
Passed
case-12 · gemini-3.6-flash · 8/2/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md142 lines2 files
Pester Should -* → Should-* Migration
Convert classic Pester v5 assertions (Should -Be, space then parameter) to the
new Pester v6 Should-* assertions (Should-Be, hyphen, no space).
Status: experimental / preview. Verified against Pester 6.0.0-rc2. The classic
Should -Be style still works in v6, so migrate incrementally and keep the suite green.
Companion skill. This skill covers the optional move to the new Should-* operators.
To upgrade a suite across major Pester versions (v3→v4→v5→v6 — the runtime, mocks, and config),
use the separate pester-migration skill. In v6 the classic Should -Be keeps working, so
adopting Should-* is independent of any version bump.
When to Use
Modernizing a Pester suite to the v6 Should-* assertions.
A user asks to migrate / convert / rewrite Should -... calls.
You want clearer, type-aware failure messages from the new assertions.
Know This First
Both syntaxes work side by side in Pester v6. Migration is optional and can
be done one test (or one file) at a time. Nothing breaks if you leave some classic.
Requires Pester v6+. The Should-* commands do not exist in v5.
Negation is a separate command, not a -Not switch: Should -Not -Be →
Should-NotBe. There is no -Not parameter on the new assertions.
The actual value still comes from the pipeline ($x | Should-Be 1) or from
-Actual (Should-Be -Actual $x -Expected 1). -Because carries over unchanged.
Most renames are mechanical, but several have behavior changes you must check
by hand — see Gotchas.
Procedure
Step 1 — Find the classic assertions
Search the target for the classic space-separated syntax (the tell is Should -,
or Should followed by -Not):