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

@crowdlisten/harness

v2.2.0

Published

Shared context for AI agents — structured harnesses from conversations, feedback, and decisions, queryable via MCP

Downloads

41

Readme

CrowdListen

Give your AI agents shared context — structured harnesses compiled from your organization's conversations, feedback, and decisions.

CrowdListen — Give your agent evidence, not guesses

English | 中文文档 | 한국어 | Español

The Problem

AI agents don't share context. Every session starts from scratch — no awareness of prior decisions, no access to customer feedback, no understanding of what's been tried. You end up pasting context into every prompt and watching agents build without the one thing that matters: shared organizational understanding.

CrowdListen fixes this with a four-step loop:

  1. Ingest — connect Slack, Discord, Reddit, support tools, internal discussions
  2. Compile — AI distills signal into structured harnesses: themes, evidence, severity, trends
  3. Execute — agents inherit harnesses as context, building with full organizational knowledge
  4. Learn — agents write back observations, enriching harnesses for the next build

Any agent — Claude Code, Cursor, Gemini CLI, Codex — reads and writes harnesses. Context compounds across sessions and across agents. That's how you align builds at scale.

Get Started

One command. Your browser opens, you sign in, and your agents are configured automatically:

npx @crowdlisten/harness login

Auto-configures MCP for Claude Code, Cursor, Gemini CLI, Codex, Amp, and OpenClaw. No env vars, no JSON editing, no API keys to manage. Restart your agent after login.

Manual Setup

Add to your agent's MCP config:

{
  "mcpServers": {
    "crowdlisten": {
      "command": "npx",
      "args": ["-y", "@crowdlisten/harness"]
    }
  }
}

For remote access, use the HTTP transport:

