Skip to content

Releases: TestFlowLabs/skills

v1.3.0

26 Feb 14:32

Choose a tag to compare

What's New

--update Mode Support

The skill now covers DocTest v1.9.0's --update flag for automatically fixing stale assertions:

  • CLI Options: Added --update / -u flag documentation
  • FIX Mode: New Step 3 — quick fix with --update for stale assertion values, auto-rewrites <!-- doctest: -->, <!-- doctest-json: -->, and // => with actual output
  • Exit Codes: Updated to reflect --update mode behavior
  • Classification Table: Added display output pattern

<!-- doctest-output --> Directive

New display-only output directive — blocks that get refreshed on --update but are never asserted against:

  • Assertion Reference: Added Display Output Directive section with syntax and options (lines=N, tail=N)
  • Classification Table: Added pattern for "output should be shown but not asserted"

Full Changelog: v1.2.0...v1.3.0

v1.2.0

11 Feb 22:42

Choose a tag to compare

What's New

MAKE-RUNNABLE Mode Rewrite

The MAKE-RUNNABLE mode has been completely rewritten with a new "runnable first, hide second" philosophy:

  • 7-step workflow: Bootstrap Inventory → Classify → Make Runnable → Harden → Hide → Re-verify → Bootstrap Recommendations
  • NEW vs EXISTING block workflows with detailed examples for each scenario
  • Bootstrap profile support — leverage .doctest/ profiles instead of inline // [!code hide]
  • file:N block targeting for fast iteration on individual blocks

Inline Assertion Strategy (// =>)

New cross-cutting strategy for proactively adding // => inline assertions to non-trivial expression lines:

  • HARDEN step added to MAKE-RUNNABLE workflow (Step 4)
  • Placement guide in assertions reference — clear rules for when to add vs skip
  • Integrated into APPLY mode — Step 4 now considers // => for expression lines
  • Principle: under-asserting is worse than over-asserting; users can remove unwanted assertions

Quality Examples

  • APPLY mode: Converting a block with static output
  • FIX mode: Fixing a dynamic output failure (hardcoded year → wildcard)
  • MAKE-RUNNABLE: PriceCalculator API (NEW block), Laravel User model (EXISTING block), complex setup with hide:start/end
  • HARDEN: Multi-step computation with intermediate value verification

Missing Feature Coverage

  • // => dd() debug dump assertion type
  • HTML comment attribute syntax (<!-- doctest-attr: ... -->)
  • bootstrap="profile" attribute with profile discovery and execution order
  • --parallel CLI option
  • file:N block targeting syntax
  • JSON reporter configuration
  • Bootstrap recommendations for repeated patterns

Reference Updates

  • assertions.md: Added Section 7 (Debug Dump) and Inline Assertion Placement Guide
  • attributes.md: Added bootstrap attribute section and HTML Comment Attribute Syntax section
  • make-runnable.md: Complete rewrite (133 → 305 lines) with philosophy, examples, and decision guide
  • shiki.md: Synced to marketplace (was missing from previous release)

Full Changelog: v1.1.0...v1.2.0

v1.1.0 — MAKE-RUNNABLE Mode & Expanded Shiki Support

07 Feb 23:39

Choose a tag to compare

What's New

MAKE-RUNNABLE Mode

New mode that converts non-runnable documentation blocks into executable ones by adding hidden boilerplate with // [!code hide] markers. Hidden lines are invisible in rendered docs (VitePress/Shiki) but execute when DocTest runs the block.

Triggers: "make docs runnable", "add hidden setup"

Expanded Shiki Compatibility Reference

Full marker reference covering all 10+ Shiki markers with processing order documentation and per-marker behavior details.

Reference File Architecture

Detailed documentation split into focused reference files (reference/shiki.md, reference/make-runnable.md) keeping the main SKILL.md concise with summary + links.

Changes

  • feat: Add MAKE-RUNNABLE as 5th skill mode (APPLY, VERIFY, FIX, REVIEW, MAKE-RUNNABLE)
  • feat: Create reference/make-runnable.md — full MAKE-RUNNABLE workflow reference
  • feat: Create reference/shiki.md — full Shiki marker reference (all 10+ markers)
  • feat: Expand Shiki compatibility table in SKILL.md (3 → 10+ markers)
  • docs: Update plugin.json, marketplace.json, README.md with new mode description