intersystems-community/iris-agentic-dev/iris-coverage-run
Claude Code and agent skill by intersystems-community/iris-agentic-dev
- community
Checking that the SKILL.md file is still in the repository.
Measure ObjectScript line coverage using %Monitor.System.LineByLine. Wraps a %UnitTest.Manager.RunTest() call, collects per-class hit/total counts, prints a coverage table. Prerequisite: iris-coverage-setup (bbsiz=4096, IRIS restarted).
Install
npx vskill@latest install intersystems-community/iris-agentic-dev/iris-coverage-runSKILL.md
/iris-coverage-run — Measure ObjectScript Line Coverage
Run a test suite wrapped in %Monitor.System.LineByLine and report per-class coverage. Prerequisite: /iris-coverage-setup must have been run (bbsiz set, IRIS restarted, $zu(84) verified).
Invoke
Example — fhir-017 full suite:
What this does
- Stops any leftover monitor session (
Stop()is idempotent) - Builds
%Listof INT routine names: each class name +.1suffix %Monitor.System.LineByLine.Start(routines, "", "")%UnitTest.Manager.RunTest(testPath, "/nodelete")%Monitor.System.LineByLine.Stop()- For each routine:
%ResultSet("%Monitor.System.LineByLine:Result").Execute(rtn)
- Each row:
%List(lineNum, execCount, clockTime, totalTime) execCount = -1→ non-executable line (skip — not in denominator)execCount = 0→ executable but not hit (miss)execCount > 0→ hit
- Print table: routine name, hit, total, pct
- Print PASS/FAIL vs 90% target
CoverageRunner reference implementation
The Test.HS.FHIRServer.VectorSearch.CoverageRunner class in fhir-017 is the canonical implementation. Run it directly for fhir-017:
Template for any project
Key caveats
Same-process requirement: The result query MUST run in the same IRIS process that called Stop(). In practice this means one iris session or iris_execute call that does start → test → stop → query. Don't split across calls.
Monitor is global: Only one process can hold the monitor. If another process has it, Start() returns ERROR #6060. Fix: do ##class(%Monitor.System.LineByLine).Stop().
TBLP 127 incompatibility: $zu(84,0,1,1,1,1,1,1) throws <FUNCTION> → monitor not available. Run on dpgenai1 (sqlt146 image) or wait for AI build. See /iris-coverage-setup.
UnitTest output noise is expected: %UnitTest.Manager writes pass/fail output during the monitor window. This doesn't affect coverage counts.
Non-executable lines are NOT counted: Labels, comments, blank lines, class/method declarations all return execCount = -1. Only executable ObjectScript statements count. Coverage = hit executable lines / total executable lines.
Expected output format
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/iris-coverage-run/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/intersystems-community/iris-agentic-dev/iris-coverage-run)