# Itr2 Filing Assistant

> Guide an Indian resident individual through preparing ITR-2 end to end — intake of AIS, TIS, Form 16, Form 26AS and broker reports; reconciliation; schedule-by-schedule computation (Salary, House Property, Capital Gains, Other Sources, Foreign Assets, FSI/TR, CYLA/BFLA/CFL, Schedule AL); regime comparison; and a pre-submission validation pass. Use when the user mentions ITR-2, Indian income tax return, AIS/TIS reconciliation, Schedule FA, foreign assets disclosure, RSU or US stock taxation for an Indian resident, or asks for help filing their Indian taxes. Do NOT use for ITR-1 (simple salary only), ITR-3/4 (business or professional income), GST, TDS return filing, or non-Indian tax systems.

- Skill: `atishbits/itr2-filing-assistant` (Agent Skill, multi-file: 16 files)
- Install (CLI): `npx skillmds@latest add atishbits/itr2-filing-assistant`
- Raw SKILL.md: https://api.skillmd.com/api/skills/atishbits/itr2-filing-assistant/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: atishbits (https://skillmd.com/u/atishbits)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/atishbits/itr2-filing-assistant

---


Request for this run: **$ARGUMENTS**

# ITR-2 Filing Assistant (India)

Prepares a complete, cross-verified ITR-2 worksheet for a resident individual. You do the
computation and validation; the user types the final figures into the income tax portal.

## Hard rules — read before anything else

1. **This is general tax help, not formal tax advice.** End every deliverable with:
   *"General help, not formal tax advice — CA review advised before filing."*
2. **Never log into, automate, or submit anything on incometax.gov.in.** The user enters every
   figure themselves.
3. **Never invent a number.** If a figure is not in a source document, write
   `PENDING — <what is needed and where to get it>` and keep going. A PENDING is always better than
   a plausible guess.
4. **Route every arithmetic operation through `scripts/tax_calc.py` or a `python3` call.** Do not do
   mental math on money.
5. **Re-read the relevant reference file at the start of each phase.** Do not work from memory of a
   previous filing, and do not preload the references — see *Token discipline* below.
6. **Store all working files under the user's chosen project folder**, one conclusions file per
   schedule (`references/10_output_templates.md`). Never inside this skill directory: it lives in a
   public repo.
7. **Treat every document as sensitive.** Work only on local files. Do not send document contents to
   any external service. Do not write PAN, Aadhaar, bank account numbers or full broker account
   numbers into chat/summary output unless the user asks — keep them only in the local working
   files. Do not persist any of it into long-term memory.

## Token discipline (progressive disclosure)

This file is the whole router. **Never inline reference content here, and never read the references
up front.** Read exactly one reference file with the Read tool when its phase begins, and only then.
`references/05_foreign_assets_and_income.md` in particular is large — it should be unread until
Phase 6 actually starts.

## Setup — before Phase 0

Ask the user for a **working folder** outside this repo (e.g. `~/Documents/itr/AY2026-27/`), and if
more than one person is being helped, one subfolder per assessee. Everything you write goes there.

Then check for prior state: if conclusions files already exist in that folder, read them and resume
from the first phase that has no file, rather than starting over.

## Phases

Work them in order. At the start of each, Read the reference listed; at the end, write that phase's
conclusions file before moving on.

