From Chat to Cron: Building Automated PKM Pipelines

Table of content

Manual knowledge management doesn’t scale. Every day you capture notes, links, voice memos, screenshots. Every day they pile up unprocessed. The problem isn’t capture, it’s what happens after.

Chat-based AI helps in the moment but requires you to remember to ask. Automated workflows flip this: AI processes your knowledge base on a schedule, without prompting.

Why Scheduled Beats Chat-Based

Chat interfaces work for ad-hoc questions. They fail for maintenance tasks that need to run whether you remember or not.

ApproachTriggerBest For
ChatManual promptOne-off questions, exploration
Daily cron9 PM every nightProcess captures, generate summaries
Hourly cronEvery hourFix broken links, update indexes
Event-drivenFile changeProcess new clips, tag content

The shift: AI as background process, not conversation partner.

Jinyoung Kim’s AI4PKM runs four scheduled workflows. Daily Ingestion processes photos, voice notes, and web clips into structured notes. Weekly Roundup synthesizes patterns from daily activity. Continuous Upkeep repairs links and enriches content hourly. On-demand processing handles real-time triggers like web clippings.

The KTG/KTP/KTE Pipeline

Breaking automation into phases prevents runaway agents. AI4PKM uses three:

PhaseAgentRoleOutput
KTGGeneratorConvert triggers into tasksStructured task queue
KTPProcessorRoute and execute tasksModified notes, new connections
KTEEvaluatorValidate outputsCompletion confirmation

This mirrors the three-layer workflow: spec, implement, verify.

Generator watches for triggers: new files in an inbox folder, notes tagged with #AI, voice commands from apps like Limitless.AI. It doesn’t act, it queues.

Processor routes each task to the appropriate agent. A web clip goes to the summarizer. A daily roundup request goes to the synthesis agent. Multi-agent routing prevents one-size-fits-all prompts.

Evaluator checks the work. Did the summary get written? Do the tags make sense? Without this, silent failures compound.

Setting Up a Daily Workflow

Start simple. A daily processing workflow that runs at 9 PM:

# cron.json for AI4PKM
{
  "daily_roundup": {
    "schedule": "0 21 * * *",
    "command": "ai4pkm run DIR"
  }
}

For vanilla Claude Code with a notes directory:

# daily-pkm.sh
#!/bin/bash

cd ~/notes

claude --print "Process today's captures in inbox/:
1. Extract key information from each file
2. Move processed files to appropriate topic folders
3. Update the daily log at journal/$(date +%Y-%m-%d).md
4. List any broken links found

Be brief. Track what you process."

Add to crontab:

crontab -e
# Add:
0 21 * * * ~/scripts/daily-pkm.sh >> ~/logs/pkm.log 2>&1

The --print flag outputs results without interactive prompts. Redirect to a log file for debugging.

AI Attribution Tracking

When multiple tools touch your notes, you lose track of what came from where. Three months later, you read something clever and can’t remember if you wrote it or GPT-4 did.

Mark AI-generated content explicitly:

## Summary
<!-- Generated by Claude 3.5 Sonnet, 2026-01-21 -->
This article argues that...

Or use frontmatter:

---
ai_generated: true
model: claude-3-5-sonnet
date: 2026-01-21
workflow: daily_roundup
---

Track at the workflow level too. When debugging why a note has wrong tags, you need to know which workflow processed it.

Incremental Processing

Running full scans wastes tokens and time. Track what’s already processed:

# Skip files processed since last run
claude "Process files in inbox/ modified after $(cat .last_run).
Update .last_run with current timestamp when done."

AI4PKM uses git commit history and file timestamps. Files processed in the last run get skipped. New files, modified files get queued.

This matters at scale. A vault with 5,000 notes can’t afford full reprocessing on every run.

Common Mistakes

Over-automation early. Start with one workflow. Daily processing. Get that working before adding weekly reviews, hourly maintenance, and real-time triggers.

No error handling. Cron jobs fail silently. Log outputs. Set up alerts for failures. Check logs weekly.

Mixing human and AI content. Without attribution, you’ll mistake AI summaries for your own thinking. Label everything.

Processing too frequently. Hourly processing of a daily inbox creates churn. Match frequency to content velocity.

Ignoring the vault structure. AI can’t find content without organization. Define clear folders: inbox for new content, topics for permanent notes, archive for processed material.

Tool Options

ToolStrengthSetup Complexity
AI4PKMComplete system, multi-agentMedium (Obsidian required)
Claude Code + cronFlexible, works anywhereLow
Obsidian Smart ConnectionsAI search and discoveryLow (plugin install)
Custom scriptsFull controlHigh

For existing Obsidian users, AI4PKM provides a proven architecture. For Claude Code users without Obsidian, cron scripts offer quick wins with less infrastructure.


Next: Jinyoung Kim’s AI4PKM

Topics: automation knowledge-management personal-os