CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

auditing-deidentification-runs

Produce a signed, reproducible, no-PHI audit trail for an OpenMed de-identification run via deidentify(audit=True). Use when the user needs compliance evidence, a tamper-evident record of what was redacted and why, to verify nothing was changed, to retain proof for HIPAA/GDPR audits, or to review de-id decisions without exposing plaintext PHI. Covers the AuditReport / AuditSignature / AuditSpan / DetectorInfo fields, why audits store offsets+hashes+provenance+residual-risk and never plaintext, signing with .sign(key), and verifying with .verify(key). Pairs with OpenMed deidentifying-clinical-text and auditing-safe-harbor-checklist.

72

Quality

91%

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.

A high-quality, dense body: executable quick start, complete API field reference, a justified design-rationale section, a sequenced workflow with inspection and verification checkpoints, and an honest edge-cases list. Remaining room: tighten redundant restatements of the hash/offset fields, add explicit failure handling around .sign()/.verify(), and move the field tables to a reference file to slim the main body.

Suggestions

Trim the 'Why audits store offsets + hashes + provenance' section's restatement of fields already covered in the AuditReport table (offsets, hashes, provenance, residual risk) to a one-line rationale, removing redundant tokens.

Add an explicit error-recovery step to the Workflow, e.g., 'If verify returns False, treat the report as untrusted: re-derive the report from the original input and re-sign before relying on it.'

Move the AuditReport/AuditSpan/DetectorInfo/AuditSignature field tables to a reference file (e.g., references/audit-fields.md) and keep a short field summary inline, making SKILL.md a leaner overview.

DimensionReasoningScore

Conciseness

The body is largely efficient — the Quick start is copy-paste lean and the 'Why audits store offsets + hashes' section is domain rationale Claude would not already know. A few tokens are spent on over-explanation ('The whole point of de-identification is to *not* retain identifiers. An audit log full of raw names and MRNs would itself be a PHI breach') and the hash/offset/provenance fields are restated after already being tabulated, so it is not fully 'every token earns its place' (5).

4 / 5

Actionability

Fully executable Quick start — 'openmed.deidentify(note, policy="hipaa_safe_harbor", audit=True)', 'report.sign(b"my-release-hmac-key", key_id="release-2026")', 'json.dump(report.to_dict(), ...)', 'report.verify(b"my-release-hmac-key", original_text=note)' — plus a complete field-by-field reference table and concrete gotchas ('Empty/None keys are rejected', 'Store the signing key in a secret manager'). Copy-paste ready and covers the common cases.

5 / 5

Workflow Clarity

The 6-step Workflow is clearly sequenced with checkpoints — step 2 'Inspect residual_risk ... non-zero projected leakage means review' and step 5 'Verify on retrieval with report.verify(key)'. It falls short of 5 because there is no error-recovery feedback loop (e.g., what to do when verify fails or a signature is invalid) and the step-2 conditional is a pointer to another skill rather than an explicit loop.

4 / 5

Progressive Disclosure

Well-organized sections with only one-level-deep, clearly signaled pointers (the HIPAA standards URL, sibling skills, and 'openmed/core/audit.py' source paths); no nested references. At ~130 lines with the full AuditReport/AuditSpan/DetectorInfo/AuditSignature field tables inlined, some reference-grade material could be split into a separate file, so the overview/reference split is good but not ideal (anchor 4 rather than 5).

4 / 5

Total

17

/

20

Passed

Description

96%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.

A strong description: concrete capabilities, exact API entry points and data structures, an explicit and well-phrased 'Use when' clause covering compliance/audit/verification triggers, and clear domain scoping. The only weakness is mild trigger overlap with its named sibling auditing/de-identification skills.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions — 'Produce a signed, reproducible, no-PHI audit trail', 'signing with .sign(key)', 'verifying with .verify(key)' — and names the exact data structures (AuditReport, AuditSignature, AuditSpan, DetectorInfo). Coverage is comprehensive with no significant gaps, matching the top anchor rather than the 'minor gaps' of 4.

5 / 5

Completeness

Clearly answers both questions: the 'what' ('Produce a signed, reproducible, no-PHI audit trail ... via deidentify(audit=True)') and an explicit 'Use when the user needs compliance evidence, ... to retain proof for HIPAA/GDPR audits, or to review de-id decisions without exposing plaintext PHI' with concrete trigger phrases. Voice is third person/declarative throughout.

5 / 5

Trigger Term Quality

Covers natural user phrasings comprehensively with synonyms: 'compliance evidence', 'tamper-evident record', 'HIPAA/GDPR audits', 'de-id decisions', 'audit trail', 'verify nothing was changed'. These are the terms a user would naturally say when they need this skill, with no meaningful natural terms missing for the domain.

5 / 5

Distinctiveness Conflict Risk

Scoped to a clear niche (producing/signing/verifying the audit trail) and explicitly pairs with sibling skills, but 'Pairs with OpenMed deidentifying-clinical-text and auditing-safe-harbor-checklist' flags closely related skills that share 'audit'/'de-identification'/'HIPAA' trigger territory — minor overlap risk with a closely related skill, matching anchor 4 rather than the minimal-conflict anchor 5.

4 / 5

Total

19

/

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

Path

skills/auditing-deidentification-runs/SKILL.md

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.