npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

marketclaw

v0.1.1

Published

AI-powered marketing agent with persistent memory — chat-first, multi-provider

Readme

Build in public, automate your marketing, never forget your campaigns.

CI License: MIT Node.js Version TypeScript PRs Welcome GitHub Discussions


What is MarketClaw?

MarketClaw is an AI marketing assistant that:

  • 💬 Lives in your chat — Telegram, Discord, Slack, or build your own channel
  • 🧠 Remembers everything — Products, campaigns, brand voice
  • 📝 Creates content — Tweets, LinkedIn posts, Product Hunt launches
  • 📊 Manages campaigns — Organize posts, track metrics, measure ROI
  • 💰 Tracks costs — Know exactly what you're spending per campaign
  • Schedules posts — Set it and forget it
  • 🤖 Automates tasks — "Check inbox every hour and respond to leads"
  • 🔌 Pluggable — Swap AI providers, add skills, build your own

Think of it as your marketing co-pilot that's always on, always learning, and never forgets a campaign.


Quick Start

# Clone
git clone https://github.com/helixdata/MarketClaw.git
cd MarketClaw

# Install
npm install

# Setup (interactive, ~3 minutes)
npx tsx src/cli.ts setup

# Start
npx tsx src/cli.ts start

That's it. Open your configured channel (Telegram, Discord, or Slack) and start chatting.


Features

🔀 Multi-Provider AI

Use any AI provider:

| Provider | Description | |----------|-------------| | Anthropic | Claude models (default) | | OpenAI | GPT-4o, o1, etc. | | Groq | Ultra-fast inference | | Gemini | Google's models | | Ollama | Local models, privacy | | OpenRouter | Access any model |

🛠️ Built-in Tools

  • Scheduling — Post later, set reminders
  • Knowledge base — Store product info, search with embeddings
  • Brand identity — Colors, voice, taglines, typography per product
  • Image library — Store, tag, and search product images
  • Document reading — Extract text from PDF, Word (.docx/.doc), and text files
  • Document generation — Create PDF reports and PowerPoint presentations
  • Web search & research — Search the web, extract content, compile research reports
  • Email — Outreach via Resend, monitor inbox
  • Social — Twitter, LinkedIn, Product Hunt (via skills)
  • Browser automation — Post to 10 platforms via Chrome extension (no API costs!)
  • Images — Generate with DALL-E, analyze with vision
  • Leads — Simple CRM
  • Calendar — Google Calendar integration for event management

💬 Chat-First

Works where you already are — Telegram, Discord, Slack, or CLI. Natural conversation, inline buttons, image sharing.

You: "Schedule a tweet about our new feature for tomorrow 9am"
Bot: ✅ Scheduled! I'll post "..." tomorrow at 9:00 AM.

You: "What posts are scheduled this week?"
Bot: 📅 3 posts scheduled:
     • Tomorrow 9am - Twitter
     • Wed 2pm - LinkedIn  
     • Fri 10am - Twitter thread

🧠 Persistent Memory

MarketClaw remembers:

  • Your products and their features
  • Brand voice and guidelines
  • Campaign history
  • What works and what doesn't
~/.marketclaw/workspace/
├── BRAND.md           # Your brand voice
├── products/          # Product details
├── campaigns/         # Campaign history
└── knowledge/         # Product knowledge base

🤖 Sub-Agents

Delegate tasks to specialized AI agents:

| Agent | Name | Specialty | |-------|------|-----------| | 🐦 | Tweety | Twitter threads, viral hooks | | 💼 | Quinn | LinkedIn, B2B content | | ✉️ | Emma | Email marketing, outreach | | 🎨 | Pixel | Visual content, images | | 📊 | Dash | Analytics, metrics | | 🔍 | Scout | Research, competitor intel | | 🚀 | Hunter | Product Hunt launches |

You: "Ask Tweety to write a thread about building in public"
Bot: 🐦 Tweety completed the task:
     1/ Building in public is scary. Here's why you should do it anyway...

👥 Team Management

Multi-user support with roles:

  • Admin — Full access, manage team
  • Manager — Approve content, post
  • Creator — Draft content (needs approval)
  • Viewer — Read-only analytics
You: "Add @jane as a creator for ProofPing"
Bot: ✅ Added Jane to the team (creator for ProofPing)

