Personal AI infrastructure - learning-enabled assistant for work, travel, and personal tasks
npx claudepluginhub krishagel/geoffreyPersonal AI infrastructure with learning-enabled assistance for work, travel, and personal tasks
Your intelligent assistant, built as a Claude Code plugin. Geoffrey learns your preferences and patterns over time, providing personalized assistance across work, travel, and personal tasks.
Named after Geoffrey Hinton (godfather of AI) and Geoffrey from Fresh Prince of Bel-Air.
# Install via Claude Code
claude plugin marketplace add krishagel/geoffrey
claude plugin install geoffrey@geoffrey
# For detailed setup, see INSTALL.md
Version: 0.26.0 Status: In Active Development
Geoffrey's architecture follows principles inspired by Personal AI Infrastructure v2.0. These guide all development decisions.
Architecture matters more than AI capability.
The structure around the AI—skills, hooks, knowledge storage—determines what's possible. A well-designed scaffold makes the AI more effective; a poor one limits even the best model.
Example: Three-tier progressive disclosure (Tier 1: always loaded, Tier 2: on activation, Tier 3: just-in-time) keeps context lean while enabling rich capabilities.
Build deterministic CLI tools, then wrap with AI orchestration.
Code is cheaper, faster, and more reliable than prompts. Scripts handle data fetching and processing; AI handles orchestration and natural language.
Example: omnifocus-manager/scripts/get_tags.js fetches tags deterministically. Geoffrey orchestrates when and how to use that data.
Favor predictable, repeatable outcomes over probabilistic behavior.
When possible, use deterministic code paths. Reserve AI judgment for tasks that require it. Runtime data fetching ensures always-current information without stale caches.
Example: Fetching OmniFocus tags at runtime instead of hardcoding 129 tags that could change.
Load only what's needed, when it's needed.
Context is precious. Tier 1 stays under 100 lines. Tier 2 loads when skills activate. Tier 3 fetches data just-in-time.
Example: OmniFocus skill loads SKILL.md on activation, fetches tags only when creating a task.
Modular, composable, single responsibility.
Each skill does one thing well. Skills compose to handle complex workflows. Clear boundaries between concerns.
Example: knowledge-manager learns preferences, omnifocus-manager manages tasks, freshservice-manager handles tickets—each focused and independent.
Infrastructure learns and improves from experience.
Hooks extract patterns automatically. History enables preference detection. The system gets smarter over time without manual updates.
Example: SessionEnd hooks analyze conversations, update learned-preferences.json, and route summaries to Obsidian by content type.
Dynamic routing with modular loading.
SKILL.md frontmatter defines triggers. Skills activate automatically based on context. No manual switching required.
Example: "Add a task to OmniFocus" → omnifocus-manager activates. "What are my travel preferences?" → knowledge-manager activates.
Command-line tools over GUIs.
All scripts are CLI-based for automation and composability. Use bun runtime for JavaScript. Standard input/output for integration.
Example: bun scripts/add_task.js creates tasks programmatically, avoiding GUI dependencies.
Consistent personality and decision framework.
Development marketplace for Superpowers core skills library
Harness-native ECC skills, hooks, rules, MCP conventions, and operator workflows
Open Design — local-first design app exposed to coding agents over MCP. Install once with your agent's plugin command and projects/files/skills are reachable through stdio.