{
  "mcpServers": {
    "crowdlisten": {
      "url": "https://mcp.crowdlisten.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

What You Can Do

| Capability | What it does | How it works | |---|---|---| | Search social platforms | Search Reddit, YouTube, TikTok, Twitter/X, Instagram, Xiaohongshu from one tool | Returns structured posts with engagement metrics, timestamps, and author info — same format regardless of platform | | Compile organizational signal | AI distills conversations into structured harnesses — themes, evidence, severity, and trends | AI groups comments by theme, scores sentiment, identifies competitive signals | | Shared context layer | Harnesses persist across agents and sessions — query via semantic search or browse directly | Your agent saves with save, searches with wiki_search, browses with wiki_list, ingests content with wiki_ingest | | Plan and track work | Tasks, execution plans, progress tracking, server-side execution | Your agent claims tasks, drafts plans with assumptions and risks, logs progress, triggers agent execution and polls status | | Run full analyses | End-to-end crowd analysis with streaming results | run_analysis triggers the full pipeline on the backend; continue_analysis for follow-ups | | From harnesses to specs | Turn harnesses into implementation-ready specs with evidence citations and acceptance criteria | Specs include evidence citations, acceptance criteria, and confidence scores | | Extract from any website | Screenshot any URL and get structured data back | Vision mode sends screenshots to an LLM — works on forums, paywalled sites, anything with a URL |

How It Works

CrowdListen Pipeline — Raw Crowd Signals to Agent Delivery

Your agent starts with 8 core tools and activates skill packs on demand (~28 tools total across all packs). No restart required — new tools appear instantly via tools/list_changed.

Task Execution — Trigger server-side AI agent execution (Amp, Claude Code, Codex, Gemini CLI) and poll progress via MCP. Calls execute_task to dispatch work and get_execution_status to track completion.

Skill Packs

| Pack | Tools | What it does | |------|:-----:|---| | core (always on) | 8 | Wiki knowledge base (save/wiki_*/skills), skill discovery | | social-listening | 5 | Search Reddit, TikTok, YouTube, Twitter, Instagram, Xiaohongshu | | audience-analysis | 3 | Opinion clustering, insight extraction, content analysis | | planning | 6 | Tasks, execution, progress tracking, server-side agent execution | | analysis | 5 | Run full analyses, generate specs from results | | crowd-intelligence | 1 | Async crowd research with job polling |

Plus 9 workflow packs that deliver expert methodology via SKILL.md when activated:

  • knowledge-base, competitive-analysis, content-strategy, content-creator, data-storytelling, heuristic-evaluation, market-research-reports, user-stories, ux-researcher

Full tool reference: docs/TOOLS.md

Knowledge Base

Every agent interaction compounds knowledge. The unified pages table stores all knowledge with path-based identity — like a filesystem in the cloud.

 save()          Supabase `pages`       ~/.crowdlisten/kb/
───────→  UNIQUE(user_id, path)  sync→  ├── notes/auth-approach.md
                                        ├── projects/cl/topics/...
 wiki_search()   ↑                      └── documents/thesis/ch1.md
←────────────────┘
 recall()        semantic search         watch / sync
 wiki_list()     browse by path          auto-sync local folders

How data flows:

  1. Savesave({ title, content, tags }) writes to the pages table. Pass publish: { team_id } to share with teammates.
  2. Recallrecall({ query }) performs semantic search (pgvector cosine similarity) with keyword fallback. Filter by path prefix or tags.
  3. Browsewiki_list() browses pages. wiki_read(path) reads a single page.
  4. Searchwiki_search({ query }) performs full-text search across all pages.
  5. Ingestwiki_ingest({ url_or_text }) ingests external content into the knowledge base.
  6. Logwiki_log({ message }) appends timestamped log entries for decisions and progress.
  7. Syncnpx @crowdlisten/harness sync ~/folder syncs a local folder to pages. watch mode auto-syncs on file changes.

Path conventions: notes/ for standalone notes, projects/{slug}/ for project-scoped content, documents/ for ingested files, decisions/ for architectural decisions.

The compounding effect: After every analysis or research task, the agent saves key takeaways. The wiki and recall tools let agents browse, search, and organize knowledge semantically. The next agent starts with a rich knowledge base instead of a blank slate.

Supabase pages table is the source of truth. Local .md folders can be synced bidirectionally via the watch and sync CLI commands.

Platforms

| Platform | Setup | Notes | |---|---|---| | Reddit | None | Works immediately | | TikTok, Instagram, Xiaohongshu | npx playwright install chromium | Browser-based extraction | | Twitter/X | TWITTER_USERNAME + TWITTER_PASSWORD in .env | Credential-based | | YouTube | YOUTUBE_API_KEY in .env | API key required | | Vision mode (any URL) | Any one of: ANTHROPIC_API_KEY, GEMINI_API_KEY, or OPENAI_API_KEY | Screenshots + LLM extraction |

Supported Agents

Auto-configured on login: Claude Code, Cursor, Gemini CLI, Codex, Amp, OpenClaw

Also works with (manual config): Copilot, Droid, Qwen Code, OpenCode

CLI

npx @crowdlisten/harness login          # Sign in + auto-configure agents
npx @crowdlisten/harness setup          # Re-run auto-configure
npx @crowdlisten/harness serve          # Start HTTP server on :3848
npx @crowdlisten/harness sync ~/kb      # One-shot sync local folder to pages
npx @crowdlisten/harness watch ~/kb     # Auto-sync on file changes (Dropbox-style)

npx crowdlisten search reddit "AI agents" --limit 20
npx crowdlisten vision https://news.ycombinator.com --limit 10
npx crowdlisten trending reddit --limit 10

Watch Mode

watch monitors a local folder and syncs changes to the pages table in real time:

npx @crowdlisten/harness watch ~/Desktop/knowledge
# Watching ~/Desktop/knowledge... (12 files synced)
# [14:32] Updated: notes/auth-approach.md
# [14:35] Updated: decisions/db-choice.md

Files are synced using content hashing (MD5) — unchanged files are skipped. The sync command does a one-shot sync without watching.

Privacy

  • PII redacted locally before LLM calls
  • Memories stored with row-level security — users can only access their own data
  • Local fallback when cloud is unavailable
  • Your own API keys for LLM extraction
  • No data syncs without explicit action
  • MIT open-source and inspectable

Development

git clone https://github.com/Crowdlisten/crowdlisten_harness.git
cd crowdlisten_harness
npm install && npm run build
npm test    # 210+ tests via Vitest

For agent-readable capability descriptions and example workflows, see AGENTS.md.

Contributing

Highest-value contributions: new platform adapters (Threads, Bluesky, Hacker News, Product Hunt, Mastodon) and extraction fixes.

License

MIT — crowdlisten.com