InternalAI Workspace
Agent-assisted workspace for analyzing and tracking Monadical's internal data: meetings, emails, Zulip conversations, calendar events, documents, and git activity.
Skills
Skills are agent instructions stored in .agents/skills/. They follow the Agent Skills standard (same structure as .claude/skills/). Some are invoked by the user via /name, others are background knowledge the agent loads automatically when relevant.
Task Skills (user-invoked)
These are workflows you trigger explicitly. The agent will not run them on its own.
| Skill | Invocation | Purpose |
|---|---|---|
| project-init | /project-init [name] |
Set up a new project: create directory structure, discover data sources (Zulip streams, git repos, meeting rooms), write datasources.md and background.md skeleton. Stops before gathering data so you can review the sources. |
| project-history | /project-history [name] [from] [to] |
Build the initial timeline for a project. Queries all datasources for a date range, creates week-by-week analysis files, builds the timeline index, and synthesizes the background. Requires project-init first. |
| project-sync | /project-sync [name] |
Incremental update of a project timeline. Reads the last sync date from sync-state.md, fetches new data through today, creates new week files, and refreshes the timeline and background. |
| checkout | /checkout |
Build a weekly review (Sunday through today). Gathers meetings, emails, Zulip conversations, and Gitea activity, then produces a structured checkout summary. |
| workflow | /workflow [topic] |
Create a marimo notebook for data analysis. Use for any request involving analysis over time periods or large data volumes. |
| self-onboarding | /self-onboarding |
Generate a personalized MYSELF.md by analyzing 12 months of historical activity (meetings, emails, Zulip, calendar). Runs 19 parallel subagents to build a comprehensive profile. |
Reference Skills (agent-loaded automatically)
These provide background knowledge the agent loads when relevant. They don't appear in the / menu.
| Skill | What the agent learns |
|---|---|
| connectors | Which data connectors exist and what entity types they produce (reflector, zulip, email, calendar, etc.) |
| dataindex | How to query the DataIndex REST API (GET /query, POST /search, GET /entities/{id}) |
| contactdb | How to resolve people to contact IDs via the ContactDB REST API |
| company | Monadical org structure, Zulip channel layout, communication tools, meeting/calendar relationships |
| notebook-patterns | Marimo notebook rules: cell scoping, async patterns, pagination helpers, analysis templates |
Project Tracking
Project analysis files live in projects/. See projects/README.md for the directory structure and categorization guidelines.
Typical workflow:
/project-init myproject # 1. Discover sources, create skeleton
# Review datasources.md, adjust if needed
/project-history myproject 2025-06-01 2026-02-17 # 2. Backfill history
# ... time passes ...
/project-sync myproject # 3. Incremental update
Each project produces:
projects/{name}/
├── datasources.md # Where to find data (Zulip streams, git repos, meeting rooms)
├── background.md # Living doc: current status, team, architecture
├── sync-state.md # Tracks last sync date for incremental updates
└── timeline/
├── index.md # Navigation and milestones
└── {year-month}/
└── week-{n}.md # One week of history (write-once)
Data Analysis Workflows
Analysis notebooks live in workflows/. Each is a marimo .py file.
/workflow meetings-with-alice # Creates workflows/NNN_meetings_with_alice.py
See the workflow skill for naming conventions and the notebook-patterns skill for marimo coding rules.
Data Sources
All data flows through two APIs:
- DataIndex (
localhost:42000/dataindex/api/v1direct,http://caddy/dataindex/api/v1via greywall sandbox) — unified query interface for all entity types - ContactDB (
localhost:42000/contactdb-apidirect,http://caddy/contactdb-api/via greywall sandbox) — people directory, resolves names/emails to contact IDs
Connectors that feed DataIndex: reflector (meetings), zulip (chat), mbsync_email (email), ics_calendar (calendar), hedgedoc (documents), browser_history (web pages), babelfish (translations).