Implement GDPR/CCPA-compliant data handling for Clay enrichment pipelines. Use when handling PII from enrichments, implementing data retention policies, or ensuring regulatory compliance for Clay-enriched lead data. Trigger with phrases like "clay data", "clay PII", "clay GDPR", "clay data retention", "clay privacy", "clay CCPA", "clay compliance".
74
70%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/saas-packs/clay-pack/skills/clay-data-handling/SKILL.mdQuality
Discovery
89%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a well-structured skill description that clearly defines its niche at the intersection of Clay enrichment pipelines and data privacy regulations. It excels in completeness and distinctiveness with explicit 'Use when' guidance and Clay-prefixed trigger terms. The main weakness is that the capability descriptions could be more concrete—listing specific actions rather than high-level categories like 'handling PII' and 'ensuring regulatory compliance'.
Suggestions
Replace high-level action phrases like 'handling PII' and 'ensuring regulatory compliance' with more concrete actions such as 'anonymize enriched contact fields', 'configure data retention TTLs', 'generate compliance audit logs', or 'implement consent tracking for enriched leads'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description names the domain (GDPR/CCPA compliance for Clay enrichment pipelines) and mentions some actions like 'handling PII', 'implementing data retention policies', and 'ensuring regulatory compliance', but these are somewhat high-level rather than listing multiple concrete, specific actions (e.g., anonymize fields, set TTL on records, generate compliance reports). | 2 / 3 |
Completeness | The description clearly answers both 'what' (implement GDPR/CCPA-compliant data handling for Clay enrichment pipelines) and 'when' (handling PII from enrichments, implementing data retention policies, ensuring regulatory compliance), with an explicit 'Use when' clause and explicit trigger phrases. | 3 / 3 |
Trigger Term Quality | The description explicitly lists natural trigger phrases like 'clay data', 'clay PII', 'clay GDPR', 'clay data retention', 'clay privacy', 'clay CCPA', 'clay compliance'. These cover a good range of terms a user would naturally say when needing this skill, including both regulation names and domain-specific terms. | 3 / 3 |
Distinctiveness Conflict Risk | The combination of Clay-specific context with GDPR/CCPA compliance creates a very distinct niche. The trigger terms are all prefixed with 'clay' which reduces conflict risk with generic privacy/compliance skills or generic Clay skills. | 3 / 3 |
Total | 11 / 12 Passed |
Implementation
50%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill provides highly actionable, executable TypeScript code for GDPR/CCPA-compliant Clay data handling, which is its primary strength. However, it is significantly over-verbose—most of these implementations are straightforward patterns Claude could generate from brief specifications, wasting token budget. The workflow sequencing is reasonable but lacks validation checkpoints and error recovery loops between steps.
Suggestions
Replace full code implementations with concise specifications (e.g., 'Classify fields into PUBLIC/BUSINESS/PERSONAL/RESTRICTED using this mapping: [table]') and let Claude generate the code as needed.
Add explicit validation checkpoints between steps, such as 'Verify dedup results before sending to Clay' and 'Confirm retention metadata is present before CRM export'.
Move detailed TypeScript implementations into bundle files (e.g., src/clay/data-classification.ts) and reference them from SKILL.md, keeping only the overview and key patterns inline.
Remove boilerplate code Claude can trivially generate (Zod schemas, Set-based dedup, SHA-256 hashing) and focus on the domain-specific decisions (which fields are restricted, retention periods, consent basis options).
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is extremely verbose at ~200+ lines of TypeScript code. Much of this is boilerplate that Claude could generate from brief instructions (e.g., Zod validation, deduplication logic, hashing). The data classification enum/map, retention metadata interface, and anonymization function could each be described in 1-2 sentences rather than full implementations. The skill explains concepts Claude already knows well (deduplication, hashing, Zod schemas). | 1 / 3 |
Actionability | The code is fully executable TypeScript with concrete types, specific field names, and copy-paste ready implementations. Each step provides a complete, runnable function with clear inputs and outputs, including the Zod schema, dedup logic, retention metadata, export functions, and deletion handler. | 3 / 3 |
Workflow Clarity | The 6 steps are clearly sequenced and logically ordered (classify → validate → dedup → add metadata → export → handle rights). However, there are no explicit validation checkpoints between steps, no feedback loops for error recovery, and no guidance on what to do if a step fails. The deletion request handler notes Clay rows must be deleted manually but doesn't provide a verification step to confirm deletion. | 2 / 3 |
Progressive Disclosure | The content is a monolithic wall of code that would benefit from splitting detailed implementations into separate files. The error handling table and resources section are good, and there's a reference to 'clay-enterprise-rbac', but the bulk of the code (~6 full TypeScript files) is inlined when the SKILL.md should be an overview with references to the actual implementation files. | 2 / 3 |
Total | 8 / 12 Passed |
Validation
81%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
allowed_tools_field | 'allowed-tools' contains unusual tool name(s) | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 9 / 11 Passed | |
3a2d27d
Table of Contents
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.