tax-check
This skill should be used when the user asks to "check taxes", "tax optimization", "reduce taxes Germany", "Steuererklärung tips", "tax deductions", "Werbungskosten check", "Sparerpauschbetrag optimization", "what can I deduct", "prepare for Steuerberater", or "file tax return". Identifies tax optimization opportunities for a single expat in Berlin using German tax law.
What this skill does
# Tax Check — German Tax Optimization for Berlin Expat
Identify tax optimization opportunities for the user's situation as a single expat in Berlin, Germany. Produce a structured, quantitative report with actionable recommendations ranked by estimated annual savings. All output in English. All currency in EUR. All tax references grounded in current German Einkommensteuergesetz (EStG) and related statutes.
Load `${CLAUDE_PLUGIN_ROOT}/skills/financial-analysis/references/german-financial-system.md` for detailed German tax parameters, deduction categories, and regulatory context.
## Step 1: Read Financial Data
Read all files in `finance/data/` to establish the user's current financial position:
- `finance/data/employment.md` — gross salary, Steuerklasse, employer benefits, bonus structure, any Geldwerter Vorteil (benefits in kind)
- `finance/data/pension.md` — pension provider, plan type (Riester, Ruerup, private Rentenversicherung), contribution amounts
- `finance/data/bank-accounts.md` — savings accounts, brokerage accounts, interest earned, current Freistellungsauftrag allocations
- `finance/data/monthly-budget.md` — income vs. expenses, identifying deductible categories
- `finance/data/property-goals.md` — real estate purchase timeline and target parameters
If a file is missing or incomplete, flag the gap explicitly in the report and state what assumptions were made in its place. Do not silently substitute default values.
Also read any raw documents in `finance/docs/` that may contain relevant details (Arbeitsvertrag, Kontoauszuege, Standmitteilungen).
## Step 2: Web Search for Current Tax Parameters
Before performing any calculations, execute web searches to retrieve current-year figures. Do not rely on training data for any of the following:
1. **German income tax brackets (Einkommensteuertarif)** — search for the current year's tariff schedule, including the Grundfreibetrag (basic tax-free allowance), entry rate (14%), top rate (42%), and Reichensteuer threshold (45%).
2. **Sparerpauschbetrag** — confirm the current saver's lump-sum allowance (expected EUR 1,000 for singles). Verify whether any legislative changes have taken effect.
3. **Werbungskostenpauschale** — confirm the current employee lump-sum deduction (expected EUR 1,230). Check for any increases.
4. **Homeoffice-Pauschale** — confirm the per-day amount and maximum annual cap.
5. **Vorsorgeaufwendungen limits** — maximum deductible pension contributions for Basisversorgung (Ruerup/gesetzliche Rente).
6. **Sonderausgaben limits** — deduction ceilings for insurance premiums and other special expenses.
7. **Recent tax law changes** — search for any new deductions, changed thresholds, or expiring provisions relevant to the current tax year.
Record the source URL and retrieval date for each figure. Include these in the report for traceability.
## Step 3: Analyze Income and Identify Deductions
Calculate the current estimated tax burden step by step. Show all math explicitly:
```
Gross annual salary: EUR X
- Sozialversicherungsbeitraege: EUR Y
(Rentenversicherung, Krankenversicherung,
Pflegeversicherung, Arbeitslosenversicherung)
= Zu versteuerndes Einkommen (before deductions): EUR Z
- Applicable deductions (see below): EUR D
= Zu versteuerndes Einkommen (final): EUR F
- Einkommensteuer (per EStG tariff): EUR T
- Solidaritaetszuschlag: EUR S
= Estimated annual tax burden: EUR B
```
### 3a: Werbungskosten (Income-Related Expenses)
Determine whether actual work-related expenses exceed the Werbungskostenpauschale (EUR 1,230). For km rates, day caps, EUR 800 equipment threshold, and all other calculation parameters, load `${CLAUDE_PLUGIN_ROOT}/skills/financial-analysis/references/german-financial-system.md`.
Key categories to evaluate: Entfernungspauschale (commuting), Homeoffice-Pauschale (max EUR 1,260/year, cannot combine with Entfernungspauschale on the same day), professional development, work equipment, association dues, double household (Doppelte Haushaltsführung), and relocation costs.
If actual costs exceed EUR 1,230, flag as an optimization opportunity and quantify the additional deduction. Use `> [!info] Werbungskosten` callouts to explain the concept inline in the generated report.
### 3b: Sonderausgaben (Special Expenses)
Evaluate deductible special expenses. For deduction ceilings, percentage rules, and Günstigerprüfung criteria, load `${CLAUDE_PLUGIN_ROOT}/skills/financial-analysis/references/german-financial-system.md`.
Key categories: Basisversorgung contributions (GRV + Rürup, 100% deductible since 2023), Kranken-/Pflegeversicherung Basisbeiträge (fully deductible), Riester Sonderausgabenabzug (up to EUR 2,100 including Zulage), and charitable donations (Spenden up to 20% of income).
Use `> [!info] Sonderausgaben` callouts to explain the concept inline in the generated report.
### 3c: Aussergewoehnliche Belastungen (Extraordinary Expenses)
Note this category for completeness. Flag if any of the following apply based on the user's data: significant medical expenses not covered by insurance, disability-related costs, or care costs for dependents. If none apply, state that no extraordinary expenses were identified.
## Step 4: Review Investment Income Optimization
Analyze investment and savings income for tax efficiency:
1. **Sparerpauschbetrag utilization:** Sum all investment income (interest, dividends, realized capital gains) across all accounts. Determine whether the EUR 1,000 Sparerpauschbetrag is fully utilized, underutilized, or exceeded.
2. **Freistellungsauftrag allocation:** Check whether Freistellungsauftraege are filed with each bank and broker. Verify that the total across all institutions does not exceed EUR 1,000. Flag any account earning investment income without a Freistellungsauftrag — tax is being withheld unnecessarily on income that could be tax-free.
3. **Loss harvesting (Verlustverrechnung):** Identify positions with unrealized losses. Explain that selling and immediately rebuying (or buying a similar ETF) crystallizes the loss for tax offset. Note the restriction: Aktienverluste can only offset Aktiengewinne, not other investment income.
4. **Guenstigerpruefung:** If the user's marginal income tax rate is below 25%, flag that a tax return could reclaim overpaid Kapitalertragsteuer via the Guenstigerpruefung.
> [!info] Freistellungsauftrag (Tax Exemption Order)
> A standing instruction to a bank or broker to not withhold tax on investment income up to a specified amount. The total across all institutions must not exceed the Sparerpauschbetrag (EUR 1,000 for singles). Without it, tax is withheld at source and must be reclaimed via a tax return.
> [!info] Verlustverrechnung (Loss Offsetting)
> Realized investment losses can offset gains, reducing the tax bill. Losses from share sales (Aktien) can only offset gains from share sales, not dividends or interest. Losses from other investments (ETFs classified as Investmentfonds, bonds, interest) can offset all types of investment income.
## Step 5: Pension-Specific Tax Optimization
Evaluate pension arrangements for tax efficiency:
1. **Ruerup (Basisrente):**
- Calculate the maximum tax-deductible contribution for the current year.
- Determine how much the user is currently contributing.
- Quantify the tax saving from increasing contributions to the maximum deductible amount.
- Note the trade-off: contributions are locked until retirement (earliest age 62), and payouts are taxed as income.
2. **Riester-Rente:**
- Verify eligibility (requires membership in gesetzliche Rentenversicherung or being a Beamter).
- Check whether the minimum contribution (4% of Vorjahresbrutto, minus Zulagen) is being met to receive the full Grundzulage of EUR 175.
- Calculate the Sonderausgabenabzug benefit: determine whether the tax deduction (up to EUR 2,100) exceeds the Zulage — if soRelated in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.