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.
| Approach | Trigger | Best For |
|---|---|---|
| Chat | Manual prompt | One-off questions, exploration |
| Daily cron | 9 PM every night | Process captures, generate summaries |
| Hourly cron | Every hour | Fix broken links, update indexes |
| Event-driven | File change | Process 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:
| Phase | Agent | Role | Output |
|---|---|---|---|
| KTG | Generator | Convert triggers into tasks | Structured task queue |
| KTP | Processor | Route and execute tasks | Modified notes, new connections |
| KTE | Evaluator | Validate outputs | Completion 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
| Tool | Strength | Setup Complexity |
|---|---|---|
| AI4PKM | Complete system, multi-agent | Medium (Obsidian required) |
| Claude Code + cron | Flexible, works anywhere | Low |
| Obsidian Smart Connections | AI search and discovery | Low (plugin install) |
| Custom scripts | Full control | High |
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
Get updates
New guides, workflows, and AI patterns. No spam.
Thank you! You're on the list.