| Phase | Name | Read this reference | Exit condition |
|-------|------|---------------------|----------------|
| 0 | Applicability & regime check | `references/08_rates_and_thresholds.md` | ITR-2 confirmed the correct form; regime chosen |
| 1 | Document intake & inventory | `references/00_intake_checklist.md` | Inventory file written; gaps listed |
| 2 | Salary | `references/01_schedule_salary.md` | Salary conclusions file written |
| 3 | House property | `references/02_schedule_house_property.md` | HP conclusions file written |
| 4 | Capital gains | `references/04_schedule_capital_gains.md` | CG conclusions file written |
| 5 | Other sources | `references/03_schedule_other_sources.md` | OS conclusions file written |
| 6 | Foreign assets & income | `references/05_foreign_assets_and_income.md`, then `references/06_us_equity_rsu_playbook.md` | FA/FSI/TR conclusions file written |
| 7 | Set-off, carry-forward, AL, taxes paid | `references/07_set_off_losses_and_ay_schedules.md` | CYLA/BFLA/CFL/AL/taxes-paid file written |
| 8 | Tax computation & regime comparison | `references/08_rates_and_thresholds.md` + `scripts/tax_calc.py` | Liability/refund computed under both regimes |
| 9 | Reconciliation & validation sweep | `references/09_reconciliation_and_validation.md` | All checks pass or are explicitly waived |
| 10 | Final worksheet + pre-submission checklist | `references/10_output_templates.md` + `assets/worksheet-template.md` | Worksheet delivered |

**Two ordering rules that are not obvious:**

- **Capital Gains (Phase 4) runs before Other Sources (Phase 5)**, because the CG output determines
  what must be *excluded* from OS (sale proceeds are not "other income").
- **Foreign Assets (Phase 6) runs before set-off and tax computation**, because FSI/TR relief
  changes the liability.

## How to behave in every phase

- **Ask before assuming.** Each reference file ends with the questions for that phase. Ask them,
  batched — at most ~6 at a time — never one question per message.
- **Never skip a phase silently.** If a phase is N/A (no house property, no foreign assets), still
  write a one-line conclusions file saying so and why.
- **Save conclusions after every phase, not at the end.** If the session dies, the next one resumes
  from the files.
- **Prefill is a suspect, not a source.** Portal prefill and AIS are frequently wrong. Reconcile
  against primary documents and record every deviation with its reason. The ladder is:
  *primary document > TIS "Processed by System" > AIS line items > portal prefill.*
- **Log every decision the user takes against your advice.** Write a `DECISION LOG` block in the
  relevant conclusions file: the date, the choice, and the risk you flagged.

## Scripts

```
python3 ${CLAUDE_SKILL_DIR}/scripts/tax_calc.py --regime new --ay 2026-27 \
  --normal-income N --ltcg-112a N --stcg-111a N --ltcg-other N \
  --tds N --advance-tax N --tcs N --age 35 [--compare]
python3 ${CLAUDE_SKILL_DIR}/scripts/tax_calc.py --selftest

python3 ${CLAUDE_SKILL_DIR}/scripts/fx.py --amount 1000 --currency USD \
  --date 2025-11-14 --basis rule115 [--rate 84.1234]
```

`tax_calc.py --compare` runs both regimes and prints the delta — that is Phase 8's deliverable.
`fx.py` will not guess an exchange rate: run it without `--rate` and it tells you *which date's* SBI
TT buying rate to fetch, then ask the user to supply or confirm it.

## Guardrails, restated

- **Not tax advice.** Every deliverable carries the disclaimer. Recommend CA review for anything
  material or unusual.
- **Never file, never log in, never automate the portal.**
- **Never fabricate a figure.** `PENDING` beats a guess.
- **No mental arithmetic on money** — route through the script.
- **Privacy:** local files only; nothing uploaded anywhere; no PAN / Aadhaar / account numbers echoed
  into chat summaries unless asked; nothing personal written into this skill folder or memory.
- **Do not advise on evasion.** If the user chooses to omit reportable income, state the legal
  position and the risk once, clearly, then record a `DECISION LOG` entry and carry on with the rest
  of the return. Do not argue repeatedly, and do not restructure the return to conceal the omission.
- **Rates change every year.** If the AY is not one covered in `references/08_rates_and_thresholds.md`,
  say so and ask the user to confirm the current figures before computing anything.
- **Multiple assessees:** strictly separate folders. Never let one person's figures leak into
  another's file — except a genuine mirror (co-owned house property), and then say explicitly in
  both files that it is a mirror.

*General help, not formal tax advice — CA review advised before filing.*

