israeli-gov-form-automator
Automate Israeli government form filling via Playwright browser automation and PDF population. Prevents hours of manual form filling and data entry errors on government portals. Use when user asks about filling government forms, "tofes" (form), "milui tfasim" (form filling), "gov.il" portal submissions, online form submission, Rashut HaMisim (Tax Authority) filings, Bituach Leumi (National Insurance) claims, or Rasham HaChevarot (Companies Registrar) documents. Validates Teudat Zehut (ID numbers) with check digit, Israeli phone numbers (+972), and Hebrew address fields. Supports Doch Shnati (annual tax report), maternity grant claims, and company registration forms. Do NOT use for classified or security-clearance government systems.
- License 许可
- MIT
- 最近更新
- 2026-07-12
- Stars
- ★ 82
- Forks
- 18
01 前言 Front Matter
- name
- israeli-gov-form-automator
- license
- MIT
- description
- Automate Israeli government form filling via Playwright browser automation and PDF population. Prevents hours of manual form filling and data entry errors on government portals. Use when user asks about filling government forms, "tofes" (form), "milui tfasim" (form filling), "gov.il" portal submissions, online form submission, Rashut HaMisim (Tax Authority) filings, Bituach Leumi (National Insurance) claims, or Rasham HaChevarot (Companies Registrar) documents. Validates Teudat Zehut (ID numbers) with check digit, Israeli phone numbers (+972), and Hebrew address fields. Supports Doch Shnati (annual tax report), maternity grant claims, and company registration forms. Do NOT use for classified or security-clearance government systems.
- allowed-tools
- Bash(python:*) Bash(pip:*) WebFetch
- compatibility
- Requires Python 3.9+, Playwright for browser automation, and network access to gov.il portals. Optional: pikepdf or PyPDF2 for PDF form filling.
02 资源文件 4
- 参考文档metadata.json2.1 KB
- 参考文档references/gov-portals.md4.2 KB
- 脚本scripts/fill_form.py9.9 KB
- 参考文档SKILL_HE.md11.7 KB
03 SKILL.md 正文
Israeli Government Form Automator
Instructions
Step 1: Identify the Form and Portal
Ask the user which government form or process they need to automate:
| Portal | URL | Common Forms | Hebrew |
|---|---|---|---|
| gov.il Services | www.gov.il | General government forms | שירותי ממשלה |
| Rashut HaMisim (Tax Authority) | www.misim.gov.il | Doch Shnati, Mas Hachnasa, Nikui Mas | רשות המסים |
| Bituach Leumi (National Insurance) | www.btl.gov.il | Maternity, disability, unemployment claims | ביטוח לאומי |
| Rasham HaChevarot (Companies Registrar) | www.ica.justice.gov.il | Company registration, annual reports | רשם החברות |
| Misrad HaPnim (Interior Ministry) | www.gov.il/he/departments/ministry_of_interior | Teudat Zehut updates, address changes | משרד הפנים |
Clarify:
- Which form? (form number or name, e.g., Tofes 101, Tofes 106)
- Online or PDF? (browser-based portal or downloadable PDF)
- User data available? (Teudat Zehut, address, employer details)
Step 2: Validate Israeli-Specific Fields
Before filling any form, validate all Israeli-format data:
Teudat Zehut (ID Number) Validation: The Israeli ID is 9 digits with a check digit (Luhn variant):
def validate_tz(id_number: str) -> bool:
"""Validate Israeli Teudat Zehut number."""
id_str = id_number.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) * (1 + (i % 2))
if val > 9:
val -= 9
total += val
return total % 10 == 0
Israeli Phone Number Formats:
| Format | Example | Notes |
|---|---|---|
| Mobile | 05X-XXXXXXX | Prefixes: 050, 051, 052, 053, 054, 055, 058 |
| Landline | 0X-XXXXXXX | Area codes: 02 (Jerusalem), 03 (Tel Aviv), 04 (Haifa), 08 (South), 09 (Sharon) |
| International | +972-5X-XXXXXXX | Drop leading 0, add +972 |
Israeli Address Format:
{street_name} {house_number}, {apartment} (optional)
{city_name}, {mikud (postal code - 7 digits)}
Step 3: Set Up Browser Automation (Online Forms)
Install and configure Playwright for Hebrew RTL government portals:
pip install playwright
playwright install chromium
Key patterns for gov.il portals:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=False)
context = browser.new_context(locale="he-IL")
page = context.new_page()
# Note: Replace with specific service URL as needed
page.goto("https://www.gov.il/he/")
# Gov.il uses React-based forms; wait for dynamic load
page.wait_for_selector('[data-testid="form-container"]', timeout=15000)
# Fill RTL text fields
page.fill('input[name="firstName"]', "ישראל")
page.fill('input[name="lastName"]', "ישראלי")
page.fill('input[name="idNumber"]', "123456782")
# Handle date pickers (DD/MM/YYYY format in Israel)
page.fill('input[name="birthDate"]', "15/03/1990")
# Handle dropdowns with Hebrew options
page.select_option('select[name="city"]', label="תל אביב-יפו")
Step 4: Fill PDF Forms (Offline Forms)
For downloadable government PDFs with fillable fields:
# Option 1: pikepdf (recommended)
import pikepdf
pdf = pikepdf.open("tofes_101.pdf")
pdf.pages[0]["/Annots"] # Inspect form field names
# Option 2: PyPDF2
from PyPDF2 import PdfReader, PdfWriter
reader = PdfReader("tofes_101.pdf")
fields = reader.get_fields()
writer = PdfWriter()
writer.append(reader)
writer.update_page_form_field_values(
writer.pages[0],
{"shem_prati": "ישראל", "shem_mishpacha": "ישראלי"}
)
Common PDF field naming conventions in government forms:
| Field Purpose | Common Hebrew Names | English Equivalent |
|---|---|---|
| First name | shem_prati, shem_praty | first_name |
| Last name | shem_mishpacha, shem_mishpaha | last_name |
| ID number | mispar_zehut, tz | id_number |
| Date of birth | taarich_leida | birth_date |
| Address | ktovet, rechov | address, street |
| City | yishuv, ir | city |
| Phone | telefon, nayad | phone, mobile |
| Employer | maasik | employer |
Step 5: Handle Common Government Form Patterns
Doch Shnati (Annual Tax Report):
- Navigate to Rashut HaMisim personal area
- Required fields: income sources (mekorot hachnasa), deductions (nikuyim), credits (zikuyim)
- Attach digital slips (tofes 106, tofes 857)
- Date format: always DD/MM/YYYY
Bituach Leumi Claims:
- Navigate to btl.gov.il personal area
- Identify claim type (maternity/dme'i leida, disability/nechut, unemployment/avtala)
- Upload supporting documents (medical certificates, employment letters)
- Track claim status via personal dashboard
Companies Registrar Filings:
- Navigate to ica.justice.gov.il
- Required: company number (mispar chevra), authorized signatory details
- Annual report (doch shnati la-rasham) filing
- Director/shareholder change notifications
Step 6: Submit and Verify
After filling the form:
- Screenshot before submit -- capture the filled form for user review
- Validate all required fields -- government forms reject partial submissions
- Save confirmation number (mispar ishur) -- always displayed after successful submission
- Download receipt PDF when available
- Note processing timeline -- most government services specify expected response time
Step 7: Error Recovery
Common issues with government portals:
- Session timeout: Gov.il sessions expire after ~20 minutes of inactivity
- CAPTCHA: Some forms require manual CAPTCHA solving; pause and ask user
- Certificate errors: Government portals may use Israeli CA certificates
- Peak hours: Tax Authority portal is slow during filing season (March-May)
Examples
Example 1: Fill Tax Form 101
User says: "I need to fill Tofes 101 for my new employee" Actions:
- Download Tofes 101 PDF from Rashut HaMisim
- Validate employee Teudat Zehut
- Fill personal details, tax bracket, credits (nekudot zikui)
- Generate filled PDF for employer signature Result: Completed Tofes 101 ready for submission
Example 2: Submit Bituach Leumi Maternity Claim
User says: "Help me file a maternity benefit claim with Bituach Leumi" Actions:
- Navigate to btl.gov.il maternity (dme'i leida) section
- Validate eligibility: employment period, salary data
- Fill claim form with personal and employer details
- Upload required documents (employment confirmation, hospital discharge) Result: Submitted claim with tracking number for follow-up
Example 3: Register New Company
User says: "I want to register a new Chevra Ba'am (Ltd company)" Actions:
- Navigate to Companies Registrar portal
- Fill company name proposals (3 options required)
- Enter founder details, share capital, articles of association
- Calculate and note registration fees Result: Submission confirmation with expected registration timeline
Example 4: Update Personal Details at Misrad HaPnim
User says: "I moved apartments and need to update my address" Actions:
- Navigate to gov.il address change service
- Validate new address format (street, city, mikud)
- Fill change-of-address form with old and new addresses
- Submit with required identification Result: Address change request submitted with confirmation number
Bundled Resources
Scripts
scripts/fill_form.py-- Helper to validate Israeli form fields (Teudat Zehut, phone, address) and populate common government form data structures. Run:python scripts/fill_form.py --help
References
references/gov-portals.md-- Comprehensive list of Israeli government portal URLs, form types, and field naming conventions. Consult when identifying the correct portal or form for a given task.
Gotchas
- Israeli government forms require Hebrew text input in specific fields. Agents may generate English-only form data, which will be rejected by government systems.
- Teudat Zehut (Israeli ID) numbers have 9 digits with a Luhn-variant check digit. Agents may generate random 9-digit numbers that fail the check-digit validation.
- Many government forms require a date of birth in both Hebrew calendar (luach ivri) and Gregorian formats. Agents typically only provide the Gregorian date.
- Digital signatures on Israeli government forms use the gov.il identity verification system. Agents cannot programmatically sign forms without going through the user's gov.il authentication.
Reference Links
| Source | URL | What to Check |
|---|---|---|
| Gov.il main portal | https://www.gov.il | Form listings, service index, authentication entry |
| Israel Tax Authority services | https://www.gov.il/he/departments/israel_tax_authority | Tax forms, online submission portals |
| Bituach Leumi (NII) | https://www.btl.gov.il | NII forms, claim submission, personal account |
| Companies Registrar (ICA) | https://ica.justice.gov.il | Company filings and updates |
| Playwright docs | https://playwright.dev | RTL context, form automation, waits |
Troubleshooting
Error: "Session expired" on gov.il
Cause: Government portal sessions time out after prolonged inactivity Solution: Re-authenticate and resume from the last saved step. Save partial progress frequently.
Error: "Invalid Teudat Zehut"
Cause: ID number fails check digit validation
Solution: Run validate_tz() before submission. Ensure 9 digits with leading zeros if needed.
Error: "Hebrew text displays incorrectly in PDF"
Cause: PDF library does not support RTL text or Hebrew fonts Solution: Use pikepdf with embedded Hebrew fonts. Ensure the PDF template already has Hebrew font resources.
Error: "Form field not found"
Cause: Government PDFs change field names between versions
Solution: List all fields with reader.get_fields() first, then match by inspecting field labels.
04 同仓库更多 Skills
로인장 (Roinjiang)
Activates when the user needs legal advice, contract review, insurance law consultation, startup legal support, or any legal/regulatory matter. She is a top-tier in-house lawyer with absolute loyalty to the CEO, specializing in insurance law, financial consumer protection, privacy, contracts, labor law, family law, civil and criminal matters.
zocdoc-doctor-finder
Use when a user needs to find a doctor, dentist, specialist, therapist, or healthcare provider — especially when they mention insurance, in-network, availability, location, appointments, or booking. Also use for browsing provider reviews, comparing doctors by specialty, or checking if a provider takes their insurance.
zenmux-context
Answers any question about ZenMux by reading the latest official documentation. Use this skill whenever the user asks about ZenMux product features, API usage, configuration, integration, pricing, models, providers, routing, fallback, streaming, multimodal, structured output, tool calling, reasoning, prompt caching, image generation, video generation, web search, long context, observability, logs, cost tracking, usage analytics, insurance, subscription, pay-as-you-go, invoices, best practices for tools like Claude Code, Cursor, Cline, CodeX, Gemini CLI, opencode, Cherry Studio, Obsidian, Sider, Open-WebUI, Dify, Neovate, GitHub Copilot, OpenClaw, CC-Switch, Immersive Translate, Studio Chat, architecture, benchmarks, FAQ, contact, privacy, terms of service, compliance, or any other ZenMux-related topic. Also trigger when the user writes in Chinese about ZenMux: 文档, 使用指南, 快速开始, API 参考, 最佳实践, 模型路由, 供应商路由, 订阅, 按量计费, 可观测性, 帮助, 常见问题, 接入指南, 配置. Trigger on phrases like "how to use ZenMux", "ZenMux docs", "ZenMux API", "ZenMux integration", "ZenMux 怎么用", "ZenMux 接入", "ZenMux 配置". Even if the user doesn't say "ZenMux" explicitly but asks about LLM API aggregation, model routing, provider fallback in a context where ZenMux is the project being worked on, this skill should activate.
workers-comp-guide
Guide workers compensation compliance and claims management. TRIGGERS - Use when user needs help with workers-comp-guide related tasks.
weekly-kpi-report
Generate McKinsey-style board presentation PPTs from weekly auto insurance data. Automatically calculates 16+ KPIs, creates executive-level slides with actionable insights, and supports week-over-week comparisons. Use when user uploads insurance cost data (Excel/CSV) and requests board report, weekly presentation, executive briefing, or mentions keywords like 董事会汇报, 周报PPT, 经营分析演示, McKinsey-style reports.
wealth-advisory
Wealth management and financial planning for HNW and UHNW clients. Activate when the user mentions wealth management, financial planning, retirement, estate planning, tax planning, GRAT, IDGT, trust, asset allocation, withdrawal rate, Monte Carlo simulation, goals-based investing, tax-loss harvesting, Roth conversion, insurance, annuity, mortgage strategy, concentrated stock, family office, direct indexing, 529 plan, charitable giving, donor-advised fund, private foundation, or asks about personal finance strategy, inheritance, long-term financial planning, or UHNW advisory.