How sayandeep-coder/mads works
Mads is a personal AI Chief of Staff: users chat through CLI, web, browser-extension, and Excel surfaces; a shared agent lets Gemini select tools, then returns a response. Advanced Planner and Adaptive Intelligence enrich the agent without replacing its tool interface. The graph preserves the documented tool families, skills, memory, and distinct planning and learning workflows. Several tool families are represented at their enclosing directory because their individual provider wiring was not sampled; those links follow the README rather than inferred source calls.
Main entry points: registry.py On-demand skills · session.py Session builder · agent.py Gemini agent · manager.py Tool manager
Components 28
User surfaces
- CLI REPL
cli/main.py - Web chat
web/src/lib/useChat.ts - Browser extension
extension/sidepanel.js - Excel add-in
excel-addin/taskpane.js - Chat API
server/app.py
Agent runtime
- Session builder
agent/session.py - Gemini agent
agent/agent.py - Tool manager
mcp_servers/manager.py
Tools and skills
- Tool providers
mcp_servers/servers - On-demand skills
skills/registry.py - Memory engine
memory/provider.py - Research tools
agent/research_prompt.py - OAuth integrations
auth/oauth_manager.py - Document skills
skills/docs.py - PDF skill
skills/pdf.py - Excel skill
skills/excel.py - PPTX skill
skills/pptx.py
Advanced Planner
- Planner tools
planner/planner.py - Plan generation
planner/planning_engine.py - Project management
planner/project_manager.py - Task management
planner/task_manager.py - Prompt library
planner/prompt_library.py - Project storage
planner/storage.py
Adaptive Intelligence
- History import
adaptive/pipeline.py - Approved profile
adaptive/profile.py - Adaptive storage
adaptive/storage.py
Other components
- User
- Gemini
Connections 33
- User → CLI REPL: uses
- User → Web chat: uses
- User → Browser extension: uses
- User → Excel add-in: uses
- CLI REPL → Session builder: builds
agent/session.py - Web chat → Chat API: streams chat
- Browser extension → Chat API: sends browser chat
- Excel add-in → Chat API: sends workbook chat
- Chat API → Session builder: routes chat
server/app.py - Session builder → Gemini agent: builds
agent/session.py - Gemini agent → Gemini: sends turns
- Gemini → Gemini agent: requests functions
- Gemini agent → Tool manager: dispatches tools
agent/agent.py - Tool manager → Tool providers: calls provider
mcp_servers/servers/search.py - Gemini agent → On-demand skills: invokes skills
agent/agent.py - Session builder → Planner tools: starts planner context
agent/session.py - Session builder → Approved profile: loads profile
agent/session.py - Planner tools → Plan generation: builds plans
planner/planner.py - Planner tools → Project management: manages projects
planner/planner.py - Plan generation → Task management: reads tasks
planner/planning_engine.py - Plan generation → Prompt library: suggests prompts
planner/planning_engine.py - Project management → Project storage: reads and writes
planner/project_manager.py - Task management → Project storage: reads and writes
planner/task_manager.py - CLI REPL → History import: imports history
cli/main.py - History import → Approved profile: queues candidates
adaptive/pipeline.py - Approved profile → Adaptive storage: persists profile
adaptive/profile.py - Tool manager → Memory engine: dispatches memory tools
- Tool manager → Research tools: dispatches research tools
- On-demand skills → Document skills: loads document skill
- On-demand skills → PDF skill: loads PDF skill
- On-demand skills → Excel skill: loads Excel skill
- On-demand skills → PPTX skill: loads PPTX skill
- Tool providers → OAuth integrations: uses OAuth