- Home
- Skills
- HR & Recruiting
- EU Hiring Compliance Check: Job Ads & Offer Letters
More screenshots
Works with the AI Agents you already use
EU Hiring Compliance Check: Job Ads & Offer Letters
Check a job ad, interview questions, offer letter or employment contract against EU pay transparency, GDPR and hiring rules for all 27 EU countries.
Free
EU Hiring Compliance Check: Job Ads & Offer Letters
Example session with this skill installed
We're hiring a Senior Sales rep in Dublin. Before we publish, can you check this job ad against the EU pay transparency and hiring rules? It's in job_ad.txt.
- Read your context and instructions
- Compiled the eu hiring compliance
Summary
I ran check_hiring_docs.py --country IE --ad job_ad.txt on the job ad (the bundled example examples/broken/job_ad.txt).
Result: 1 BREACH, 2 COMING, 8 REVIEW. Ireland has not yet transposed the Pay Transparency Directive (draft bill stage), so the pay findings are COMING rather than BREACH. The emotion-recognition video interview is already prohibited under the AI Act.
Findings
| Severity | Code | Line in the ad | Why it matters |
|---|---|---|---|
| BREACH | EMOTION_RECOGNITION_AI | line 15: "Shortlisted candidates complete a one-way video interview; our platform uses emotion recognition to analyse facial expressions and tone of voice." | Describes AI that reads candidates' emotions, facial expressions or tone of voice. |
| COMING | PAY_INFO_VAGUE | line 6: "Competitive salary DOE, company car and bonus." | Pay is described only in vague terms, with no amount or range. |
| COMING | PAY_HISTORY_QUESTION | line 14: "Send your CV with a recent photo and tell us your current salary." | Asks about current or previous pay. |
| REVIEW | GENDERED_WORDING | line 1: "Senior Salesman – Dublin" | Gendered job title or pronoun. |
| REVIEW | GENDERED_WORDING | line 3: "We are looking for a Senior Salesman to lead our field sales." | Gendered job title or pronoun. |
| REVIEW | GENDERED_WORDING | line 3: "He will manage key accounts in Leinster and report to the Sales Director." | Gendered job title or pronoun. |
| REVIEW | AGE_REQUIREMENT | line 3: "We are a young and dynamic team growing fast across Ireland and the UK." | Age limit or age-coded wording ('young', 'recent graduate', 'maximum years of experience'). |
| REVIEW | AGE_REQUIREMENT | line 9: "- Recent graduates welcome, ideally aged 25-35" | Age limit or age-coded wording ('young', 'recent graduate', 'maximum years of experience'). |
| REVIEW | NATIVE_SPEAKER_REQUIREMENT | line 10: "- Native English speaker" | 'Native speaker' can exclude people by national or ethnic origin. |
| REVIEW | PERSONAL_DATA_REQUEST | line 14: "Send your CV with a recent photo and tell us your current salary." | Requests photograph. |
| REVIEW | AI_SCREENING | line 15: "Applications are screened by our AI assessment tool, which scores candidates automatically." | Mentions AI or automated screening of candidates. |
What to change
- Remove the emotion-recognition step from the video interview. AI that infers emotions at work has been prohibited since 02/02/2025 (AI Act Art. 5(1)(f)).
- Replace "Competitive salary DOE" with a pay range, and ask for pay expectations instead of current salary (Directive 2023/970 Art. 5).
- Use a gender-neutral job title and address the reader as "you"; drop "young", "recent graduates", "aged 25-35" and "native English speaker"; don't ask for a photo.
- If AI screens applications, keep a person in every decision and tell candidates (GDPR Art. 22; AI Act high-risk duties from 02/12/2027).
Not checked
Whether the range is set on objective, gender-neutral criteria; collective agreements and sector rules; what is said in interviews; registration with authorities. Country data checked 10/09/2026. This is a document check, not legal advice.
Connects securely to your tools. The creator never sees your data.
About this skill
The problem
You are hiring in Europe and you are not sure your job posting, application form or offer letter is legal. The EU Pay Transparency Directive deadline passed on 7 June 2026. Italy, Slovakia, Lithuania and Malta already ban asking candidates about their current salary, and Italy requires the salary range in the job ad. Most other countries are weeks or months behind. A generic prompt cannot tell you which rules already apply where your hire will work.
What it does
Point your agent at your hiring documents and the country of the job. A Python script (no network, standard library only) reads .docx, .txt, .md or .html and flags every line that conflicts with:
- Pay transparency: a missing or vague salary range, questions about current or previous salary, gendered job titles, and clauses that keep pay confidential
- Equal treatment: age limits, 'young team', 'native speaker', photo requests, date of birth, marital status, children, nationality, health
- GDPR: an application form with no candidate privacy information
- AI Act: AI CV screening, and emotion recognition in video interviews (prohibited since 2025)
- Employment contracts: missing essential terms, probation longer than the national maximum, annual leave below the minimum, exclusivity clauses, contract language (France, Romania, Latvia and more)
Each finding is rated BREACH, COMING, REVIEW or INFO against that country's current transposition status, with the article and the national law behind it.
Why this beats prompting it yourself
The rules differ by country and change monthly. The same "What is your current salary?" question is a breach in Italy, coming in Ireland, and only coming from 1 November 2026 in Greece. This skill ships a sourced data file for all 27 EU countries, checked 10/09/2026. It records what could not be verified and warns when the data is over 90 days old. It finds problems and never rewrites your documents, so the answer is never a confident guess.
Frameworks and sources
Directive (EU) 2023/970 (pay transparency), Directive (EU) 2019/1152 (written terms, probation), Working Time Directive Art. 7, EU equal treatment directives, GDPR Arts. 5, 9, 13, 22, AI Act Art. 5(1)(f) and Annex III as amended by Regulation (EU) 2026/1744, and national laws for all 27 member states.
Pattern-based: it flags listed problems, so no findings does not mean a document is compliant. Full checks run in English; German, French, Italian, Spanish, Dutch, Polish and Croatian get the main contract terms, and other languages get fewer checks (the output says which were skipped). Country data is a snapshot checked 10/09/2026 and pay transparency law is changing monthly, so re-verify statuses after that; the script warns when the data is over 90 days old. The thinnest country records are Hungary, Bulgaria, Cyprus, Belgium and Slovenia. No sector rules, collective agreements, regional or public-sector recruitment rules. PDFs and scans must be exported to .docx or text first. It does not draft or rewrite documents, and it is not legal advice. EU only: no UK, US or Swiss rules.
How to use
- 1
Connect your agent to the Agensi MCP
Copy the prompt and paste it into Claude, ChatGPT, Cursor or any agent that supports MCP. It sets up the connection for you. Manual setup
- 2
Sign in to Agensi
Your agent shows a sign-in link. Sign in and click Allow.
- 3
Ask for what you need
Your agent loads this skill and uses it on your task. It always asks before any payment.
Reviews
This skill has been used 7 times.
Trust & safety
Security scan
Security scan passed 1 month ago
- Free with an Agensi account
Permissions
Terminal/Shell runs scripts/check_hiring_docs.py. Read Files reads the job ad, form, question list or contract you point it at, plus the bundled data/countries.json. It writes nothing and makes no network calls; the source URLs inside the country data are citations, not connections.