I’ve been using Claude Code for more than just coding: research, launch planning, content workflows, and GTM ops. The problem I kept running into: Claude Code often needed routine external work — search the web, scrape a page, summarize results, enrich a person or company, or call a cheaper/faster model for a small task. Doing all of that inside the main agent bloated context and made the workflow harder to reuse. I tried splitting this across more agents, skills, and custom scripts, but that led to sprawl. What I wanted was a small composable CLI layer: fetch data, process it with whichever provider/model makes sense, and return only the useful result to Claude Code. So I built Marmot : an open-source CLI for AI, web search, scraping, lookup, enrichment, speech, transcription, image, and video workflows. Examples: marmot search “new product launches” \ –include-domains “news.ycombinator.com” \ | marmot “make a markdown table of non-software product launches” gog gmail search ‘newer_than:3d’ \ | marmot “Tell me what’s urgent (max 30 words)” \ | marmot speak marmot scrape https://www.linkedin.com/in/john-doe/ \ | marmot run “extract this page” --schema-module person.ts marmot enrich \ –domain example.com \ –first-name John --last-name Doe \ | jq -r ‘.data.person.email’ The mental model is: let Claude Code delegate external calls to Marmot, then bring back only the useful result. If a workflow repeats, turn it into a preset or pipeline. It also supports caching, retries, sessions, logging, and bring-your-own provider keys. Repo: https://github.com/marmot-sh/marmot Docs: https://marmot.sh/docs Install: npm i -g marmot-sh Would love feedback from other Claude Code users. What external-data workflows do you keep repeating? submitted by /u/botanist76
Originally posted by u/botanist76 on r/ClaudeCode
