.claude/skills/test-results/SKILL.md
Query reference test results captured from real tclsh (8.4–9.0). Look up individual tests, search groups, view suite summaries, and compare results across Tcl versions.
npx skillsauth add bitwisecook/tcl-lsp test-resultsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Reads reference test results from tests/test_reference/<version>/ (captured
by scripts/capture_reference_test_results.sh) and provides quick lookups
at any granularity: individual test, group within a suite, or full suite.
python3 .claude/skills/test-results/test_results.py <command> [args...]
| Command | Arguments | What it does |
|---|---|---|
| status | | Show which versions and suites have reference data |
| summary | [VERSION] | Summary table: suite, total/pass/skip/fail, pass rate |
| suite | SUITE [VERSION] | Full results for one suite — lists every PASS/SKIP/FAIL |
| group | PATTERN [VERSION] | All tests matching a glob pattern across suites |
| lookup | TEST_NAME [VERSION] | Look up one test by name, show status in all versions |
| compare | SUITE | Cross-version comparison for a suite (8.4 vs 8.5 vs 8.6 vs 9.0) |
| source | TEST_NAME [VERSION] | Extract test source code, parsed options, and file-level setup |
8.4, 8.5, 8.6, or 9.0. Defaults to best available (9.0 > 8.6 > 8.5 > 8.4).compExpr-old or compExpr-old.test (both work).compExpr-old-1.*, expr-old-2?.*, parse-*.
If no wildcards, * is appended automatically.expr-old-29.1, compExpr-old-1.1.$ python3 .claude/skills/test-results/test_results.py summary 9.0
Reference test results — Tcl 9.0
Suite Total Pass Skip Fail Rate
──────────────────────────────── ─────── ─────── ─────── ─────── ──────
compExpr-old.test 184 184 0 0 100.0%
compExpr.test 82 82 0 0 100.0%
expr-old.test 461 426 35 0 100.0%
$ python3 .claude/skills/test-results/test_results.py lookup expr-old-29.1
expr-old-29.1 SKIP (testexprlong) in expr-old.test
Across all versions:
Tcl 8.5: SKIP (testexprlong)
Tcl 8.6: SKIP (testexprlong)
Tcl 9.0: SKIP (testexprlong)
$ python3 .claude/skills/test-results/test_results.py group "compExpr-old-1.*" 9.0
Tests matching 'compExpr-old-1.*' — Tcl 9.0
12 matches
PASSED (12):
compExpr-old-1.1 (compExpr-old.test)
compExpr-old-1.2 (compExpr-old.test)
...
$ python3 .claude/skills/test-results/test_results.py compare expr-old
Cross-version comparison: expr-old
Version Total Pass Skip Fail Rate
────────── ─────── ─────── ─────── ─────── ──────
Tcl 8.4 385 350 35 0 100.0%
Tcl 8.5 461 426 35 0 100.0%
Tcl 9.0 461 426 35 0 100.0%
Tests that differ between versions (76):
...
$ python3 .claude/skills/test-results/test_results.py source incr-1.28 8.6
=== incr-1.28 (incr.test:219 — Tcl 8.6) ===
Reference result: PASS
--- File-level setup ---
proc readonly varName {
upvar 1 $varName var
trace add variable var write \
{apply {{args} {error "variable is read-only"}}}
}
--- Test ---
test incr-1.28 {TclCompileIncrCmd: runtime error, readonly variable} -body {
set x 123
readonly x
list [catch {incr x 1} msg] $msg $::errorInfo
} -match glob -cleanup {
unset -nocomplain x
} -result {1 {can't set "x": variable is read-only} {*variable is read-only ...}}
--- Parsed ---
Name: incr-1.28
Description: TclCompileIncrCmd: runtime error, readonly variable
Body: set x 123 \n readonly x \n list [catch {incr x 1} msg] ...
Result: 1 {can't set "x": variable is read-only} ...
Match: glob
Cleanup: unset -nocomplain x
Reference data must be captured first:
./scripts/capture_reference_test_results.sh
$ARGUMENTS
development
Apply LSP optimiser suggestions to a Tcl file and explain why each optimisation is safe and beneficial. Covers constant folding, propagation, dead code elimination, strength reduction, and expression canonicalisation. Use when optimising Tcl code, improving .tcl file performance, refactoring Tcl scripts for efficiency, or applying language server optimisation suggestions.
development
Apply LSP optimiser suggestions to an F5 iRule and explain why each optimisation is safe and beneficial. Covers constant folding, propagation, dead code elimination, strength reduction, and expression canonicalisation. Use when optimising iRule code, improving iRule performance, applying F5 iRule optimisations, or refactoring iRules for efficiency.
development
Create Tk GUI code from a description with proper widget hierarchy. Generates the code, validates with the LSP analyser (including TK-specific checks), and iterates until clean. Use when creating Tk GUIs, generating Tcl/Tk code from descriptions, building Tk widget layouts, or scaffolding Tk applications.
development
Run full LSP validation on a Tcl file and produce a categorised report of all issues: errors, security, style, and optimiser suggestions. Use when validating Tcl code, linting .tcl files, checking Tcl script quality, or running static analysis on Tcl scripts.