CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

testland/presidio-pii-detection

Use when existing data (datasets, logs, free text) must be scanned for personal data or redacted: Microsoft Presidio analyzer and anonymizer, built-in recognizers for names, emails, cards, SSNs, IBANs and national IDs, custom pattern recognizers, score thresholds and CI gates.

Quality

90%

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

Overview
Quality
Evals
Security
Files

Quality

Content

85%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, execution-focused body: complete runnable code with expected outputs, explicit validation and feedback loops on the batch and CI paths, and a clean one-level-deep split of lookup tables into references/entity-catalog.md. The remaining issues are small — an undefined 'ops' variable in the batch example and repeated doc-link/companion-catalog mentions that could be trimmed.

Suggestions

Define the 'ops' operator map (or import it from the earlier snippet) in the batch-processing example so it runs as-is.

Deduplicate the presidio.dataprivacystack.org/analyzer link in the Authoring section and consolidate the repeated pointers to the pii-masking-pipeline-builder catalogs into the References section.

DimensionReasoningScore

Conciseness

The body is largely lean, code-forward, and limited to Presidio-specific knowledge Claude lacks, but there is trimmable redundancy: the analyzer docs link is given twice in the Authoring section, the pointer to the pii-masking-pipeline-builder catalogs is repeated five times across sections, and one sentence restates what the preceding code already shows. This fits 'efficient; minor instances of over-explanation that could be trimmed' rather than the every-token-earns-its-place bar of a 5.

4 / 5

Actionability

Nearly all examples are copy-paste ready with expected output (install, analyze, entity whitelist, PatternRecognizer, OperatorConfig map, CI workflow plus scan script), but the batch-processing snippet calls 'operators=ops' with 'ops' never defined in that snippet or earlier ones. That undefined variable is exactly the 'concrete code with minor gaps' of a 4, keeping it below fully-executable coverage of common cases.

4 / 5

Workflow Clarity

The document progresses coherently (Install → detect → restrict entities → custom recognizers → anonymise → batch → CI), and both batch and CI paths have explicit validate-fix-retry loops: the residual re-scan that raises 'residual PII after masking' before a row is written, and the BLOCK line described as a feedback loop the author iterates until 'No blocking PII found.'. This matches the top anchor — explicit validation steps with feedback loops for error recovery — and the batch-operation validation cap does not apply since validation is present.

5 / 5

Progressive Disclosure

Scored against the actual bundle: references/entity-catalog.md exists, is one level deep, and is clearly signaled via a markdown link; it holds the full entity lookup tables while SKILL.md keeps only a summary paragraph and the runnable examples. The split is appropriate (runnable code inline, reference tables external), matching the well-signaled one-level-deep structure of the top anchor rather than the minor-organization-gaps of a 4.

5 / 5

Total

18

/

20

Passed

Description

92%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: specific, tool-named, and with an explicit and concrete 'Use when' trigger clause covering datasets, logs, and free text. The only meaningful gap is keyword coverage — the acronym 'PII' and synonyms like 'anonymize'/'mask' are missing, which are terms users would most naturally say.

Suggestions

Add the keyword 'PII' (and 'personally identifiable information') to the trigger clause — it is the most natural term users say for this task.

Include the synonyms 'anonymize' and 'mask' alongside 'redacted' so the description triggers on the full range of natural phrasings.

DimensionReasoningScore

Specificity

The description enumerates concrete capabilities across the skill's full surface: 'scanned for personal data or redacted', 'built-in recognizers for names, emails, cards, SSNs, IBANs and national IDs', 'custom pattern recognizers', 'score thresholds and CI gates'. No meaningful capability is left unnamed, matching the comprehensive-coverage anchor rather than the minor-gaps anchor at 4.

5 / 5

Completeness

An explicit 'Use when existing data (datasets, logs, free text) must be scanned for personal data or redacted' clause answers 'when' with concrete trigger conditions, and the tool/feature list (analyzer, anonymizer, recognizers, thresholds, CI gates) clearly answers 'what'. Both are explicit and concrete, matching the top anchor rather than the merely-adequate 'when' of a 4.

5 / 5

Trigger Term Quality

Natural phrases like 'datasets, logs, free text', 'personal data', 'redacted', 'emails', and 'SSNs' give good coverage, but the field's most natural keyword 'PII' is absent, along with common synonyms 'anonymize' and 'mask'. This fits 'good keyword coverage; a few natural terms missing' rather than the comprehensive synonym coverage of a 5.

4 / 5

Distinctiveness Conflict Risk

It names a specific tool (Microsoft Presidio) and a detection-centric trigger ('must be scanned for personal data'), establishing a clear niche distinct from sibling masking or synthetic-generation skills. Only trivial overlap via the word 'redacted', below the 'minor overlap risk' that would cap it at 4.

5 / 5

Total

19

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

15

/

16

Passed

Reviewed

On this page