From human-resources
Review any HR document (job descriptions, screening questionnaires, interview questions, evaluation forms) for legal compliance, bias, and discriminatory language. Operates in two modes: embedded (invoked as validation step by other HR skills, returns structured findings) or standalone (audits any existing document, produces a compliance audit report). Jurisdiction-aware for Italy (D.Lgs. 198/2006, 215/2003, 276/2003), EU/GDPR, and general best practices. Detects prohibited topics, biased language (gendered, ageist, ableist), GDPR data handling issues, and structural compliance gaps. Use when the user says 'check compliance', 'review for bias', 'legal check', 'controlla conformita', 'verifica discriminazioni', 'check this JD', or 'audit this evaluation'.
How this skill is triggered — by the user, by Claude, or both
Slash command
/human-resources:compliance-checkThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill reviews HR documents for legal compliance, bias, and discriminatory language. It validates job descriptions, screening questionnaires, interview questions, and evaluation forms against Italian labor law, EU/GDPR requirements, and inclusive language best practices.
This skill reviews HR documents for legal compliance, bias, and discriminatory language. It validates job descriptions, screening questionnaires, interview questions, and evaluation forms against Italian labor law, EU/GDPR requirements, and inclusive language best practices.
It operates in two modes:
The skill applies four analysis layers in sequence:
The skill auto-detects language from the conversation and input documents, producing output in the detected language. Supported languages: English (en) and Italian (it). The user may override with an explicit language choice.
Connector support: Skills degrade gracefully without connectors. See CONNECTORS.md for the full registry.
If no connector is available, the skill proceeds with its built-in reference files and states what additional context a knowledge base connection would provide.
Analyze the input to determine operating parameters:
If ~~knowledge base is connected: search for organization-specific compliance policies and previous audit results for similar document types.
Read references/prohibited-topics.md
Scan the document for:
For each finding, record: location in document, the specific text, the prohibited category, the applicable law, and severity (CRITICAL for direct violations, WARNING for proxy/indirect issues).
Use built-in bias detection rules from references/prohibited-topics.md (gendered/ageist/ableist sections and validation rules).
When the sibling skill job-description provides an inclusive language guide (../job-description/ → inclusive-language-guide.md), load it at runtime for enhanced language analysis with broader replacement suggestions. This is a forward reference resolved at runtime — if the file does not exist, proceed with built-in rules only.
Scan for:
For each finding, record: location, the specific text, the bias category, severity (WARNING for clearly biased language, INFO for improvement suggestions), and a concrete replacement suggestion.
Read references/gdpr-guidelines.md
Check the document against GDPR recruitment rules:
For each finding, record: location, the specific issue, the GDPR article violated, severity, and suggested fix.
Apply document-type-specific structural rules. Load references/italian-labor-law.md for jurisdiction-specific structural requirements.
Job Descriptions:
Screening Questionnaires:
Interview Questions:
Evaluation Forms:
For each finding, record: location, the structural gap, applicable rule/law, severity, and suggested fix.
Embedded mode: Return a structured findings list. Each finding is an object with fields:
location — where in the document the issue occurs (section, line, field name)issue — description of the compliance problemseverity — CRITICAL, WARNING, or INFOsuggested_fix — actionable correctionNo file is produced. The calling skill receives the list and decides how to act on it.
Standalone mode: Produce a compliance audit report saved to docs/outbox/{document-name}-compliance-audit.md using the output template (see Section 4).
Present a summary to the user: total issues by severity, overall status, and recommended next steps.
If the user requests a corrected version, produce a clean copy of the original document with all fixes applied:
Save to docs/outbox/{document-name}-clean.md. Highlight changes with inline comments so the user can review what was modified and why.
| Step | Documents to Read |
|---|---|
| Step 1 | (no references — in-skill analysis of input and mode detection) |
| Step 2 | references/prohibited-topics.md |
| Step 3 | Built-in bias rules from references/prohibited-topics.md (already loaded); optionally the job-description skill's inclusive language guide (if available at runtime) |
| Step 4 | references/gdpr-guidelines.md |
| Step 5 | references/italian-labor-law.md |
| Step 6-7 | (no additional references — in-skill report generation) |
# Compliance Audit — [Document Name]
Date: [date] | Jurisdiction: [Italy / EU / General]
## Summary
- Issues found: [count by severity]
- Overall status: [Pass / Pass with warnings / Fail]
## Issues
### CRITICAL — Must fix
| # | Location | Issue | Law/Principle | Suggested Fix |
|---|----------|-------|---------------|---------------|
### WARNING — Should fix
| # | Location | Issue | Law/Principle | Suggested Fix |
|---|----------|-------|---------------|---------------|
### INFO — Consider
| # | Location | Issue | Rationale | Suggestion |
|---|----------|-------|-----------|------------|
## Clean Version
(Full document with all fixes applied, if requested)
## Legal References
(List of all laws, directives, and GDPR articles cited in the findings)
| Condition | Status |
|---|---|
| Zero CRITICAL and zero WARNING | Pass |
| Zero CRITICAL and one or more WARNING | Pass with warnings |
| One or more CRITICAL | Fail |
Calling skills invoke compliance-check by passing:
text — the draft document content to validatedocument_type — one of: jd, questionnaire, interview_questions, evaluation_formjurisdiction — (optional) one of: italy, eu, general. If omitted, auto-detected from content.The skill returns a list of finding objects:
[
{
"location": "Section 3, paragraph 2",
"issue": "Question 'Are you married?' directly asks about marital status",
"severity": "CRITICAL",
"suggested_fix": "Remove the question entirely — marital status is not relevant to professional aptitude"
},
{
"location": "Requirements section",
"issue": "'Native Italian speaker' is a proxy for national origin discrimination",
"severity": "WARNING",
"suggested_fix": "Replace with 'Fluent in Italian (C1/C2 level)'"
}
]
| Severity | Meaning | Action Required |
|---|---|---|
CRITICAL | Direct violation of anti-discrimination law or GDPR | Must be fixed before the document can be used |
WARNING | Indirect discrimination risk, proxy question, or best practice violation | Should be fixed; the calling skill decides whether to block or warn |
INFO | Language improvement or minor enhancement | Recommended but not blocking |
Before returning any findings, the skill validates its own output:
suggested_fix must provide concrete replacement text or a specific action (e.g., "Remove this field", "Replace X with Y"). Vague advice like "consider revising" is not acceptable.Count language-specific tokens across input documents and conversation context. Classification:
Supported languages:
en — Englishit — ItalianFor unsupported languages: produce the audit report structure in English, note the limitation to the user, and flag that jurisdiction-specific analysis may be incomplete.
npx claudepluginhub mrbogomips/claude-code --plugin human-resourcesGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.