✅ Approval Workflow

Quality control for team content:

Creator: "Request approval for this tweet"
Bot: 📝 Notifying approvers...

Manager: "approve"
Bot: ✅ Approved! Ready to post.

🎨 Brand Identity

Define your brand for consistent content:

You: "Set ProofPing brand colors: primary #FF6B35, accent #00D9C0"
Bot: ✅ Updated brand colors for ProofPing

You: "ProofPing voice is warm and reassuring, never corporate"
Bot: ✅ Updated brand voice for ProofPing

You: "What are ProofPing's brand guidelines?"
Bot: 🎨 ProofPing Brand:
     Colors: primary #FF6B35, accent #00D9C0
     Voice: warm, reassuring friend
     Tagline: "Someone's always got your back"

The agent automatically uses brand guidelines when creating content.

🔍 Web Search & Research

Search the web and extract content for research:

You: "Research AI marketing trends"
Bot: # Research: AI marketing trends

     Found 5 sources:
     1. **The Rise of AI in Marketing** - How brands are using...
     2. **Marketing Automation 2024** - Key trends to watch...

You: "Search for Product Hunt launch tips from this week"
Bot: Found 5 recent results:
     • How to Launch on Product Hunt (2 days ago)
     • Top Tips from #1 Products (5 days ago)
     ...

You: "Fetch the content from https://example.com/article"
Bot: Extracted 3,500 characters from the article...

Tools: web_search, web_fetch, research_topic

🖼️ Product Image Library

Store and search product images:

You: "Add this screenshot to ProofPing" [attaches image]
Bot: ✅ Added "screenshot.png" to ProofPing library

You: "Find ProofPing screenshots showing the dashboard"
Bot: 📸 Found 3 images:
     • App Store Hero (screenshot) - iPhone showing main dashboard
     • Dashboard Dark Mode (screenshot) - Dark theme variant
     • Check-in Flow (screenshot) - Step-by-step check-in

You: "List all ProofPing logos"
Bot: 📸 2 logo images found...

Features:

  • Semantic search ("find mockups showing check-in")
  • Tag and type filtering
  • Auto dimension detection
  • URL or file upload

👁️ Vision Support

Send images and MarketClaw can analyze them:

