Skip to content
View OferBlum's full-sized avatar

Block or report OferBlum

Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
oferblum/README.md

Ofer Blum

AI Agent Architect · Technical Manager · Problem Solver

I design and build AI agent systems that solve real operational problems — scheduling, investment analysis, knowledge management — using modular, cost-efficient architectures that non-technical users can actually operate.


What I Build

I specialize in a specific pattern: Claude Code + Obsidian + lazy-loading skill files.

The idea is simple — instead of one giant prompt that hallucinates and burns tokens, the agent is a router. It reads only what it needs for the current request, stays sharp, and stays cheap. Each "skill" is a focused Markdown file that can be swapped, extended, or replaced independently.

This pattern has worked across domains from military logistics to equity research to personal wardrobe management. Same architecture, different problem.


Projects

AI agent for military guard duty scheduling

Manages weekly shift assignments for a unit — respecting rest rules, rotation cycles, temporary exemptions, and historical fairness (cumulative shift counts). Handles conflicts by surfacing options to the commander rather than making unilateral decisions.

Claude Code Obsidian Skill-Router Pattern


Modular equity research and portfolio management agent

Three modes on demand: quick price check, swing trade setup (6-month horizon), or full institutional-grade deep-dive (12-section report). Risk-based position sizing follows Minervini rules. Lazy-loads the right skill only when needed — a quick check doesn't cost the same as a research report.

Claude Code Obsidian Fundamental Analysis Swing Trading Minervini


Personal knowledge base managed by an AI agent

Implements the Karpathy method for LLM-managed wikis: every piece of external content becomes a structured, cross-linked wiki page. A _cache.md gives the agent instant session context without scanning the whole vault. Six specialized skills handle ingestion, resolution, querying, cross-linking, linting, and status reporting.

Claude Code Obsidian Karpathy Method Knowledge Management


Auto-converts YouTube videos into structured wiki pages

Queue a URL → fetch transcript → agent compiles a wiki page with cross-links, updates the manifest and index, and logs the operation. Built on the same Karpathy-pattern vault, extended with a Python fetch layer.

Python Claude Code YouTube Transcript API Obsidian


Privacy-first journal summarization using a fully local model

Scans Obsidian daily notes, strips frontmatter, sends entries to a local Ollama model, and saves a structured summary back to the vault. No API calls. No data leaves the machine. Configurable via a single Markdown file — no code changes needed to change the tone or structure of summaries.

Python Ollama Obsidian Local AI Privacy


Wardrobe manager and outfit advisor

Reads a plain-Markdown wardrobe inventory and physical profile, then suggests outfit combinations and identifies wardrobe gaps. Output is formatted for direct paste back into Obsidian notes. Same lazy-loading skill architecture — the stylist skill is only loaded when a styling request is made.

Claude Code Obsidian Lazy-Loading Skills


Tech Stack

Area Tools
AI Runtimes Claude Code (Anthropic), Ollama
Agent Architecture CLAUDE.md router + lazy-loading skill files
Workspace Obsidian (Markdown-based vaults)
Languages Python, Markdown
Models Claude Sonnet / Opus, Gemma, Llama
Domains Scheduling · Equity Research · Knowledge Management · Personal Productivity

How I Think About AI Agents

Portable by Design. I build systems that work with any model and don't lock you into a single app or vendor — swap the runtime, keep the logic.

Extensibility without complexity. Adding a new skill is two steps: write a Markdown file, add one line to the router. No existing files need to change.

One Vault. Every Agent. Everything lives in your Obsidian vault: plain Markdown files, no proprietary format, no cloud dependency. The agent remembers context across sessions through a structured cache — not because the model does, but because the system is designed to.

Agents should surface options, not make irreversible decisions. Conflict resolution in the guard scheduler, flagging expired constraints in investment analysis — the agent presents choices, the human decides.

Privacy by default. Sensitive data stays local or stays out of version control. The journal summarizer never calls an external API. Personal data files are always in .gitignore.


Background

Technical Manager with experience in operational environments where scheduling, fairness, and reliability actually matter. I use AI agents to solve problems I've lived — not hypothetical ones.


Contact

LinkedIn · Email

Pinned Loading

  1. guard-scheduler-agent guard-scheduler-agent Public

    an ai agent for guarding duty scheduler

    2

  2. private-obsidian-agent private-obsidian-agent Public

    vault structure in obsidian with the claude.md that uses the Karpathy method and has a lazy skill loading system inside the vault for custom skills

    2