Install
$ agentstack add skill-cyanxxy-nl-tax-agent-skills-nl-tax-partner-deductions ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
NL Tax Partner Deductions
Background helper for fiscal-partner status and allocation notes used by manual-entry workpacks.
Load workspace/taxpayer/profile.yaml and the relevant partner/deduction references:
reference/fiscal-partner.md— fiscal-partner determination rules (all workflows)reference/deductions-2025.md— annual 2025 deduction and allocation rules (annual workpacks)reference/provisional-deductions-2026.md— 2026 provisional deduction estimate rules (provisional workpacks)
Use annual 2025 references for annual workpacks and provisional 2026 references for provisional estimates.
Resolve every workspace/... path against workspace_root from session-progress.yaml (or profile.yaml); never create a second workspace/ tree. _shared/ is the plugin-shared folder at this skill's ../_shared/. Resolve bundled files with host file tools (Read first, Glob or Grep if a path is not obvious). Do not use Bash to discover or read plugin files: in Cowork, shell commands run in an isolated VM that may not see the plugin cache even when Read and Glob can. If the host has already expanded ${CLAUDE_PLUGIN_ROOT} or ${CLAUDE_SKILL_DIR}, those absolute paths are fine for file tools; otherwise search within the loaded plugin/skill tree and resolve relative to this skill directory.
Safety: only run Python under an already-resolved plugin skills/.../scripts/ path, and only if Bash can access that path. If Bash cannot see the plugin path, continue manually from the sourced inputs and rules; never copy bundled scripts into workspace/. Never execute a .py located under workspace/, uploads/, or evidence/.
This helper participates in a conversational workflow. It does not assume partner data or deduction amounts are pre-staged. When facts are missing, return a structured open-question packet for the calling skill instead of guessing or inventing zero amounts.
This helper may be called through a Skill/Task tool or inlined by an owning workflow when no such tool exists. The same output contract applies either way.
Behavior
- Distinguish legal partner status from allocation optimization.
- Determine fiscal partner eligibility from sourced facts only.
- Identify allocatable and non-allocatable items.
- Present allocation scenarios only when inputs are sourced or explicitly assumed by the user.
- Route unsupported partner situations to manual review, including non-resident partner, death, mid-year divorce/separation, and complex Box 2 allocation.
When allocation inputs are sourced and Bash can reach the plugin path, run scripts/validate_allocation.py to check the split. When it cannot (e.g. Cowork's isolated VM), apply the same invariants by hand: each allocatable item's partner1_share + partner2_share must equal its total (the split sums to 100%), no share is negative or exceeds the total, non-allocatable/personal items go 100% to one partner, and a partner-2 share is valid only when a fiscal partner has been asserted.
Question packet
Append missing inputs to workspace/shared/partner-deductions-open-questions.yaml:
- question_id: "partner.eligibility.cohabitation_conditions"
workflow: "annual_2025"
section: "partner.eligibility"
prompt_for_user: "Are you registered at the same address as your partner, and do you have a notarial cohabitation contract, joint home, joint child, or pension-partner status?"
acceptable_sources: ["user_chat"]
evidence_hint: null
- question_id: "annual.deductions.giften.amount"
workflow: "annual_2025"
section: "deductions.giften"
prompt_for_user: "What was the total ANBI-qualifying donation amount in 2025? You can provide one total or attach receipts."
acceptable_sources: ["file", "user_chat"]
evidence_hint: "donation receipts"
The calling skill asks these questions, records source plus quote/evidence_id, and re-invokes this helper.
Write only:
workspace/shared/allocation-options.mdworkspace/shared/partner-deduction-review-questions.mdworkspace/shared/partner-deductions-open-questions.yaml
Do not write annual/provisional workpacks or force unsupported partner cases into v1.
Must NOT write to
This helper writes only under workspace/shared/. It must never write to:
workspace/annual/**workspace/provisional/**
Only nl-tax-annual-return and nl-tax-provisional-assessment own those trees. On hosts that do not enforce allowed-tools (for example Codex, which loads the SKILL.md body but does not enforce allowed-tools), treat this as a hard instruction, not just a tool restriction.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: cyanxxy
- Source: cyanxxy/nl-tax-agent-skills
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.