You: [sends competitor's landing page screenshot]
     "What's good about this landing page?"

Bot: Here's my analysis:
     ✅ Clear value proposition above the fold
     ✅ Strong social proof with logos
     ⚠️ CTA could be more prominent
     ...

Works across Telegram, Discord, and Slack with Claude, GPT-4o, and Gemini.

🌐 Browser Automation

Post to social media via Chrome extension — no API costs, posts like a human:

| Platform | Actions | |----------|---------| | 🐦 Twitter/X | Post | | 💼 LinkedIn | Post | | 🤖 Reddit | Post, comment | | 📸 Instagram | Comment, DM | | 🔶 Hacker News | Submit, comment, upvote | | 🚀 Product Hunt | Upvote, comment | | 📘 Facebook | Post, comment, like | | 🧵 Threads | Post, reply, like | | 🦋 Bluesky | Post, reply, like, repost | | ▶️ YouTube | Comment, like, subscribe |

You: "Post to Twitter: Just shipped a new feature! 🚀"
Bot: ✅ Posted to Twitter successfully

You: "Upvote this Product Hunt launch"
Bot: ✅ Upvoted on Product Hunt

You: "Comment on this HN post: Great insights!"
Bot: ✅ Comment posted to Hacker News

Multi-account support: Name your Chrome profiles (Work, Personal, Client1) and target specific accounts:

You: "Post to Twitter from my work account: Company announcement"
Bot: ✅ Posted to Twitter (Work profile)

See extension/README.md for setup and full documentation.

💰 Cost Tracking

Monitor and control API spending:

You: "How much have we spent this week?"
Bot: 💰 Total: $12.45 (156 operations)
     By Tool: generate_image: $8.00, send_email: $2.15
     By Agent: Pixel: $8.00, Emma: $2.15
     By Provider: gemini: $8.00, resend: $2.15

You: "Set a $50 monthly budget"
Bot: ✅ Budget "Monthly Limit" created: $50/monthly (global)

Features:

  • Per-tool, per-agent, per-product cost attribution
  • Daily/weekly/monthly budgets with warn or block actions
  • Trend analysis and reporting

Configuration

Environment Variables

# Required
TELEGRAM_BOT_TOKEN=your-token

# AI Provider (pick one)
ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-...
GROQ_API_KEY=gsk_...
GOOGLE_API_KEY=AIza...
OPENROUTER_API_KEY=sk-or-...

# Optional integrations
RESEND_API_KEY=re_...
BRAVE_SEARCH_API_KEY=BSA...
TWITTER_COOKIES=...

Config File

~/.marketclaw/config.yaml:

telegram:
  botToken: ${TELEGRAM_BOT_TOKEN}
  allowedUsers: [123456789]

providers:
  default: anthropic
  anthropic:
    model: claude-sonnet-4-5-20250514

agent:
  name: MarketClaw
  emoji: 🦀
  voice: friendly    # professional, casual, friendly, playful
  persona: your friendly marketing assistant

See docs/SETUP.md for detailed configuration.


Architecture

src/
├── index.ts           # Agent startup
├── cli.ts             # CLI commands
├── setup.ts           # Interactive setup wizard
├── providers/         # AI providers (swappable)
│   ├── anthropic.ts
│   ├── openai.ts
│   ├── groq.ts
│   ├── gemini.ts
│   ├── ollama.ts
│   └── openrouter.ts
├── channels/          # Chat interfaces (modular)
│   ├── telegram.ts
│   ├── discord.ts
│   ├── slack.ts
│   └── cli.ts
├── browser/           # Browser automation
│   ├── extension-bridge.ts  # WebSocket server
│   └── tools.ts       # 18 browser tools
├── agents/            # Sub-agent system
│   ├── specialists.ts # Built-in specialists
│   ├── registry.ts    # Agent management
│   └── tools.ts       # delegate_task, etc.
├── team/              # Multi-user management
│   ├── manager.ts     # Team CRUD
│   ├── permissions.ts # Tool-level permissions
│   └── tools.ts       # Team management tools
├── approvals/         # Content approval workflow
│   ├── manager.ts     # Approval logic
│   └── tools.ts       # approve, reject, etc.
├── tools/             # Agent capabilities
│   ├── scheduler-tools.ts
│   ├── knowledge-tools.ts
│   ├── twitter-tools.ts
│   └── ...
├── memory/            # Persistent state
├── knowledge/         # RAG/embeddings
└── scheduler/         # Cron jobs

extension/             # Chrome extension
├── manifest.json      # Extension manifest (v0.4.0)
├── background.js      # WebSocket client
├── popup.html/js      # Extension UI
└── content-scripts/   # Platform automation (10 platforms)

CLI Commands

# Agent
marketclaw start        # Start the agent
marketclaw setup        # Interactive setup
marketclaw status       # Show status

# Products
marketclaw products list
marketclaw products add "ProductName" --tagline "..."

# Knowledge
marketclaw kb init <product>
marketclaw kb index <product>
marketclaw kb search <product> "query"

# Scheduling
marketclaw cron list
marketclaw cron add -s "every day at 9am" -m "Check metrics"

# Config
marketclaw config

Documentation


Roadmap

  • [x] Multi-provider AI
  • [x] Telegram interface
  • [x] Persistent memory
  • [x] Tool system
  • [x] Scheduling
  • [x] Knowledge base
  • [x] Sub-agents system
  • [x] Team management
  • [x] Approval workflow
  • [x] Modular channels (Telegram, Discord, Slack)
  • [x] Cost tracking & budgets
  • [x] Brand identity management
  • [x] Product image library
  • [x] Vision/image support
  • [x] Web search & research tools
  • [x] Google Calendar integration
  • [x] Browser automation (10 platforms via Chrome extension)
  • [ ] Calendar-campaign sync (auto-create events for scheduled posts)
  • [ ] Notion integration
  • [ ] Google Ads integration
  • [ ] Content templates
  • [ ] Audience personas
  • [ ] Competitor monitoring
  • [ ] Skills/Marketplace
  • [ ] Microsoft Teams channel
  • [ ] Analytics dashboard
  • [ ] Web dashboard

Contributing

Contributions welcome! See CONTRIBUTING.md.

# Development
npm run dev       # Watch mode
npm run typecheck # Type checking
npm run lint      # Linting

Inspiration


License

MIT © Brett Waterson