Skip to content

Repository files navigation

PhilLit

PhilLit

License: Apache 2.0 Python 3.10+ Built with Claude Code

Read the blog post  ·  Sign up for our research study

PhilLit generates analytical literature reviews with verified bibliographies for philosophy research. Give it a topic description, and it searches academic databases, collects and checks references, and writes a structured review — typically in about 45 minutes.

PhilLit is free and open-source. You only pay Anthropic for using Claude. This is a research project evaluating AI-generated literature reviews for philosophy (see below).

Example Reviews

Highlights

  • Searches multiple academic databases — Semantic Scholar, PhilPapers, SEP, IEP, OpenAlex, CORE, arXiv, and NDPR
  • Checks every reference — All citations are sourced from academic databases (not generated by the LLM) and validated against CrossRef
  • Produces a structured review in Markdown (and Word, if pandoc is installed) plus three companion files — a track-record bibliography of every verdict the agents reached, an annotated bibliography to import into Zotero, BibDesk or any reference manager, and the researchers' per-domain notes

What does it cost?

PhilLit itself is free. Running it requires Claude Code, which needs a subscription or API access. Each literature review uses roughly $9 to $13 in API credits, depending on whether you use Sonnet or Opus.

Quick Start

What you need:

1. Install the plugin in Claude Code:

/plugin marketplace add AI-4-Phi/plugins
/plugin install phillit@ai4phi

2. Set up a working directory — create or open the folder where your reviews will live, then run once:

/phillit:setup

This creates a .phillit/ marker and a .env for any API keys not already set in your environment (keys found there are used as-is and never copied into a file), and merges PhilLit's permission rules into that directory's .claude/settings.json (see Trust model). Then add the missing keys to .env. If Claude Code asks whether you trust this folder, accept — the merged permission rules only take effect in trusted folders.

3. Request a review — describe your topic and PhilLit does the rest (~45 minutes):

I need a literature review on [topic].

[Describe the topic in 1-5 paragraphs]

Updating: plugins from third-party marketplaces do not auto-update by default. To get the newest version:

/plugin marketplace update ai4phi
/plugin update phillit@ai4phi

Or enable auto-update for the ai4phi marketplace in the /plugin → Marketplaces tab to pick up new versions at startup.

Installed before the ai4phi marketplace existed? If you added this repo directly (/plugin marketplace add AI-4-Phi/PhilLit, installing phillit@phillit), the legacy in-repo marketplace has been removed: your installed copy keeps working, but it no longer receives updates. To migrate: /plugin uninstall phillit@phillit, /plugin marketplace remove phillit, then install as above.

What does it look like?

PhilLit in action: generating a literature review

PhilLit running a literature review. The system decomposes the topic into research domains and searches multiple academic databases in parallel.

How It Works

  1. Plan — Breaks your topic into searchable research domains
  2. Research — Searches academic databases for each domain, collects and verifies references
  3. Outline — Designs the structure of the review based on the collected literature
  4. Write — Drafts each section of the review
  5. Assemble — Combines sections into a final document with a complete bibliography

Trust model

PhilLit runs as a Claude Code plugin, so its skills, agents, and hooks execute with the same shell privileges as Claude Code itself.

  • /phillit:setup writes only to the current directory. It creates .phillit/ and (when API keys are missing from your environment) .env, and merges permission rules into ./.claude/settings.json (backing up any existing file first). It never touches anything outside that folder, and never copies API-key values from your environment into files.
  • The merged rules grant broad Bash (plus file edits scoped to reviews/ via Edit(reviews/**) and to the local work folder via Edit(~/.local/state/phillit/reviews/**), which cover all file-editing tools, and deny/ask rules for dangerous commands) in that directory and in the local work folder only, so reviews run without a prompt on every command. Broad Bash is required because the research agents build many short shell commands that no finite allowlist can enumerate.
  • PhilLit works on a review in ~/.local/state/phillit/reviews/ — outside your folder, so a synced folder (OneDrive, iCloud) is not flooded with hours of rewrites — and copies it into ./reviews/ once, when it is finished or abandoned. It pushes nothing anywhere. Set PHILLIT_WORKDIR=inplace (environment or .env) to work in ./reviews/ directly. If several machines share a synced workspace, upgrade PhilLit on all of them. Searches hit public academic APIs using the keys in your .env or environment.

Prefer not to auto-merge settings? Add this to your own .claude/settings.json instead. You still need the workspace marker that activates PhilLit's hooks — it is just an empty folder, so run mkdir .phillit in your working directory — plus your API keys, either exported in your environment or in a .env (copy the plugin's .env.example; the plugin folder prints with echo $PHILLIT_ROOT in any Claude Code session):

{
  "permissions": {
    "defaultMode": "default",
    "deny": [
      "Bash(sudo *)", "Bash(dd *)", "Bash(mkfs *)",
      "Edit(**/enrichment_ledger-*.json)", "Edit(**/cleaning_ledger-*.json)",
      "Edit(~/.local/state/phillit/reviews/**/enrichment_ledger-*.json)",
      "Edit(~/.local/state/phillit/reviews/**/cleaning_ledger-*.json)"
    ],
    "allow": [
      "Read", "Grep", "Glob", "WebSearch", "WebFetch", "Bash",
      "Edit(reviews/**)",
      "Edit(~/.local/state/phillit/reviews/**)",
      "Skill(phillit:literature-review)", "Skill(phillit:philosophy-research)"
    ],
    "ask": ["Bash(rm *)", "Bash(rmdir *)"]
  }
}

Development

  • Instructions on contributing: CONTRIBUTING.md
  • Agent architecture: docs/ARCHITECTURE.md
  • Claude instructions: CLAUDE.md

Output Structure

Each finished review is published into its own directory under reviews/:

reviews/[topic]/
├── literature-review-[topic].md      # Complete review (markdown)
├── literature-review-[topic].docx    # Complete review (Word, requires pandoc)
├── literature-[topic].bib            # Track record: every agent verdict
├── literature-[topic]-annotated.bib  # Reference-manager import: notes + topical keywords
├── research-notes-[topic].md         # Per-domain research notes
└── intermediate_files/
    ├── json/                         # API response files (archived)
    ├── lit-review-plan.md            # Domain decomposition
    ├── literature-[topic]-merged.bib # Pre-split bib (notes and all), kept as a fallback
    ├── literature-domain-*.bib       # Per-domain BibTeX files
    ├── synthesis-outline.md          # Review structure
    ├── synthesis-section-*.md        # Individual sections
    └── task-progress.md              # Progress tracker

Participate in Research

We're conducting validation studies (pending IRB approval) to rigorously assess whether PhilLit meets the standards required for serious philosophical research.

  • Study 1: Use PhilLit on topics you already know well. We provide technical support and cover API costs.
  • Study 2: Review literature overviews generated by others (no technical setup required).

Interested in participating? Sign up here and we'll notify you when the studies launch.

Contact


Inspired by LiRA multi-agent patterns.

About

Multi-agent workflow for accurate and comprehensive literature reviews in philosophy

Topics

Resources

Contributing

Stars

43 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages