Co-Founder & Head of Technology at Adelev8 in Bengaluru, India.
I build diagnostic tooling and CLIs for people shipping with AI agents: token cost meters, agent benchmarks, fresh-clone replay, instruction-file audits.
That's a real npx ctxvitals run on my own machine: 886 skills and 14 MCP servers spend 138,940 tokens before the model reads a word. Grade: F. That number is why these tools exist.
- ctxvitals (
npx ctxvitals) - a Lighthouse for your AI agent stack: measures the real token cost of MCP servers, skills, and rules; flags security issues and duplicates; grades the setup A-F. - compactsim (
npx compactsim) - replays local Claude Code and Codex transcripts to measure Context Rent (payload_tokens * turns_carried), catch post-compaction amnesia re-reads, and simulateautoCompactWindowthresholds before you editsettings.json. - agent-trials (
npx agent-trials) - run the same JSON task suite through every coding agent CLI you have installed (Claude Code, Codex, Gemini) in sandboxed repo copies; scoreboard of who passed, how long they took, what it cost. - ruleherd (
npx ruleherd) - auditsCLAUDE.md,AGENTS.md,.cursor/rulesand friends for contradictions, dead file references, and copy-pasted rules that drifted apart. Also in Rust: ruleherd-rs. - mcp-tax (
npx mcp-tax-cli) - how many tokens your MCP servers burn before you type a word. Also in Rust: mcp-tax-rs. - mcp-bouncer (
npx mcp-bouncer) - policy-enforcement proxy for stdio MCP servers: tool allowlists, method gating, path traversal and SSRF blocking, rate limits, JSONL audit logs. - agentblast (
npx agentblast) - two-plane blast-radius auditor for Claude Code and Codex CLI: checks~/.claude/settings.jsonand~/.codex/config.tomlfor plaintext API keys and missing deny rules, replays session transcripts to catch unrestrictedssh root@calls, non-/tmprm -rf, and.envreads, and emits least-privilege permission policies. - egressleak (
npx egressleak) - outbound HTTP egress,User-Agentemail leak (#107757), and context PII auditor for Claude Code, Codex CLI, and MCP configs: separates syntheticnoreply@anthropic.comtrailer emails and127.0.0.1loopback calls from real external domain egress and?authuser=query leaks, and emits a deterministicPreToolUseguardrail hook. - repotrap (
npx repotrap) - prompt-injection, invisible Unicode steganography (U+E0000tags, Bidi overrides, standaloneU+200B), spoofed<system-reminder>delimiter, and.claude/.mcp.json/.vscoderepo-open execution trap scanner for skills, cloned repos, session transcripts, and untrusted GitHub issues (--gh-issue owner/repo#123). - loopbrake (
npx loopbrake) - coding-agent edit-thrash, shell-write bypass (39.2%of source writes across 153 transcripts viaBashheredoc/sed/.write_text()), deleted-sandbox CWD escape, and consecutive tool-error doom-loop auditor +PreToolUse/PostToolUsecircuit-breaker hook generator. - canimcp (
npx canimcp) - preflight checker for MCP servers: which clients silently drop or mangle your tools, checked against a versioned quirks corpus (Claude Code, Cursor, Codex, Windsurf, Zed, Continue).
- coldstart (
npx coldstart-cli) - replays your README's install instructions in a clean clone and reports the exact step where a new user hits a wall. - readmeroast (
npx readmeroast you/yourrepo) - scores any GitHub README out of 100 and roasts what it's missing. - slopsieve (
npx slopsieve) - score a diff or PR for 15 AI-slop review signals: test weakening, secret leaks, phantom imports, debug leftovers, dead exports. Also in Rust: slopsieve-rs. - uislop (
npx uislop) - static linter for React, Next.js, Vue, Svelte, and Tailwind that scores frontend files for 16 "vibecoded" AI UI tells (indigo/violet palette dominance, hardcoded Unsplash stock avatars, fake"10,000+ developers"social proof, Lucide icon-in-tinted-box cards, and deadhref="#"links). - dep-census - who actually maintains the code inside your
node_modules.
- MaintainerOS - command center for open-source maintainers: repo health, stale backlog, security readiness, issue triage, PR review, Actions reports. Live at maintaineros.prince.sh.
- Quantiti - live trading journal with real Zerodha Kite order routing.
- Day job: built and still operate the full stack for Bigg Bounce, a 30,000 sq ft entertainment park in Bengaluru - ticketing site, self-service kiosks, POS, QR turnstiles, Razorpay UPI reconciliation, rain-day transfers. Rs 80 lakh+ recorded across 2,900+ paid bookings and 6,500+ POS orders in its first 20 days, backed by 46 Postgres migrations and a five-node Linux fleet.
30 PRs merged across query engines, compilers, drivers, and SDKs:
- Vercel AI SDK (TypeScript): MCP tool-output serialization fix carried into vercel/ai#23935 (merged with co-author credit); root-cause reproductions in #23819, #23830, #23834.
- apache/datafusion (Rust): correlated-subquery decorrelation #26551 merged.
- apache/arrow-rs (Rust): record-batch interleaving #11845 merged.
- lancedb (Node/Python): SDK fixes #4584, #4586 merged.
- oxc (Rust): linter AST traversal and WHATWG autofill rules, #28008 merged, #28109, #28110.
- JSqlParser (Java): 6 merged SQL grammar/AST fixes, #2838 through #2843.
- Pebble (Java): 5 template-engine fixes merged, #842, #843, #846, #847, #845 - #843 closed a bug open since 2021. Also Handlebars.java#1200, #1201 merged.
- connectrpc/connect-es (TypeScript): HTTP/2 session state handling #1849 merged.
- rakazo (TypeScript): 8 merged fixes in #2125-#2138.
- tokio-rs/bytes (Rust): minimal-versions CI check + serde floor #863 merged.
- sqlalchemy (Python): preserve recursive CTEs through
union().select()#13710 merged via Gerrit. - redis/lettuce (Java): connection state handling #3966 merged.
- In review: structured logging arguments in pmd#7225 (approved); GPU-budget accounting in ray#67229; C-extension mapping conversion in msgspec#1302; explicit
columnVisibilityon parent columns in TanStack/table#6639; run-metadata JSON parsing in trigger.dev#5052; gateway profile resolution and cron recovery in NousResearch/hermes-agent (#145834, #146938, #146940).
Portfolio (w.prince.sh) · Engineering Dossier · MaintainerOS · Quantiti · LinkedIn · X · mail@prince.sh