SKILLEMALL.ai

BC redacta

Pseudonymises medical and clinical documents by replacing patient identifiers with labelled tokens (e.g. [PATIENT_NAME_1], [NHS_NUMBER_1], [DATE_OF_BIRTH_1]) so the text can be safely processed by AI or shared, with clinical meaning intact. Combines a deterministic pattern layer (NHS numbers with Modulus-11 validation, UK National Insurance numbers, dates of birth, UK postcodes, phone numbers, emails, hospital/MRN numbers) with contextual reasoning for patient names, postal addresses and identifying ages, then returns the redacted document plus a redaction report. Use when the user wants to redact, de-identify, anonymise or pseudonymise a medical letter, clinical note, discharge summary, referral or patient record, or before pasting clinical text into another AI tool. Can also re-identify (reverse the redaction) by restoring original values from a token map, and offers a stricter HIPAA Safe Harbor mode for US de-identification (all dates, ages, and the remaining HIPAA identifiers).

ClawHub Agent Skills author: Nick Lamb v1.2.0 MIT-0 35 files body ≈ 2 000 tokens Open the sourceclawhub.ai analyzed 2 d ago

As a process C 60/100 · Has gaps — weak spots: result and completion, inputs and preconditions, running it twice

AnalyzerData and analyticsInfrastructureWriting and documentstype and topics are labelled automatically from the skill text
JSON
Technical rating
B
86/100
safety, quality, tests
Safety 60%
90
Quality 40%
79
Run on models
none yet
Process rating
C
60/100
Has gaps
Result and completion w 14
0
Inputs and preconditions w 11
0
Progress reporting w 2
0
the three weakest of ten parameters · all ten

How to improve

    For the model run — optional
    • Your own cases (evals/evals.json, 4–6 real requests with expected answers): the full check would then run those instead of a model-drafted suite.
    • A spec.yaml with trigger phrases and assertions — a behaviour contract for CI; `skilltest init` writes a template.

    Guard findings · 10

    ✓ No critical or high findings

    Medium and low: 10
    • low Secrets in code secret-high-entropy-token mcp-server/package-lock.json:40
      High-entropy token-like string (may be an id, hash or a credential) (detector / deny-list definition)
      "integrity": "sha5…RNq/mC+16R1…A0M+/s6ny…wFA==",
      detector
    • low Secrets in code secret-high-entropy-token mcp-server/package-lock.json:121
      High-entropy token-like string (may be an id, hash or a credential) (detector / deny-list definition)
      "integrity": "sha5…kni+7p+2IAE…qay/36uRV/bFkg…gzy+Q==",
      detector
    • low Secrets in code secret-high-entropy-token mcp-server/package-lock.json:224
      High-entropy token-like string (may be an id, hash or a credential) (detector / deny-list definition)
      "integrity": "sha5…da9+CKvM…NUG+b7u/sw==",
      detector
    • low Secrets in code secret-high-entropy-token mcp-server/package-lock.json:258
      High-entropy token-like string (may be an id, hash or a credential) (detector / deny-list definition)
      "integrity": "sha5…LoR/KMvxh/IdwS/paX+Zgpu…vOH+f7Q==",
      detector
    • low Secrets in code secret-high-entropy-token mcp-server/package-lock.json:343
      High-entropy token-like string (may be an id, hash or a credential) (detector / deny-list definition)
      "integrity": "sha5…LwM+gYyu…N57+d4SJ…gEg==",
      detector
    • low Secrets in code secret-high-entropy-token npm-package/package-lock.json:31
      High-entropy token-like string (may be an id, hash or a credential) (detector / deny-list definition)
      "integrity": "sha5…RNq/mC+16R1…A0M+/s6ny…wFA==",
      detector
    • low Secrets in code secret-high-entropy-token npm-package/package-lock.json:60
      High-entropy token-like string (may be an id, hash or a credential) (detector / deny-list definition)
      "integrity": "sha5…kni+7p+2IAE…qay/36uRV/bFkg…gzy+Q==",
      detector
    • low Secrets in code secret-high-entropy-token npm-package/package-lock.json:157
      High-entropy token-like string (may be an id, hash or a credential) (detector / deny-list definition)
      "integrity": "sha5…da9+CKvM…NUG+b7u/sw==",
      detector
    • low Secrets in code secret-high-entropy-token npm-package/package-lock.json:191
      High-entropy token-like string (may be an id, hash or a credential) (detector / deny-list definition)
      "integrity": "sha5…LoR/KMvxh/IdwS/paX+Zgpu…vOH+f7Q==",
      detector
    • low Secrets in code secret-high-entropy-token npm-package/package-lock.json:276
      High-entropy token-like string (may be an id, hash or a credential) (detector / deny-list definition)
      "integrity": "sha5…LwM+gYyu…N57+d4SJ…gEg==",
      detector

    Files scanned: 35. Evidence is masked. Grey chips explain why severity was lowered.

    Against the Agent Skills spec

    ✓ No remarks against the Agent Skills spec

    Process rating: all ten parameters 60/100

    • 0Result and completion. Does not say what the result is
    • 0Inputs and preconditions. Does not say what the process needs to start
    • 0Progress reporting. Says nothing while it works
    • 30Running it twice. 6 mutating operations with no state check
    • 60Tools and files. Uses tools (python) that frontmatter does not declare
    • 70Failures and branches. 7 branches
    • 100Steps. 17 steps
    • 100When it triggers. States when to use and when not to
    • 100Consistency. Name and required fields are in place
    • 100Execution cost. Instruction body is 2000 tokens

    Everything here is measured from the skill text rather than judged by a model, so the numbers are checkable. A parameter weighs more when it is a more common reason for the process to stall.

    Quality signals

    • +5Description has no quoted example phrases that should trigger the skill
    • +4Description does not say when NOT to use the skill (false activations)
    • +3Description length 996: 120–800 characters recommended
    • +3Output format is not stated: the model decides each time
    • -32 of 4 scripts are never mentioned in SKILL.md
    • +2Single-language instructions
    • +4Structure: 11 headings
    • +3Step-by-step instructions: 17 items
    • +4Has examples (3 code blocks)
    • +1License stated

    Quality base 70; lint remarks subtract, signals add up to 100. Result: 79.

    External checks

    ClawHub: clean
    Redacta behaves like a local medical redaction skill, with the main caution that reversible token maps contain the original sensitive identifiers.
    LLM: benign (high) · VirusTotal: · 12 Jun 2026