CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

sensitive-data

Rosetta CRITICAL MUST skill. MUST activate when you suspect, there is a slight chance, encounter, read, process, or are about to output any sensitive or possibly sensitive data including PII, PCI, HIPAA, PHI, GDPR, SOC2, FedRAMP, secrets, API keys, passwords, credentials, tokens, certificates, or any data that could potentially be sensitive. Applicable for coding too

Quality

59%

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

Fix and improve this skill with Tessl

tessl review fix ./instructions/r2/core/skills/sensitive-data/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

65%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 lean, well-organized instruction-only skill with one genuinely concrete mechanism (the [REDACTED:<type>] masking format) and useful pitfalls. The main weaknesses are incomplete actionability — 'report', 'apply respective guidance', and 'guide user' lack specifics — and a process whose steps are listed but not operationally sequenced or verified.

Suggestions

Reorder the process so masking is the immediate response (step 1 after encounter), then reporting, then the approval branch — currently masking sits at step 6 after directives it should precede.

Add a verification checkpoint, e.g. 'Before sending any response or writing any file, re-scan it to confirm no raw sensitive values remain', which also addresses the echo-in-diffs pitfall.

Replace the vague coding directives ('Identify and apply respective guidance', 'Guide user for correct implementation') with concrete guidance such as specific patterns (env-var injection instead of hardcoded secrets, masking in logs and diffs) or an example of a masked code snippet.

DimensionReasoningScore

Conciseness

At ~30 lines with no filler and no explanations of concepts Claude already knows, the body is efficient — the masking format with concrete examples ('[REDACTED:API_KEY]', '[REDACTED:PASSWORD]') earns its tokens. It falls short of 5 because step 5 ('NEVER output, echo, print, log, summarize, or reference...') and the coding section's first bullet largely restate step 1's prohibition list, and the redundant DO/NEVER lists could be collapsed.

4 / 5

Actionability

The masking rule is concrete and executable ('MASK immediately using `[REDACTED:<type>]`' with two worked examples), and the approval condition ('MUST ask explicit user approval first') is a clear directive. But several directives are vague: 'report without exposing raw value' (report what, where?), 'Identify and apply respective guidance for handling data like that', and 'Guide user for correct implementation' give no specific steps, matching anchor 3 ('some concrete guidance but incomplete... missing key details').

3 / 5

Workflow Clarity

The process section lists steps with conditionals ('IF encountered', 'IF needed as-is'), but the sequence is not operationally ordered — masking (step 6) is the action that must happen before reporting (step 2) or asking approval (step 3) makes sense, and step 5 restates the prohibition instead of advancing the flow. There is also no verification checkpoint (e.g., 'confirm the response contains no raw values before sending'), so it sits at anchor 3 ('steps listed but validation gaps; checkpoints missing or implicit') rather than 4.

3 / 5

Progressive Disclosure

Per the rubric's guideline for skills under 50 lines with no need for external references, this qualifies for a 5 with just well-organized sections. The body is short, single-purpose, split into three clearly delimited sections (process, coding, pitfalls), with no bundle files needed and no content that belongs in a separate reference.

5 / 5

Total

15

/

20

Passed

Description

35%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 an aggressive trigger statement with no capability description: it exhaustively lists when the skill must fire and which data categories count, but never says what the skill does when activated. Second-person voice, hyped MUST/CRITICAL framing, and catch-all scope ('could potentially be sensitive', 'Applicable for coding too') hurt specificity, completeness, and distinctiveness.

Suggestions

State the 'what': add a concrete capability clause, e.g. 'Masks sensitive data using [REDACTED:<type>] notation, reports encounters without exposing raw values, and requests explicit user approval before handling sensitive data as-is.'

Rewrite in third person and drop the marketing framing ('Rosetta CRITICAL MUST skill', 'CRITICAL MUST', 'there is a slight chance'): e.g. 'Handles sensitive data (PII, PCI, HIPAA/PHI, GDPR, secrets, API keys, passwords, credentials, tokens, certificates) by masking it on output...'.

Narrow the trigger scope from 'any data that could potentially be sensitive' + 'Applicable for coding too' to concrete detection moments (reading files, logs, env vars, or API responses containing such values) to reduce conflict with unrelated skills.

DimensionReasoningScore

Specificity

The description names no concrete actions at all — it only states when to activate ("MUST activate when you suspect...") and enumerates data categories (PII, PCI, HIPAA, secrets, API keys), which is domain naming without any capability statement. It would score 2 ('Names the domain but actions are minimal or generic'), but the second-person phrasing ('when you suspect', 'are about to output') triggers the mandatory 1-point reduction, giving 1.

1 / 5

Completeness

The 'when' is explicitly and thoroughly covered ('MUST activate when you suspect, there is a slight chance, encounter, read, process, or are about to output any sensitive or possibly sensitive data'), but the 'what' is entirely absent — nothing says what the skill actually does (mask, redact, request approval). This matches anchor 2: 'only "when" is present without "what"'. It is not 3 because 'Rosetta CRITICAL MUST skill' is not a clear capability statement, and not 4-5 because no 'what' exists at any level.

2 / 5

Trigger Term Quality

Good keyword coverage with many natural terms users would say: 'PII, PCI, HIPAA, PHI, GDPR, SOC2, FedRAMP, secrets, API keys, passwords, credentials, tokens, certificates'. Not a 5 because common natural phrasings like 'personal data', 'private information', or 'confidential data' are missing, and the leading jargon ('Rosetta CRITICAL MUST skill', 'there is a slight chance') is not user language.

4 / 5

Distinctiveness Conflict Risk

The scope is deliberately maximal — 'any sensitive or possibly sensitive data', 'any data that could potentially be sensitive', plus 'Applicable for coding too' — so it would trigger for nearly every data-handling task, creating high overlap with most other skills. It is not 1 because it does at least anchor to a recognizable domain (sensitive-data handling) rather than being content-free like 'Helps with code and documents'.

2 / 5

Total

9

/

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

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

griddynamics/rosetta

Path

instructions/r2/core/skills/sensitive-data/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.