Install
$ agentstack add skill-realactivity-tula-med-pdf ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
med-pdf
When to Use
✅ Use when:
- The user sends a medical PDF (labs, radiology, discharge, pathology)
- The user shares a screenshot/image of clinical results
- The user asks to compare results across visits or trend a value
- A MyChart/Epic export needs parsing before reasoning
When NOT to Use
❌ Don't use when:
- The PDF is non-medical (insurance, EOB, billing)
- The user wants to author a clinical message -> use
epic-note - Anything that would send PHI outside the workspace
Setup
Profile. Resolve from the precedence in [references/profile-schema.md](references/profile-schema.md#where-the-profile-lives) (skill config -> env var -> ~/.openclaw/workspace/memory/profile.yaml). Use identity.short_name when addressing the user in summaries. The skill never contains the profile.
Workflow
- Extract -
node {baseDir}/scripts/extract.mjs
outDirmust be inside~/.openclaw/workspace/. Suggested:
~/.openclaw/workspace/.med-pdf-cache//.
- Outputs
text.txt,pageN.png,meta.json. Stdout JSON has
numPages, hasText, textChars.
- Branch on
hasText:
true-> skip OCR, feedtext.txtto parsers.false-> image-only (MyChart/Epic). Use theimagetool on
pageN.png for verbatim transcription. Save as text.txt, continue.
- Parse:
- Imaging ->
node {baseDir}/scripts/parse_imaging.mjs - Labs ->
node {baseDir}/scripts/parse_labs.mjs - Both can run on a mixed document.
- Reason. Pull abnormal flags, compare to prior values, surface what
matters for healthspan - see [references/healthspan-priorities.md](references/healthspan-priorities.md). Don't just summarize.
- Persist. Append to
~/.openclaw/workspace/memory/YYYY-MM-DD.mdand
update trends in MEMORY.md. PHI stays in workspace memory only.
Scripts
See [references/scripts.md](references/scripts.md) for per-script flags, output schemas, and dictionary maintenance for parse_labs.mjs.
Examples
See [references/examples.md](references/examples.md) for end-to-end runs (text-extractable Quest/LabCorp PDF, image-only MyChart CT export).
Privacy
Medical PDFs contain PHI (name, DOB, MRN, providers).
- Cache stays under
~/.openclaw/workspace/.med-pdf-cache/. Don't copy out. - Never send raw PDFs or PHI to web search or external services.
- The
imagetool is acceptable - same trust boundary as the assistant. - Redact MRN if a summary might leave the workspace.
Troubleshooting
parse_labs.mjsreturns mostlyunmatchedLines-> text wasn't transcribed
well. Re-run extract.mjs with --scale=3.0 and re-OCR.
- A labeled value sits in
unmatchedLines-> add an alias to the dictionary
in parse_labs.mjs. See [references/scripts.md](references/scripts.md#maintaining-the-dictionary).
hasText: truebut parsing yields garbage -> PDF has hidden Unicode
ligatures; force OCR with --images-only.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: realactivity
- Source: realactivity/tula
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.