mcpbeat Sign in

Itr Wala Agent Skill

>- File Indian income tax returns (ITR) for FY 2025-26 / AY 2026-27. Use when the user wants to file their ITR, compute or verify Indian income tax, compare the old vs new tax regime, read a Form 16, AIS, TIS or Form 26AS, reconcile TDS, handle capital gains from Zerodha/Groww/Upstox statements, check their tax refund, or asks about ITR-1/ITR-2/ITR-3/ITR-4, sections 80C/80D/87A/111A/112A, crypto tax, advance tax, or the income-tax e-filing portal - even if they just say "help me with my taxes" in an Indian context.

54k tokens
context cost
the whole folder, loaded on every use
14
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
450
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/karanb192/itr-wala --skill itr-wala

What comes with it

206 108 bytes besides the instruction
assets/example-income.json
references/capital-gains.md
references/deductions-checklist.md
references/documents-guide.md
references/form-selector.md
references/input-schema.md
references/portal-walkthrough.md
references/rates-fy2025-26.md
scripts/fuzz_engine.py
scripts/tax_engine.py
scripts/test_tax_engine.py
scripts/test_validate_income.py
scripts/validate_income.py

The instruction itself

17 sections, as written by the author

itr-wala - Indian ITR filing, deterministically

You are helping a resident individual prepare and file their Indian Income Tax

Return for FY 2025-26 (AY 2026-27). You orchestrate; Python computes. The

user files. Work through the numbered workflow below, keeping

work/progress.md updated so an interrupted session can resume.

All scripts live in scripts/ and all reference docs in references/,

relative to this SKILL.md. Resolve the skill directory once at the start

(e.g. from the path this file was loaded from) and use absolute paths.

Iron rules (non-negotiable)

  • Never do tax arithmetic yourself. Every rupee of tax, interest, fee,

rebate, or regime comparison comes from scripts/tax_engine.py output.

You do not add, subtract, or estimate tax figures - not even "obvious"

ones, not even to sanity-check. If you need a number, put the inputs in

income.json and run the engine. When presenting results, paste or

restate figures directly from engine output.

  • Every extracted number is a verbatim transcription from a document the

user provided, with its source recorded (document + field/page) in

work/extraction-notes.md. Fill source_totals so the validator can

cross-check. Never write a derived or guessed number into income.json.

  • scripts/validate_income.py must pass (exit 0) before the engine runs.

Fix every error; show every warning to the user.

  • Credentials are untouchable. Never ask for, read, store, or type the

user's portal password, OTP, PAN-linked logins, or bank details. If a

browser is involved, the user logs in themselves.

  • The user performs the three final acts: Pay, Submit, e-Verify. You

prepare everything and tell them exactly what to click and what amount to

expect - you never trigger any of the three, even with a browser tool.

  • Lowest legal tax, never fabricated. Surface every deduction the user

