A personal chief-of-staff agent: polls Slack, Gmail, JIRA, Confluence, Calendar, and Obsidian; deduplicates overlapping signals into a prioritized task list; and runs an absence sweep — a second pass that looks for what should be in your data but isn't (stale tickets, unanswered threads, missing follow-ups).
Reference implementation, extracted from a private monorepo where development continues.
Sources plug into a shared ingest loop. The agent doesn't just read third-party tools — it can pull from your own apps too. TaskFlow is one example: agent/sources/taskflow_sync.py pulls inbox and today tasks from TaskFlow's REST API into the same synthesis pipeline as Slack and JIRA, then merges into the Obsidian task list.
LLM backends are swappable (Anthropic, OpenAI, Ollama). Prompts and domain rules live in markdown templates. Output goes to an Obsidian vault you own; operational state lives in local SQLite.
All code and documentation live in agent/:
- Quick start
- How it works — memory tiers, heartbeat, Raycast, meeting briefs, design tradeoffs
- Setup guide
MIT — see LICENSE.