CtrlK
BlogDocsLog inGet started
Tessl Logo

enforcing-nophi-logging

Add a logging and telemetry guard that scrubs or blocks PHI from logs, traces, and error reports around an OpenMed deployment. Use when the user wants a Python logging.Filter that redacts protected health information before records are emitted, wants to keep PHI out of OpenTelemetry spans or error trackers, needs structured no-PHI log fields, or is worried that logs and stack traces are leaking patient data. Trigger on "scrub logs", "redact PHI from logs", "no-PHI logging", "logging filter", "telemetry redaction", "logs leaking patient data", or "OpenTelemetry redaction" in an OpenMed deployment.

74

Quality

93%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

82%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is a strong, dense skill: executable quick-start code with the critical gotchas documented (record.args clearing, fail-closed, fan-out, per-level enforcement), a clear sequenced workflow with a test step, and project-specific hand-offs to related OpenMed skills. The only gaps are the absence of code for the OTel/error-tracker path and an explicit re-validation loop in the workflow.

Suggestions

Add a short executable snippet for the OpenTelemetry path (e.g., a SpanProcessor.on_end implementation reusing _scrub) to match the logging path's concreteness.

Extend the workflow's test step into a validate-fix-retry loop: 'if a PHI string survives the round trip, fix the pattern/hook and re-run the test until clean.'

Consider moving the standards/links block into a references/ file if the skill grows, keeping SKILL.md as a lean overview.

DimensionReasoningScore

Conciseness

The body is lean and assumes Claude's competence: no explanation of what logging or PHI generically is; every section carries project-specific knowledge (fail-closed semantics, record.args re-injection gotcha, offset-based redaction order, latency budgeting). The brief intro is the only borderline motivational text, but it establishes OpenMed-specific context rather than generic padding.

5 / 5

Actionability

The Python logging path is fully executable and copy-paste ready (complete NoPHIFilter class, compiled regexes, handler wiring, structured-fields example). The OpenTelemetry/error-tracker section, however, gives only directive guidance ("add a SpanProcessor.on_end... that runs the same _scrub", "register a before_send hook") with no concrete code — a minor gap on one of the two main sink types.

4 / 5

Workflow Clarity

The 6-step workflow is clearly sequenced (inventory sinks → regex pre-filter → model fallback → structured fields → fail closed → test) and ends with an explicit validation step ("Unit-test that known PHI strings never survive a round trip through the filter, including in exception messages"). It lacks an explicit error-recovery feedback loop (test fails → fix → re-test), keeping it just below the anchor-5 example.

4 / 5

Progressive Disclosure

No bundle files exist and none are referenced; all content is inline under clear, well-ordered sections appropriate for a ~150-line single-purpose skill. Structure is good throughout, though the edge-cases and standards sections sit inline where a references/ file could carry the standards material if the skill grows — minor organization headroom rather than a defect.

4 / 5

Total

17

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is exemplary: it states concrete capabilities in third person, provides explicit 'Use when' guidance plus a dedicated trigger-term list with natural synonyms, and is tightly scoped to no-PHI logging in OpenMed with no over-claiming or padding.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions: "scrubs or blocks PHI from logs, traces, and error reports", "a Python logging.Filter that redacts protected health information before records are emitted", "keep PHI out of OpenTelemetry spans or error trackers", and "structured no-PHI log fields" — comprehensive coverage with no vague filler.

5 / 5

Completeness

It explicitly answers both "what" (add a logging/telemetry guard that scrubs or blocks PHI from logs, traces, and error reports) and "when" ("Use when the user wants..." plus an explicit "Trigger on..." clause with concrete trigger phrases), matching the anchor-5 example structure.

5 / 5

Trigger Term Quality

Trigger phrases are comprehensive and natural: "scrub logs", "redact PHI from logs", "no-PHI logging", "logging filter", "telemetry redaction", "logs leaking patient data", "OpenTelemetry redaction" — these include synonyms and phrasings a user would actually say (e.g., "logs leaking patient data" captures the worry framing).

5 / 5

Distinctiveness Conflict Risk

It carves a clear niche — PHI redaction in logs/traces/error reports around an OpenMed deployment — with distinct triggers that would not collide with general logging skills or other PHI skills (de-id gating, extraction). Conflict risk is minimal.

5 / 5

Total

20

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
maziyarpanahi/openmed
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.