Author: @skills-il
Validate and format Israeli identification numbers including Teudat Zehut (personal ID), company numbers, amuta (non-profit) numbers, and partnership numbers. Use when user asks to validate Israeli ID, "teudat zehut", "mispar zehut", company number validation, or needs to implement Israeli ID validation in code. Includes check digit algorithm and test ID generation. Do NOT use for non-Israeli identification systems.
npx skills-il add skills-il/developer-tools --skill israeli-id-validator| Type | Prefix | Length | Example |
|---|---|---|---|
| Teudat Zehut | Any | 9 digits | 123456782 |
| Company (Ltd) | 51 | 9 digits | 51-530820-1 |
| Amuta (Non-profit) | 58 | 9 digits | 58-012345-6 |
| Partnership | 55 | 9 digits | 55-012345-6 |
The Israeli ID check digit algorithm (applies to all types):
def validate_israeli_id(id_number: str) -> bool:
"""Validate Israeli ID number (TZ, company, amuta, etc.)"""
# Remove dashes and spaces, pad to 9 digits
id_str = id_number.replace('-', '').replace(' ', '').zfill(9)
if len(id_str) != 9 or not id_str.isdigit():
return False
total = 0
for i, digit in enumerate(id_str):
val = int(digit) * ((i % 2) + 1) # Multiply by 1 or 2 alternately
if val > 9:
val = val // 10 + val % 10 # Sum digits if > 9
total += val
return total % 10 == 0For valid IDs: Confirm valid, identify type by prefix For invalid IDs: Report invalid, show which check failed, suggest common errors:
For development and testing, generate valid test IDs:
def generate_test_id(prefix: str = "") -> str:
"""Generate a valid Israeli ID number for testing."""
import random
base = prefix + ''.join([str(random.randint(0, 9)) for _ in range(8 - len(prefix))])
# Calculate check digit
total = 0
for i, digit in enumerate(base):
val = int(digit) * ((i % 2) + 1)
if val > 9:
val = val // 10 + val % 10
total += val
check = (10 - (total % 10)) % 10
return base + str(check)CAVEAT: Generated IDs are for testing only. Never use random IDs as real identification.
User says: "Is 123456782 a valid Israeli ID?" Result: Run algorithm, report valid/invalid with explanation.
User says: "I need Israeli ID validation in JavaScript" Result: Provide equivalent algorithm in JavaScript.
User says: "I need 10 valid test company numbers" Result: Generate 10 valid IDs with 51- prefix for testing.
scripts/validate_id.py — Validates, identifies, formats, and generates Israeli ID numbers (Teudat Zehut, company, amuta, partnership). Supports verbose mode showing step-by-step check digit calculation, batch test ID generation with prefix control, and type identification from any ID number. Run: python scripts/validate_id.py --helpreferences/id-formats.md — Specification of all Israeli ID number formats including Teudat Zehut, company (51-prefix), amuta (58-prefix), partnership (55-prefix), and cooperative society (57-prefix) with issuing authorities, format patterns, the Luhn-variant check digit algorithm with a worked example, and common validation errors. Consult when implementing validation logic or debugging check digit failures.Cause: Check digit passes but the ID isn't issued Solution: The algorithm only validates FORMAT, not existence. Verifying if an ID is actually issued requires Tax Authority or Interior Ministry systems.
Supported Agents
Trust Score
This skill can execute scripts and commands on your system.
1 occurrences found in code
Guide Israeli startup operations including company formation, Innovation Authority grants, investment agreements, R&D tax benefits, and employee stock options (Option 102). Use when user asks about starting a company in Israel, IIA grants, "Innovation Authority", SAFE agreements (Israeli), convertible notes, Option 102, employee stock options in Israel, R&D tax benefits, preferred enterprise, or Israeli startup legal/financial setup. Do NOT use for non-Israeli company formation or international tax advice. Always recommend consulting with Israeli lawyer and accountant for binding decisions.
Interactive workflow for creating new skills for the skills-il organization -- guides through category selection, use case definition, folder scaffolding, YAML frontmatter generation with bilingual metadata, instruction writing, Hebrew companion creation, and validation. Use when user asks to "create a new skill", "scaffold a skill for skills-il", "write a SKILL.md", "contribute a skill", "new skill template", or "liztor skill chadash". Do NOT use for editing existing skills or creating skills for non-skills-il platforms.
Generate RTL Hebrew Word documents with correct bidirectional text, Hebrew typography, and Israeli document formatting standards
Want to build your own skill? Try the Skill Creator · Submit a Skill