How floomhq/icontext works
icontext is a local, shared Markdown memory vault for AI coding agents. The main workflow uses agent skills to gather evidence from Gmail, LinkedIn, or user input, synthesize and validate a profile, then write tiered profile files that Claude Code, Cursor, Codex, and OpenCode can share. Optional headless sync and MCP/retrieval extend that workflow; tier classification and encryption protect stored context. The README documents several skill-driven stages whose implementation is not represented by sampled Python source, so those links reflect documentation rather than inspected calls.
Main entry points: SKILL.md Populate Skill · cli.py Headless Sync · server.py MCP Server · indexlib.py Local Retrieval
Components 22
Profile Workflow
- Populate Skill
skills/icontext-populate-profile/SKILL.md - Refresh Skill
skills/icontext-refresh-profile/SKILL.md - Entity Extraction
skills/icontext-populate-profile/SKILL.md - Evidence Validation
connectors/gmail.py - Profile Rendering
connectors/gmail.py - Share Card Skill
skills/icontext-share-card/SKILL.md - Write Fact Skill
skills/icontext-write-fact/SKILL.md - Headless Sync
cli.py
Data Sources
- Gmail Connector
connectors/gmail.py - LinkedIn Connector
connectors/linkedin.py - Self Description
skills/icontext-populate-profile/SKILL.md
Vault and Security
- Tiered Markdown Vault
- Sensitivity Classifier
scripts/icontext_classify.py - Tier Configuration
config/tiers.yml - Vault Encryption
workflows/sensitivity.yml
Agent Access
- Local Retrieval
scripts/indexlib.py - Prompt Context Hook
scripts/prompt_context.py - MCP Server
mcp/server.py
Other components
- User
- AI Agent
- Gemini API
- Coding Agents
Connections 34
- User → Populate Skill: invokes
- AI Agent → Populate Skill: follows
- Populate Skill → Gmail Connector: tries first
- Populate Skill → LinkedIn Connector: fallback source
- Populate Skill → Self Description: fallback source
- Gmail Connector → Entity Extraction: provides metadata
- LinkedIn Connector → Entity Extraction: provides profile
- Self Description → Entity Extraction: provides answers
- Entity Extraction → Evidence Validation: filters evidence
- Evidence Validation → Profile Rendering: validated entities
- Populate Skill → Profile Rendering: synthesizes profile
- Profile Rendering → Tiered Markdown Vault: writes Markdown
- User → Refresh Skill: requests update
- Refresh Skill → Tiered Markdown Vault: updates profile
- User → Share Card Skill: requests summary
- Share Card Skill → Tiered Markdown Vault: writes summary
- User → Write Fact Skill: provides fact
- Write Fact Skill → Tiered Markdown Vault: routes fact
- User → Headless Sync: runs sync
- Headless Sync → Gmail Connector: syncs source
- Headless Sync → LinkedIn Connector: syncs source
- Headless Sync → Gemini API: requests synthesis
- Headless Sync → Tiered Markdown Vault: writes profile
- Tier Configuration → Sensitivity Classifier: configures tiers
- Tiered Markdown Vault → Sensitivity Classifier: checks sensitivity
- Tiered Markdown Vault → Vault Encryption: protects vault tier
- Coding Agents → Prompt Context Hook: submits prompt
- Prompt Context Hook → Local Retrieval: searches context
- Local Retrieval → Tiered Markdown Vault: reads indexed files
- Coding Agents → MCP Server: calls tools
- MCP Server → Local Retrieval: searches vault
- MCP Server → Tiered Markdown Vault: reads and appends
- MCP Server → Local Retrieval: rebuilds index
- Tiered Markdown Vault → Coding Agents: shared context