Skip to main content

michael jackson bad

Project description

BAD — michael jackson bad

Bad Research

michael jackson bad

PyPI version Python versions License: MIT

A keyless deep-research agent that runs as a Claude Code skill — a fork-and-enhance of hyperresearch. It searches wide, filters garbage, grounds every claim to a source, and needs zero API keys: the Claude Code host model supplies all inference, exactly like hyperresearch. Optional local CLIs and a [local] neural extra are enhancements, never requirements.

Install

Bad Research is a small CLI that registers itself as a Claude Code skill. No API keys. Requires Python 3.11–3.13.

# Install the CLI (pipx or uv — either works)
pipx install bad-research
uv tool install bad-research

# Register the /bad-research skill into ~/.claude
bad install

# Verify
bad doctor

bad install writes the entry skill to ~/.claude/skills/bad-research/; the per-step skills install lazily on first use. For a project-local install instead of global, run bad install --project inside the project. bad doctor shows what's wired (host model, keyless search/browse, the optional external CLIs it can drive, the [local] neural stack).

Use it in Claude Code

After bad install, open Claude Code in any project and either:

  • Invoke it directly — type the slash command with your question:
    /bad-research Is open-source AI more dangerous than closed-source for national security?
    
  • Let Claude trigger it — just ask a research-shaped question ("write me a cited report comparing vector databases", "literature review on GLP-1 drugs") and Claude loads the skill automatically.

It scales to the question: a simple lookup gets a fast cited answer in minutes; a broad or contested one runs the full adversarially-reviewed pipeline (~1.5–2.5 h). The final report and every fetched source land in a vault under ./research/ that compounds across sessions.

Pick the depth (it auto-scales, or force it)

By default the skill auto-routes — a simple, bounded question takes the fast route (a quick cited answer, minutes); a broad or contested one takes the full adversarially-reviewed pipeline (~1.5–2.5 h). You can steer it:

  • Want a thorough report without the multi-hour wait? Say "ultrafast mode" in your request (or run bad route --apply --ultrafast). The ultrafast tier is the keyless take on the commercial "Deep Research" button — plan → wide parallel multi-source browse → a long, sectioned, fully-cited report in 5–15 minutes. If you're just trying Bad Research out, this is the sweet spot.
  • Dial the effort with --effort minimal|low|medium|high to nudge the route and per-step fan-out (minimal/low bias toward fast; medium/high toward full).

On an interactive run the skill announces the chosen route and its rough ETA before it commits to a long job (and for full it shows the editable plan first), so you're never surprised by a 2-hour job you didn't want. The route is decided from the step-1 decomposition and shown by that up-front in-skill route announcement — so you see which route a query takes before any long work starts.

Want the latest unreleased build? Install from source: pipx install git+https://github.com/LeventySeven/badresearch.git

Updating

Already installed? Upgrade the CLI and re-register the skill so both are current:

# From PyPI (pipx or uv — whichever you installed with)
pipx upgrade bad-research      # or: uv tool upgrade bad-research
bad install                    # refresh the /bad-research skill + agents in ~/.claude

# ...or track the latest source
pipx install --force git+https://github.com/LeventySeven/badresearch.git
bad install

bad install is idempotent — re-run it any time after upgrading the CLI to pull the newest entry skill + agents (the per-step skills refresh lazily on the next /bad-research run). Confirm with bad --version.

What it does

A tier-adaptive pipeline turns a question into an audited, fully-cited report, and every fetched source lands in a persistent, searchable vault that compounds across sessions. Keyless by design:

  • Search — the host WebSearch tool + DuckDuckGo + 7 scholarly APIs, fused and reranked by the host model.
  • Content — a native fetch-and-clean pipeline (readability → markdown → optional LLM clean), SSRF-guarded.
  • Browse — an agentic observe → act → extract loop driven by a local, keyless headless browser.
  • Retrieve — SQLite FTS5/BM25 by default (no model required), with an optional local neural lane.
  • Ground — every factual sentence must carry a source citation, and a deterministic ship-gate blocks any uncited claim. Fabricated quotes are caught for free by a byte-identity check; the harder paraphrase-faithfulness cases are judged by the host model (an optional [local] cross-encoder upgrades this to NLI).

How it works & where the patterns came from

Bad Research takes hyperresearch as its base and enhances each stage with patterns drawn from the best deep-research systems — Perplexity, Gemini, Firecrawl, Stagehand, AgentQL, and others — reimplemented to run keyless on the host model. The full write-up, stage by stage with provenance, is in docs/HOW_IT_WORKS.md.

MIT licensed.

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

bad_research-0.2.0.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

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

bad_research-0.2.0-py3-none-any.whl (546.1 kB view details)

Uploaded Python 3

File details

Details for the file bad_research-0.2.0.tar.gz.

File metadata

  • Download URL: bad_research-0.2.0.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for bad_research-0.2.0.tar.gz
Algorithm Hash digest
SHA256 89dee4ae5ad89fb7c480b8748b5a88fa888c0eb29bd96807e8ba1dc04d6d9403
MD5 6f998f2577349222d116af6875cbde15
BLAKE2b-256 82b3fd3dc50ddf670c9549b11c9118389b11a22ebaa7f3bdcb235ca9cb2f229b

See more details on using hashes here.

File details

Details for the file bad_research-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: bad_research-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 546.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for bad_research-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a1ce56f7c6bae068e17d0508d12945b8f14e2912b592d83c7c60c74728c08f30
MD5 4cd6697578a42d637f44f47ce49926e5
BLAKE2b-256 3457bba31b262fe33d374a2a67b2eff58a6a159bd3791bce379461be3f949ed6

See more details on using hashes here.

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