by karanb192
File your Indian income tax return (ITR) from your terminal. Deterministic tax engine, both regimes, AY 2026-27. Claude Code / Codex / Gemini skill.
# Add to your Claude Code skills
git clone https://github.com/karanb192/itr-walaitr-wala is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by karanb192. File your Indian income tax return (ITR) from your terminal. Deterministic tax engine, both regimes, AY 2026-27. Claude Code / Codex / Gemini skill. It has 114 GitHub stars.
itr-wala's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/karanb192/itr-wala" and add it to your Claude Code skills directory (see the Installation section above).
itr-wala is primarily written in Python. It is open-source under karanb192 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh itr-wala against similar tools.
No comments yet. Be the first to share your thoughts!
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
File your Indian income tax return from your terminal. No CA, no ₹3,000 fee, no 3 hours on the portal. Every rupee of tax math computed by tested code, not by an LLM.
⏳ AY 2026-27 deadlines: ITR-1/2 → 31 July 2026 · ITR-3/4 (non-audit) → 31 August 2026.
# Claude Code
/plugin marketplace add karanb192/itr-wala
/plugin install itr-wala@itr-wala
# Or the plain-skill route (Claude by default; also: -s codex, -s gemini, -s all)
curl -fsSL https://raw.githubusercontent.com/karanb192/itr-wala/main/install.sh | bash
Prefer not to pipe curl into bash? Good instinct. Clone the repo, read install.sh (~80 lines), then run it.

Then open your agent and say "file my ITR". Hand it your Form 16 and AIS. It does the rest - except the three things only you should ever do: pay, submit, e-verify.
Every AI-tax demo you saw this season had the same silent flaw: the model was doing the arithmetic. LLMs are magnificent at reading a Form 16 and terrible at applying s.87A marginal relief. One transposed digit and your "free filing" costs you a tax notice.
itr-wala splits the work the way it should be split:
| The AI does | Deterministic Python does |
|---|---|
| Reads your Form 16, AIS, broker P&L | Every slab, rebate, surcharge, cess calculation |
| Interviews you for missed deductions | Old vs new regime comparison |
| Explains every number in plain language | 87A marginal relief, 111A/112A/VDA special rates |
| Walks you through the portal | 234A/B/C interest, 234F late fee |
| Schema validation that rejects typo'd inputs | |
| Cross-checks your TDS against 26AS/AIS totals |
The math is defended in three layers, all shipped in the repo and run in CI on every commit:
scripts/fuzz_engine.py) - generates thousands of randomized, boundary-biased returns and asserts invariants the law implies: more income can never mean less tax in the new regime, cess is exactly 4%, rounding follows s.288A/288B, recommendations match the cheaper legal option. Seeded and deterministic; CI replays 3,000 cases on every commit, and 350,000+ were swept before release.The skill runs the golden suite in front of you before touching your return:
$ python3 skills/itr-wala/scripts/test_tax_engine.py
...............................................
Ran 47 tests in 0.002s
OK
(Installed as a plugin and can't find the path? Just ask the agent to "run the itr-wala self-test".)
If your CA can show you their test suite, hire them.
These layers exist because they catch real bugs. Hand-deriving every scenario caught an early build that denied surcharge marginal relief on capital-gains-heavy incomes, and the fuzzer caught a one-in-350,000 floating-point rounding edge where ₹52,880 more salary computed ₹10 less tax. Both are fixed and pinned as regression tests. That find-fix-pin loop is the thing a prompt-only tax tool cannot run.
income.json, then a strict validator cross-checks totals against your documents. Unknown key? Rejected. TDS doesn't match 26AS? Flagged.Real output, reproducible from the bundled (fictional) example - python3 skills/itr-wala/scripts/tax_engine.py skills/itr-wala/assets/example-income.json:
Income-tax computation - FY 2025-26 (AY 2026-27)
================================================================
[NEW REGIME]
Gross total income 26,06,700
Total income 25,06,700
TOTAL TAX 3,00,350
NET PAYABLE (-ve=refund) 720
[OLD REGIME]
Gross total income 22,09,300
Total income 18,74,300
TOTAL TAX 3,39,730
NET PAYABLE (-ve=refund) 43,530
================================================================
RECOMMENDED: NEW regime (saves Rs. 42,811)
.gitignore keeps tax documents out of your repos.In scope (AY 2026-27, resident individuals): salary (multiple employers, retirement exemptions like gratuity and leave encashment in both regimes), house property including s.71 loss set-off, equity/MF capital gains (111A/112A/112, grandfathering-aware exemption ordering), debt MF, crypto/VDA, lottery and online-game winnings (115BB/115BBJ), interest & dividends, family pension with the s.57(iia) deduction, s.89 arrears relief, presumptive income (44AD/ADA basics), all Chapter VI-A deductions, both regimes, surcharge with marginal relief, advance-tax interest computed to actual challan dates, late fees, belated returns (including the s.115BAC(6) rule that locks belated filers out of the old regime - it will tell you, not let you find out from a notice), ITR-1/2/3/4 form selection.
Out of scope - it will say so and point you to a CA rather than guess: non-residents/RNOR, F&O and intraday, audit cases, foreign tax credit (Form 67/DTAA), ESOP deferral, the property indexation option, buyback capital-loss entries, agricultural income above ₹5,000. Partial coverage is computed honestly; the rest is never silently approximated.
Hard boundaries, always: never your password or OTP, never clicks Pay/Submit/e-Verify, never fabricates a deduction. Lowest legal tax.
Can I trust an LLM with my taxes? No - that's the point. You're trusting a tested Python engine with the math and an LLM with reading PDFs and explaining things, which are the two things each is actually good at. Run the test suite yourself.
But the LLM still reads the documents - what if it misreads a number? True, and worth being precise about: transcription is the one step the model touches, so a misread digit is the residual risk. That's why every figure is cross-checked against independent documents (Form 16 vs 26AS vs AIS - a single-document misread fails validation), recorded next to its source citation, and shown to you in the filing pack before anything is filed. If the model misreads and every cross-check misses it, you'll see the wrong number with its citation - not a hidden one.
Why not just use ClearTax/Quicko/a CA? Use whatever you trust. This is for people who'd rather review every number themselves than pay ₹3,000+ to hope someone else did. The filing pack it generates is also a great ₹0 first draft to hand a CA for a cheap review.
Is this allowed? Yes. You prepare your own return and file it yourself on the government portal - same as using the portal's own forms, just with better preparation. This tool never submits anything on your behalf.
What happens next year? Rates live in one constants block, pinned to AY 2026-27, with the test suite enforcing them. The skill refuses to compute other years rather than silently using stale slabs. New Finance Act → one PR → tests updated.
Windows? WSL works today; native Windows paths are on the roadmap. macOS and Linux are first-class.
| Tool | How |
|---|---|
Claude Code (recommended - updates with /plugin marketplace update itr-wala) |
/plugin marketplace add karanb192/itr-wala → /plugin install itr-wala@itr-wala |
| Claude Code (plain skill) | curl -fsSL https://raw.githubusercontent.com/karanb192/itr-wala/main/install.sh | bash |
| OpenAI Codex CLI | … | bash -s codex (installs to ~/.agents/skills + ~/.codex/skills; invoke with $itr-wala) |
| Gemini CLI | … | bash -s gemini |
| Everything | … | bash -s all |
Requirements: python3 3.9+ (stdlib only - zero pip installs), git for the curl installer.