For LLMs & agents
Do great research-support work with an LLM — without letting it decide.
Point your AI assistant (Claude, or any agent) at Vahtian's open tools and it can
search the literature reproducibly, screen it blinded, reconcile reviewers,
retrieve full text, and verify a claim before it is cited — every step provenance-stamped and
auditable. The human stays the decider; the AI is a fully-identified, advisory second rater.
The pipeline an agent can run
Each stage is its own small, open tool. The agent orchestrates; the researcher
gates the irreducible human acts (judgement, sign-off).
Capture — tap the sentences worth citing in an abstract → reviewable Zotero RIS.
MatchVahti-Lite · live
Search — open multi-source query (PubMed/MEDLINE, Europe PMC, Semantic Scholar, OpenAlex) + citation chasing → one frozen, deduped corpus.
vahtian_search.py · open tool
Screen, blinded — rate each paper against each claim; the AI is sealed until you commit.
MatchVahti · the screening engine
Reconcile — load each reviewer's ballot → per-claim Cohen's κ, PABAK, AC1, Krippendorff's α.
ReviewVahti · live
Retrieve — fetch the open-access full text for flagged papers.
FullVahti · Zotero plugin / script
Extract + appraise — pull 2×2 / sensitivity / directional reclassification and score risk of bias (QUADAS-2/-C, PROBAST-AI) from the full texts; dual-human, reconciled → tidy CSV for meta-analysis in R.
ExtractVahti · roadmap
Verify — check each claim against its source before citing; decision-gated, undoable Zotero write-back; hash-chained audit.
CiteVahti · live
The open tool you can run right now
vahtian_search.py turns one question into one reproducible, deduped,
provenance-stamped corpus — open APIs only, so anyone can re-run it. Standard library, no install.
python3 tools/vahtian_search.py outdir/
# → outdir/frozen-corpus.jsonl (deduped, per-source provenance, search-date + content hash)
# → outdir/search-report.md (per-source: retrieved · relevant · net-new)
Login-gated databases (Embase, Web of Science, Scopus) are excluded by design:
a search behind a subscription can't be re-run by your readers. Open APIs + citation chasing
keep the whole search reproducible.
Invariants an agent must honour
These are what make the output trustworthy. A tool — or an agent — that breaks them
isn't doing Vahtian's job.
The human decides.The AI is consulted only after the human commits a rating — never anchoring, never setting the recorded value.
No silent writes.References enter a library only as an audited, undoable preview → confirm step. Dedupe fails closed.
AI is a fully-identified, separate tier.Every AI rating is labelled with model id + version + prompt version. It never counts as an independent human assessor or fills a consensus floor. Transparency, not anonymity.
Open, reproducible search.Open APIs + citation chasing only. The search date is recorded; currency is bounded by it.
Honest about scope.An abstract sentence is a lead, not evidence. The system documents the workflow — it does not assert scientific truth.
Why a skill, not a chatbot on the page
Vahtian pages never reach out and never embed an AI. The intelligence lives in
your agent. The Vahtian
research-support skill teaches that agent the pipeline above and the invariants here, so it
does the heavy lifting while you keep the decisions — and so the work is reproducible by anyone
who runs the same open tools.