Skip to content

Guide · Agent skill

How to use the Harvest Content into Cortex agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

Harvest is an agent skill from the LifeOS project that takes one article, YouTube video or pasted text and files it into Cortex, the knowledge store, as a structured note with its source URL and links to related notes. It can also mine the same content for analysis and ideas for improving your LifeOS setup. This guide explains what the skill does, how to install it, how to trigger it with plain requests, what it needs to run, and what it sends over the network.

Harvest Content into Cortexdanielmiessler/LifeOS · MIT

Quick start

  1. 1Download and unzip. Download the Harvest ZIP from this page and unzip it into ~/.claude/skills/ or a project's .claude/skills/ folder.
  2. 2Install Bun and build the service. Install the Bun runtime and follow Setup.md to build and deploy the harvest classifier worker.
  3. 3Set the worker address. Set HARVEST_API_BASE or add harvest_api_base to Config.md in the Harvest customization folder.
  4. 4Add the token. Put your bearer token in the auth_token field of ~/.config/workflows/config.yaml.
  5. 5Make a first capture. Ask your agent to save a specific article or video to knowledge, using a trigger phrase and the link.
  6. 6Check the summary. Confirm the printed summary shows a classification, a path and an executed status, then open the note.

What the Harvest skill makes your agent do

Harvest works in two halves. In Mine mode, the agent reads one piece of content and analyzes what it is, where it is strong and where it is weak, and then lists what LifeOS should adopt from it. Those adoption suggestions are recommendations only and are never applied automatically.

In Ingest mode, the agent saves the source into Cortex. A command-line tool detects the source type, fetches the text or transcript, sends it to a cloud classifier that decides where it belongs, and writes a note with the source URL, typed cross-links and an audit trail.

  • Articles, blog posts, newsletters and other web pages are handled by the URL intent.
  • YouTube links are turned into a transcript and then ingested.
  • Raw pasted text with no URL is handled by the text intent.
  • Notes are written only through the canonical pipeline, never directly by the agent.

Install the Harvest skill

Download the Harvest ZIP from this directory page. Then choose one of two install locations. For a personal install, unzip it into ~/.claude/skills/. For a single project, unzip it into the project's .claude/skills/ folder.

If you use the Claude apps instead, upload the skill under Settings, then Capabilities, then Skills.

  • Personal install: ~/.claude/skills/Harvest
  • Project install: .claude/skills/Harvest inside your project folder
  • Claude apps: Settings → Capabilities → Skills

Set up the harvest service, address and token

The skill cannot run on its own. It needs a deployed harvest classifier worker, which the source describes as Cloudflare-style. Build that service by following the Setup.md file in the skill, then give the skill its address. You can set the HARVEST_API_BASE environment variable, or put harvest_api_base in the Config.md file in the skill's user customization folder under LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Harvest/. The environment variable takes priority. If neither is set, the tool stops and names the file and key it needs.

The bearer token is the auth_token field in ~/.config/workflows/config.yaml. This is the same token the local HarvestExecutor uses.

  • Config root is $CLAUDE_CONFIG_DIR if set, otherwise ~/.claude.
  • Optional PREFERENCES.md in the same folder adds report preferences for Mine.
~/.config/workflows/config.yaml (auth_token field)

Trigger the skill with natural requests

You do not need a special command. Include one of the trigger phrases in your request and paste the link or text. Ask for Mine when you want analysis and ideas for LifeOS. Ask for ingestion when you only want the item filed. The bare word harvest runs Mine and then ingests the result.

If you give a YouTube link to any ingest request, the tool detects the host and routes it to the YouTube path on its own.

  • harvest this
  • mine this for the system
  • anything useful in this for us
  • what can LifeOS take from this
  • should we adopt anything from this
  • save this to knowledge
  • ingest to knowledge
  • save this video to knowledge
  • archive this signal
bun ~/.claude/skills/Harvest/Tools/harvest.ts <input> [--type auto|article|youtube|x|text|pdf|image|audio] [--url <url>] [--dry-run] [--body-out <file>]

Read the result and handle duplicates

After a successful run, the tool prints a summary block. It includes the source ID, the Workflows row ID, the classification, the confidence score, the routed actions, the file paths written to the knowledge folder, and the executor status. The skill reports this as one readable block with the file path.

If you harvest the same URL again, Workflows reports a duplicate and the existing note is not rewritten. To find it, use the source and external ID from the summary with the items endpoint, as shown in the code block.

  • Articles, X posts, files and pasted text use source=manual.
  • YouTube captures use source=web, with the video ID as the external ID.
curl -H "Authorization: Bearer $TOKEN" "$HARVEST_API/items?source=<source>&external_id=<id>"

Safety notes: scripts and the network

Harvest runs scripts and uses the network. The Bun tool fetches the page or transcript and posts the signal body to the cloud classifier worker. Do not send sensitive or private text unless you are comfortable with a third-party cloud worker receiving it.

For YouTube, the transcript comes from a Gemini watch pass on the public URL, not from captions or the page HTML. The note names the model that watched the video. Gemini can refuse some livestream URLs, and the capture then fails with that reason. Pasted text over about 50KB should be shortened first, and transcripts under 500 bytes are refused.

  • Signal bodies are POSTed over the network.
  • Mine output is advice only; check it before acting on it.
  • Format tools for PDFs, images or audio are needed as described in Setup.md.

What people use it for

  • Saving articles and newsletters into Cortex with their source URLs so you can find them later.
  • Turning a YouTube talk into a transcript-based note that is routed and cross-linked automatically.
  • Asking Mine for an analysis of a useful post, including its weak points and ideas for your LifeOS setup.
  • Capturing a pasted quote or voice-note transcript that has no URL into Cortex.

Frequently asked questions

Is the Harvest skill free to use?

The skill is released under the MIT licence, as stated on this page. The source does not give prices for the cloud worker or other services, so check those separately before deploying.

What do I need to run the Harvest skill?

You need the Bun runtime, a LifeOS install with the HarvestExecutor and Workflows config at ~/.config/workflows/config.yaml, a deployed harvest classifier worker with its URL, a bearer token, and format tools for PDFs, images or audio if you use them. Without these the skill cannot run.

How do I install the Harvest skill in Claude?

Download the ZIP from this page and unzip it into ~/.claude/skills/ for a personal install or a project's .claude/skills/ folder for a project install. In the Claude apps, you can upload it under Settings, then Capabilities, then Skills.

Why does Harvest say my link is a duplicate?

Workflows enforces one record per source and external ID, so the same URL returns a duplicate status and the existing note is not rewritten. Use the items lookup with the source and external ID from the summary to find the original file.

Does Harvest send my content to the cloud?

Yes. The signal body is POSTed over the network to the classifier worker, so avoid sending private or sensitive text. For YouTube, the transcript comes from a Gemini watch pass on the public URL.

What should I use instead of Harvest?

The source says this skill is not for simple one-off summaries that do not need filing, and it is not for Cortex note operations, Upgrade or lu scans, Cortex recall, or X PullBookmarks sweeps. For a quick summary, ask your agent directly without saving to Cortex.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Harvest suits people already running the LifeOS knowledge system who want consistent, source-linked notes and routed, cross-linked captures. It is a poor fit if you lack a LifeOS install and a deployed worker, need to keep text private, or only want a quick summary without filing it.

Download the skill