Side Quests
Built with AI — projects, tools, and rabbit holes. Everything here was built on Claude Code, Codex, or OpenCode. Most started as weekend curiosity. A few became things I use every day.
Work
Tools and systems I built for GTM Buddy's Revenue Activation practice.
GTM Buddy Marketing Skills Internal Updated May 17, 2026
█ █ ███ ████ █ █ █████ █████ ███ █ █ ███ ███ █ █ ███ █ █ ███ ██ ██ █ █ █ █ █ █ █ █ █ ██ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █████ ████ ██ ████ █ █ █ ██ █ ███ █████ ███ ██ █ █ █ ███ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █████ █ ███ █ █ ███ ███ █ █ ███ █████ █████ ███
I built 43 marketing skills for Claude Code and Codex, purpose-built for GTM Buddy. Every skill reads the same shared positioning context, so every output — a competitor profile, a cold email, an SEO audit — comes out on-brand without re-briefing the agent each time.
How I built it
I structured these as Markdown files with YAML frontmatter. Each skill references shared context files (product-marketing-context.md, content-governance.md, content-standards.md, keyword-universe.md) that encode GTM Buddy's Revenue Activation ontology, vocabulary, and brand rules. When someone asks an agent to do marketing work, it loads the right skill automatically.
I also built an auto-orchestration system — five core skills (seo-audit, copywriting, schema, cro, ai-seo) form a unified SEO + AEO analysis engine. Running /copywriting outputs a validated title tag, H1, and meta description automatically. Running /seo-audit applies schema fixes and CTR rewrites inline.
Features
- 43 skills across the full marketing spectrum (SEO, CRO, copy, ads, analytics, email, social, research, pricing, launch, RevOps, ASO)
- Shared context layer — skills read Revenue Activation ontology, content governance, keyword universe automatically
- Skill auto-orchestration — running one skill triggers related skills automatically
- Dual agent support — works in both Claude Code and Codex
- CLI installer — single command installs all skills into either agent
- No-em-dash rule enforced across all copy output
- SEO guardrails wired into every search-facing skill
Version history
- 2.0.0 (May 17, 2026) — Upstream v2.0 sync: 17 skill renames, consolidated CRO engine, added co-marketing, directory-submissions, image, and video skills
- 1.4.0 (May 4, 2026) — WebPage schema baseline, enhanced SEO audits
- 1.3.0 (May 1, 2026) — Unified SEO + AEO analysis engine, auto-orchestration of copywriting with ai-seo, canonical URL table
- 1.0.0 (Mar 2026) — Initial release with 30 skills
GTM Buddy Design × Engineering Internal Updated May 17, 2026
████ █████ ███ ███ ███ █ █ █████ █ █ ███ ███ █ █ █ █ █ █ █ █ ██ █ █ ██ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ ████ ███ █ █ ███ █ ██ █████ ████ █ ██ █ ███ █ ███ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ ████ █████ ███ ███ ███ █ █ █████ █ █ ███ ███
I built a reusable agent workspace for building GTM Buddy web pages. Clone it, open it, and ship work that is on-brand, responsive, and production-ready — without briefing the agent each time. 37 skills across three layers: Design × Ship, Engineering, and QA.
How I built it
I designed it around a simple workflow: drop any URL into Claude Code. The agent crawls the page using Playwright MCP and returns a full pass/fail report with fixes ready to paste into Webflow. It takes screenshots at 390px, 768px, 1024px, 1440px, extracts the DOM (title, H1, meta, canonical, schema, OG tags), scans copy for em dashes and category framing drift, checks accessibility, and even clicks CTAs and submits forms to verify they work.
I also wired in a Figma pipeline — drop a Figma URL and the agent compares the design against DESIGN.md tokens before the Webflow build starts. Every ❌ blocker includes a ready-to-paste fix in GTM Buddy voice.
Features
- 37 skills across 3 layers: Design × Ship (11 skills), Engineering (18 skills), QA (8 skills)
- Auto page audit via Playwright — screenshots at 4 breakpoints, DOM extraction, copy scan, a11y check, CTA verification
- Figma-to-Webflow pipeline — compares design against DESIGN.md tokens before build
- Every ❌ blocker includes a ready-to-paste fix in GTM Buddy voice
- Fast mode: skip description columns, launch landing pages in single prompts
- Git guardrails — conventional commit enforcement, pre-commit hooks
/qaagent — full Gate-2 audit (page-level, visual regression, copy QA, domain scanning)
Version history
- 1.3.0 (May 17, 2026) — Agentic QA layer: /qa and /figma-qa skills, Playwright MCP integration, routing rules
- 1.2.0 (May 17, 2026) — DESIGN.md token system, block-char logo, repo rename from lp-design to design-engg
- 1.1.0 (May 2026) — Full page audit pipeline, multi-breakpoint screenshots
- 1.0.0 (Apr 2026) — Initial workspace with lp-design, copywriting, and engineering fundamentals
GTM Skills (SDR) Internal Updated May 15, 2026
███ █████ █ █ ███ █ █ ███ █ █ ███ █ █ █ ██ ██ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ ███ █ █ █ █ █████ ███ ██ █ █ █ ███ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ ███ █ █ █ ███ █ █ ███ █████ █████ ███
I created 5 Claude Code skills that give a new SDR ready-to-use outreach for any prospect, persona, or situation. Describe your prospect, mention any trigger event (funding round, layoffs, competitive tool), and the right skill fires automatically: cold call script, LinkedIn message, email sequence, or competitive displacement copy — all in GTM Buddy's Revenue Activation framing.
How I built it
I centralized routing through a parent skill (sdr) that classifies input into four types (CSV prospect list, free-form request, navigation question, direct channel request), runs trigger detection, and routes to the correct sub-skill automatically. Sub-skills never call each other — routing is centralized so the system is easy to extend.
Each sub-skill loads shared references I curated: per-persona triggers and vocabulary, the Five Levers messaging framework, competitive intelligence on Highspot/Seismic/Showpad, and industry-specific ROI models. I also built a CSV prospect list mode — upload a spreadsheet and get a full outreach kit per row.
Features
- 5 skills: parent router, cold call, LinkedIn DM, email sequences, competitive displacement
- 10 email sequences (A–J) covering cold, follow-up, breakup, and trigger-based outreach
- 6 reference files: personas, messaging, competitive intel, capacity math, playbook, industry maps
- CSV prospect list mode — generate full outreach kits per row automatically
- Trigger event detection — funding, layoffs, new hire, competitive tool, lost deal, went dark
- Hook-pitch-offer structure enforced on all output (no labels)
- 300-char character count display on LinkedIn connection requests
- Competitive displacement for Highspot, Seismic, Showpad, Letter AI, Trumpet — including merger narrative
Version history
- 1.1.0 (May 15, 2026) — Filled playbook gaps, added SDR team onboarding docs, expanded sequences
- 1.0.0 (May 7, 2026) — Initial release with full SDR skill suite and 10 sequences
Personal
Side projects born from curiosity, necessity, or boredom.
VC's Notes Live Updated May 16, 2026
█ █ ███ █ █ ███ █ █ ███ ███ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ ███ █ █ ███ █ ███ ███
This is my personal website — a Jekyll static site built on the STARLIGHT design system with cosmic color tokens and AI-managed workflows. Hosted at varunchoraria.com.
How I built it
I built it on Jekyll 4.3 with Ruby 3.2.2, hosted on GitHub Pages. Single style.scss stylesheet with CSS custom properties for theming. The STARLIGHT design system uses exoplanet-inspired color tokens (HD 189733b, GJ 504b, TrES-2b, Proxima b). Dark mode via data-theme attribute.
It's AI-managed — a complete DESIGN.md file codifies design tokens, typography, spacing, and components. Claude Code and Codex handle the heavy lifting. I use 14 mattpocock skills for TypeScript patterns and 35 compound-engineering skills.
Features
- Light/dark mode with system preference detection
- Two-column blog layout with sidebar navigation
- Blog feed, tags, archive, about, uses-this, work, fun pages
- STARLIGHT design system with CSS custom properties
- Responsive — mobile menu, fluid typography
- GA4 tracking with Google Analytics
- Sub-800ms page loads on GitHub Pages
Version history
- May 16, 2026 — Skills README screenshot, map essay update
- Apr 25, 2026 — Separators on about/uses/fun pages, Ruby version pin
- Apr 25, 2026 — Published "The Map is Blank" essay
- Apr 2026 — Career essay series (luck, management, writing), about and work pages
- Mar 21, 2026 — Site created, initial blog posts, STARLIGHT design system
God's Eye Private Updated May 17, 2026
███ ███ ████ ███ █████ █ █ █████ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ ███ █ █ █ █ ███ █████ ████ █ ████ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ ███ ███ ████ ███ █████ █ █████
I built a Vedic astrology prediction system that cross-verifies across 16+ astrological systems before surfacing any answer. Terminal-native, personalized to one user.
How I built it
I wrote it in Python with Swiss Ephemeris for accurate celestial calculations. It runs entirely in the terminal with a chat-based interface. Three prediction tiers, tried in order: local LLM (Ollama + Llama 3.2) for natural language interpretation, cloud LLM (OpenAI GPT-4o) for deep synthesis, and a template engine fallback that works fully offline. No API key ever required.
The architecture is modular — separate calculators for each astrological system, a unified chart engine that computes all D1-D60 divisional charts, and a prediction router that cross-verifies across systems before surfacing any answer. Every prediction is triple-checked.
Features
- 16+ integrated astrological systems — Vedic, Western, Hellenistic, Chinese
- Triple-checked predictions — no answer surfaced without cross-system verification
- Three-tier intelligence: local LLM → cloud LLM → offline template engine
- Chat memory and slash commands — natural conversation flow
- ASCII chart diagrams rendered in terminal
- Adaptive LLM routing — auto-detects available models, falls back gracefully
- Defaults to current year transits — no need to specify timing
- Swiss Ephemeris for all celestial calculations
Version history
- 1.4.0 (May 17, 2026) — Chat memory, slash commands, ASCII chart diagrams, adaptive LLM routing
- 1.3.0 (May 17, 2026) — Simplified predictor: defaults to current year/transits, human-readable dates
- 1.2.0 (May 17, 2026) — Local LLM support (Ollama + Llama 3.2), all 16+ calculators wired
- 1.1.0 (May 2026) — Swiss Ephemeris integration, D1-D60 divisional charts
- 1.0.0 (May 2026) — Initial release with core Parashari + Western hybrid engine