Skip to main content

Evidence-first social-media research CLI + Claude Code skill

Project description

social-research-probe

Evidence-first social-media research CLI + Claude Code skill

CI PyPI version Python versions License: MIT

srp fetches YouTube content, scores it by trust/trend/opportunity, auto-corroborates claims, runs 15+ statistical models, and renders an HTML report — all from a single CLI command.


Table of contents

  1. What it does
  2. Quickstart
  3. Installation
  4. Usage
  5. Configuration
  6. Documentation
  7. Architecture
  8. Contributing
  9. Security
  10. License
  11. Changelog

What it does

srp research runs a five-stage evidence pipeline:

  1. Fetch — queries YouTube for recent content on a topic (configurable count and recency window).
  2. Score — ranks items by a composite trust / trend / opportunity score derived from channel credibility, view velocity, and cross-channel repetition.
  3. Enrich — fetches transcripts (yt-dlp captions → Whisper fallback) and generates 100-word LLM summaries for the top results.
  4. Analyse — runs 15+ statistical models (regression, Bayesian linear, bootstrap, k-means, PCA, Kaplan–Meier, …) and renders charts as PNGs.
  5. Synthesise — auto-corroborates the top results via Exa/Brave/Tavily, attaches structured LLM synthesis sections, and emits a Markdown + HTML report.

It also ships as a Claude Code skill (/srp) so you can invoke research, manage topics/purposes, and receive formatted reports directly inside a Claude Code session.


Quickstart

pip install social-research-probe
srp config set-secret YOUTUBE_API_KEY
srp research "AI safety" "latest-news"

Or in natural-language mode (requires llm.runner configured):

srp research "what are researchers saying about model collapse?"

Installation

# pip
pip install social-research-probe

# pipx (isolated environment, recommended for CLI tools)
pipx install social-research-probe

# uvx (run without installing)
uvx social-research-probe research "AI safety" "latest-news"

# From source (development)
git clone https://github.com/reshinto/social-research-probe
cd social-research-probe
pip install -e '.[dev]'

After installing, set your YouTube API key:

srp config set-secret YOUTUBE_API_KEY

See docs/installation.md for full setup including optional keys and the Claude Code skill bundle.


Usage

# Research a topic with a specific purpose
srp research "AI agents" "latest-news"
srp research youtube "AI agents" "latest-news,trends"

# Natural-language query (auto-classifies topic + purpose)
srp research "who is winning the LLM benchmarks race?"

# Change how many videos are fetched (default: 20)
srp config set platforms.youtube.max_items 50

# Manage topics and purposes
srp update-topics --add "climate tech"
srp update-purposes --add "emerging-research"="Track peer-reviewed preprints"

# Config
srp config show
srp config set llm.runner claude
srp config set-secret YOUTUBE_API_KEY

# Install as a Claude Code skill
srp install-skill

Full flag reference: srp --help / srp <subcommand> --help.

See docs/usage.md for a complete guide including corroboration modes, report generation, and the pending-proposal workflow.


Configuration

Key settings in ~/.social-research-probe/config.toml:

Setting Default What it controls
platforms.youtube.max_items 20 How many videos to fetch per search
platforms.youtube.recency_days 90 How far back to search (days)
llm.runner none Which LLM to use for summaries and synthesis
corroboration.backend host Which web-search backend to corroborate with

Change any setting with srp config set <key> <value>, e.g.:

srp config set platforms.youtube.max_items 50
srp config set platforms.youtube.recency_days 30
srp config set llm.runner claude

Documentation

Document What it covers
docs/README.md Documentation hub — all docs by audience
docs/how-it-works.md How fetching, scoring, and transcripts work; vs pure-LLM approach
docs/installation.md Install (pip/pipx/uvx), API keys, LLM runner, verification
docs/usage.md Run research, read output, configure video count
docs/corroboration.md Claim corroboration: what it is, backends, configuration
docs/llm-runners.md Supported runners, ensemble, what breaks without one
docs/statistics.md All 15+ statistical models: what they measure, how to interpret
docs/charts.md Every chart: what it shows, where it's saved, file persistence
docs/commands.md Every flag, config key, exit code, environment variable
docs/architecture.md System design, data flow, tradeoffs, known limitations
docs/adding-a-platform.md How to add a new platform adapter (TikTok, Reddit, RSS)
docs/design-patterns.md Patterns with why/why-not rationale
docs/testing.md Test tiers, TDD workflow, 100% coverage gate
docs/security.md Secret storage, network egress, hardening
CONTRIBUTING.md Development workflow, TDD rules, file-size limits
SECURITY.md Responsible disclosure policy
CHANGELOG.md Release history

Architecture

srp is a layered Python CLI. The CLI parses arguments and delegates to the research pipeline, which calls platform adapters, a scoring layer, a stats suite, an LLM ensemble, and corroboration backends, then feeds the result to the synthesis layer.

See docs/architecture.md for the full system design including data flow diagrams, async model, design tradeoffs, and extension points.


Contributing

See CONTRIBUTING.md.


Security

See SECURITY.md.


License

MIT © 2026 Terence — see LICENSE.


Changelog

See CHANGELOG.md.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

social_research_probe-0.0.1.tar.gz (667.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

social_research_probe-0.0.1-py3-none-any.whl (196.0 kB view details)

Uploaded Python 3

File details

Details for the file social_research_probe-0.0.1.tar.gz.

File metadata

  • Download URL: social_research_probe-0.0.1.tar.gz
  • Upload date:
  • Size: 667.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for social_research_probe-0.0.1.tar.gz
Algorithm Hash digest
SHA256 1e45ec3d05c43112e44e0391eab66af3eb5d0a842870ebbe7ab773e31686b106
MD5 6e9f5d30932dbf44f711889d6861b038
BLAKE2b-256 5fe5de5e19b944d30b6f42f48078665f91e1d1a3c80f04adb90ce0a8377c7da3

See more details on using hashes here.

Provenance

The following attestation bundles were made for social_research_probe-0.0.1.tar.gz:

Publisher: release.yml on reshinto/social-research-probe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file social_research_probe-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for social_research_probe-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 13934ec12babd1a7d3a04b8ffb104a378e01b1068edfa116faa0cf305fda879c
MD5 f99e17ec108a0596ea8652e04b959930
BLAKE2b-256 b01a90e2b7945b0091158acd8eeb2d47a94e0a13d5f8446a3e090d35ebd1db3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for social_research_probe-0.0.1-py3-none-any.whl:

Publisher: release.yml on reshinto/social-research-probe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page