explaingit

learnprompt/carl-weread

15PythonAudience · writerComplexity · 3/5ActiveSetup · moderate

TLDR

Hermes-format AI agent skill that plugs into Tencent WeRead, picks one book and one short section to read for a stated problem, then writes an action card.

Mindmap

mindmap
  root((carl-weread))
    Inputs
      WeRead API key
      Bookshelf and notebooks
      A stated problem
    Outputs
      Daily reading card
      Weekly review
      Action notes
    Use Cases
      Pick the next read
      Convert highlights to actions
      Track real impact
    Tech Stack
      Python
      Hermes skill
      Obsidian
      Markdown

Things people build with this

USE CASE 1

Get one WeRead book section recommended each day to address a stated current problem.

USE CASE 2

Convert WeRead highlights into action cards inside an Obsidian vault for weekly review.

USE CASE 3

Install carl-weread as a lightweight Hermes skill so an AI agent understands the method without cloning the repo.

USE CASE 4

Run the today, after-read, and weekly subcommands from a unified CLI against the WeRead API.

Tech stack

PythonHermesObsidianMarkdown

Getting it running

Difficulty · moderate Time to first run · 30min

Needs a private WeRead API key in a mode 600 file and one of four context modes picked at setup time, so a casual install does not get you the full agent.

In plain English

carl-weread is a tool that plugs into WeChat Reading (the Tencent reading app called WeRead) and uses AI agents to change how you decide what to read. The official WeRead app already tells you how many minutes you have read, which books are on your shelf, and what your notes say. carl-weread tries to push one step further: given a problem you are stuck on right now, it picks one book on your shelf and one short section of that book to read today, then turns the reading into an action card. The core method has three pieces according to the README. First, it asks what kind of problem you are dealing with, for example whether you lack information or lack a frame to close a question, and chooses a reading goal that fits. Second, it cross-references several WeRead data sources together, including your bookshelf, your notebooks, chapter tables, reading progress, your own highlights, popular highlights, and the recommendation and similar-book endpoints. Third, instead of producing a weekly stats page, it asks which highlights actually turned into an article or a project decision and which books were only saved to ease anxiety. The project ships as a skill for AI agents using the Hermes skill format. A light install pulls in only the SKILL.md description so an agent can understand the method. A full install clones the repository, sets up a Python virtual environment, runs the tests, and lets you call scripts such as today_live.py, digest_apply.py, weekly_loop.py, and a unified carl_weread.py CLI with subcommands like recommend, today, after-read, and weekly. The WeRead API key is stored in a private file with mode 600 and is not committed to the repo. It supports four context modes: Obsidian vault, plain Markdown folder, chat only, and WeRead only. Output reading cards can be written back into your notes folder for later weekly review.

Copy-paste prompts

Prompt 1
Install LearnPrompt/carl-weread in full mode on macOS. Show the venv setup, the WeRead API key file with mode 600, and the first today_live.py run.
Prompt 2
Configure carl-weread to write action cards into an Obsidian vault. Show the context-mode flag and the folder layout it expects.
Prompt 3
Run the recommend subcommand of carl_weread.py against my WeRead bookshelf for the problem 'I cannot decide our pricing model'. Explain the picked book.
Prompt 4
Walk through the Hermes SKILL.md from carl-weread and explain how an AI agent uses it without the full Python install.
Prompt 5
Schedule weekly_loop.py from carl-weread to run every Sunday night and append a digest to my notes folder. Show the cron line and the env it needs.
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.