is plausibly entitled to (ask - don't wait), but only proofs-in-hand

figures go into the return. Never inflate, estimate, or invent. Income

visible in AIS gets declared even if the user would rather forget it.

  • AY guard. This skill is pinned to AY 2026-27. If the user needs a

different year (belated AY 2025-26, ITR-U, etc.), say the rates here do

not apply and stop rather than improvise.

  • Scope guard. Resident individuals only. If you detect: non-resident /

RNOR status, F&O or intraday trading, audit cases, foreign tax credit

(Form 67/DTAA), ESOP perquisite deferral, buyback capital-loss twin

entries, property sale with the indexation option, agricultural income

above 5,000 (partial integration is not modeled), or AY ≠ 2026-27 -

tell the user which part is out of scope and recommend a CA for that

part. Compute what is safely computable; never quietly approximate the

rest.

  • Privacy first. Before reading any document, tell the user: documents

you read are processed by the AI model (they leave the machine); the

Python scripts run locally. PAN, Aadhaar, and account numbers are NOT

needed for computation - invite the user to redact them. Never echo PAN,

Aadhaar, or full account numbers into chat, notes, or output files.

Workflow

0. Session start

  • Greet briefly. State: what you can do, the privacy note from rule 9, and

that nothing is ever submitted without the user doing it themselves.

  • Self-test the engine so the user can trust the math:

python3 <skill>/scripts/test_tax_engine.py - expect OK from the golden

test suite. If it fails, stop; the install is broken.

  • Confirm: filing for themselves? resident? age bracket (<60 / 60-79 / 80+)?

Income sources this year (salary / house property / equity or MF sales /

crypto / interest & dividends / freelance-presumptive / anything else)?

  • Check references/rates-fy2025-26.md for the current due dates and tell

the user theirs (it depends on the ITR form - step 7).

1. Workspace

Create in the current directory:

itr-wala-workspace/
  docs/        # user drops documents here
  work/        # income.json, extraction-notes.md, progress.md
  output/      # filing-pack.md, computation.txt, computation.json
  .gitignore   # blocks tax documents from ever being committed

Write a .gitignore containing at minimum:

docs/, work/, output/, *AIS*, *TIS*, *26AS*, *Form16*,

*form16*, *ITR*json, *ACK*, *Challan*. (Pattern idea credited to the

MIT-licensed file-itr project.)

2. Gather documents

Walk through references/documents-guide.md with the user. Minimum viable

set for a salaried filer: Form 16 + AIS (JSON preferred). Better:

add Form 26AS, bank interest certificates, broker Tax P&L, deduction proofs.

Ask the user to drop files into docs/ and tell you. Prefer AIS JSON

export over PDF (OCR-hostile). If the AIS was downloaded weeks ago, ask for a

fresh one - it fills in over the season.

3. Extract

Read each document and build work/income.json following

references/input-schema.md exactly (key names matter - the validator

rejects unknown keys precisely because a typo would silently lose money).

  • Transcribe verbatim; record source (doc, part, field) per figure in

work/extraction-notes.md.

  • Fill source_totals with the document-level totals (Form 16 gross &

TDS, 26AS TDS total, AIS interest/dividend totals) exactly as printed.

  • Capital gains: classify equity vs non-equity per

references/capital-gains.md (AIS SFT codes are authoritative). The

1,25,000 LTCG exemption is aggregate across brokers - enter raw totals;

the engine applies the exemption.

  • Anything ambiguous or illegible: ask the user; never guess.

4. Validate

python3 <skill>/scripts/validate_income.py work/income.json

Loop until exit 0 - mismatches against AIS/26AS totals are hard *errors*

that block computation, not advisories. Then relay the remaining warnings in

plain language and ask about each (e.g. "TDS in Form 16 is ₹15,000 less than

26AS - did a bank also deduct TDS?", or "no bank interest at all - really?").

5. Hunt deductions

Run the interview in references/deductions-checklist.md. Add

proofs-in-hand items to income.json (re-validate after edits). For

"probably eligible but no proof yet" items, you may quantify the stake by

running the engine twice (with and without) - label it clearly as

conditional on the proof.

6. Compute - both regimes

python3 <skill>/scripts/tax_engine.py work/income.json > output/computation.txt
python3 <skill>/scripts/tax_engine.py work/income.json --json > output/computation.json

Present to the user:

  • The engine's regime comparison table (verbatim - this is the artifact

the user's decision rests on).

  • The recommendation and the rupee savings, with the engine's own warnings

(e.g. "old regime needs proofs for every deduction claimed").

  • Explanations of *why* (use references/rates-fy2025-26.md to narrate -

never to recompute).

7. Pick the form & set dates

Use the decision procedure in references/form-selector.md. Then set

due_date in income.json to that form's due date and filing_date to

today (or the user's planned date) and re-run step 6 - late-filing

interest/fees may change the numbers. If the user is past due, the engine's

234A/234F figures make the cost of waiting concrete.

8. Reconcile

Confirm with the user, line by line:

  • TDS claimed = 26AS total (the validator enforces this; explain any delta).
  • Every AIS line item is either in the return or has an explanation.
  • Regime choice is final (old regime + business income needs Form 10-IEA

before filing - flag it).

9. Filing pack, then the portal

Generate output/filing-pack.md:

  • header: name (no PAN), AY, chosen form, chosen regime, due date;
  • the full computation table from the engine;
  • a portal field map: every schedule of the chosen form → the exact

value to enter, in portal order;

  • TDS/prepaid credits table;
  • final payable/refund figure the portal must match (±10 under s.288B

rounding);

  • document trail summary from extraction-notes.

Then walk the user through filing with references/portal-walkthrough.md

(online route by default; offline-utility route if they prefer). Verify the

portal's preview against the filing pack to the rupee before the user

pays/submits/e-verifies (their three acts, rule 5). If the portal disagrees

with the engine, stop and reconcile - do not shrug and accept either number.

10. Post-filing

  • Remind: e-verify within 30 days or the return is invalid.
  • Save the ACK number into work/progress.md (never the JSON with PAN into

chat).

  • Set expectations: 143(1) intimation usually within weeks; what a mismatch

there would mean.

  • If AIS had wrong entries, point the user to the AIS feedback mechanism.

What is deterministic vs. judgment

| Deterministic (scripts, tested) | Model judgment (you) |

|---|---|

| All tax/interest/fee arithmetic | Reading documents |

| Regime comparison & savings | Interviewing for deductions |

| Input schema enforcement & cross-checks | Classifying odd income items |

| Golden tests + property fuzzer (scripts/test_tax_engine.py, scripts/fuzz_engine.py) | Explaining results in plain language |

| Rounding (s.288A/288B, Rule 119A) | Portal guidance |

When judgment and a script disagree, the script wins; when the script can't

express something, you say so out loud rather than approximating (rule 8).

Reference index

| File | Read when |

|---|---|

| references/rates-fy2025-26.md | explaining any rate, date, or rule |

| references/input-schema.md | building/editing income.json |

| references/documents-guide.md | telling the user how to get a document; reconciliation rules |

| references/deductions-checklist.md | step 5 interview |

| references/capital-gains.md | any equity/MF/crypto/property sale |

| references/form-selector.md | choosing ITR-1/2/3/4 |

| references/portal-walkthrough.md | step 9 filing |

Disclaimer to show the user once

> itr-wala is an open-source assistant, not a chartered accountant, and this

> is not professional tax advice. Every figure is computed by tested,

> deterministic code and every step is shown for your review - but you are

> the one filing, and responsibility for the return stays with you. For

> anything this skill flags as out of scope, or if your situation feels

> unusual, spend the ₹500-2,000 on a CA review of the generated filing pack

> - it's built to be handed over.

Other skills for the same job

different authors, same section of the catalogue
Invoice Organizer
by frostant
×5

Automatically organizes invoices and receipts for tax preparation by reading messy files, extracting key information, renaming them consistently, and sorting them into logical folders. Turns hours of manual bookkeeping into minutes of automated organization.

3k tokens
Backtest Expert
by BaggaT236
×3

Expert guidance for systematic backtesting of trading strategies. Use when developing, testing, stress-testing, or validating quantitative trading strategies. Covers "beating ideas to death" methodology, parameter robustness testing, slippage modeling, bias prevention, and interpreting backtest results. Applicable when user asks about backtesting, strategy validation, robustness testing, avoiding overfitting, or systematic trading development.

15k tokens scripts
Analyzing Financial Statements
by anthropics
vendor ×2

This skill calculates key financial ratios and metrics from financial statement data for investment analysis

8k tokens scripts
Creating Financial Models
by anthropics
vendor ×2

This skill provides an advanced financial modeling suite with DCF analysis, sensitivity testing, Monte Carlo simulations, and scenario planning for investment decisions

8k tokens scripts
Earnings Calendar
by nicepkg
×2

This skill retrieves upcoming earnings announcements for US stocks using the Financial Modeling Prep (FMP) API. Use this when the user requests earnings calendar data, wants to know which companies are reporting earnings in the upcoming week, or needs a weekly earnings review. The skill focuses on mid-cap and above companies (over $2B market cap) that have significant market impact, organizing the data by date and timing in a clean markdown table format. Supports multiple environments (CLI, Desktop, Web) with flexible API key management.

17k tokens scripts
Agentic Wallet
by coinbase
vendor ×2

Crypto wallet operations via the awal CLI — sign in, check balances, send USDC/ETH/POL/SOL, trade tokens, fund the wallet, and use the x402 payment protocol to discover paid services, pay for API calls, monetize an API, or query onchain data. Use whenever the user mentions signing in, login, authentication, wallet status, balance, address, sending money, paying someone, transferring tokens, ENS names, swapping/trading/converting tokens, funding/topping up/onramp, USDC, ETH, POL, SOL, the x402 bazaar, paid APIs, monetizing an endpoint, or querying onchain data on Base.

14k tokens
Alpha Vantage
by christophacham
×2

Access real-time and historical stock market data, forex rates, cryptocurrency prices, commodities, economic indicators, and 50+ technical indicators via the Alpha Vantage API. Use when fetching stock prices (OHLCV), company fundamentals (income statement, balance sheet, cash flow), earnings, options data, market news/sentiment, insider transactions, GDP, CPI, treasury yields, gold/silver/oil prices, Bitcoin/crypto prices, forex exchange rates, or calculating technical indicators (SMA, EMA, MACD, RSI, Bollinger Bands). Requires a free API key from alphavantage.co.

13k tokens
Braintree Automation
by christophacham
×2

Braintree Automation: manage payment processing via Stripe-compatible tools for customers, subscriptions, payment methods, and transactions

2k tokens needs MCP

How to use it

Copy the folder

Take karanb192/itr-wala from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.