Skip to content

Architecture Overview

FundAdmin AI is a modular AI system built on Claude Code that orchestrates 59 specialized skills across 14 categories, 5 parallel agents, 6 output templates, a PDF generation pipeline, an MCP Vault Server, and an Obsidian Vault integration to deliver institutional-grade fund administration analysis.

This page describes how the major components connect and how data flows from user input to final output.

Architecture


Component Diagram

FundAdmin AI Component Architecture

The system has four processing paths:

  • Standard Skills (57 of 59) — Single-pass, multi-phase analysis within one skill file
  • Flagship Skill (review-lpa) — Launches 5 parallel agents for comprehensive LPA analysis
  • PDF Pipeline (report-pdf) — Passes data to Python/ReportLab for professional PDF generation
  • Document Intake (ingest, ingest-email) — Ingests raw documents or email attachments and routes them into the review lifecycle

All paths feed through templates for consistent output formatting, producing either Markdown reports or branded PDF documents. Review outputs can be routed to the MCP Vault Server for persistence in the Obsidian Vault.


Data Flow

FundAdmin AI Data Flow

Every FundAdmin AI command follows a consistent data flow through five stages:

1. User Input

The user provides a command and input via the terminal:

bash
/fund review-lpa greenfield-capital-fund-iv-lpa.pdf

Inputs can be a file path (PDF, DOCX, TXT), pasted text, a URL, or output from a prior command.

2. Document Ingestion (Phase 1)

The skill reads the input document and extracts:

  • Full text content
  • Document structure (sections, headings, defined terms)
  • Fund type classification (PE, VC, hedge fund, real estate, credit)
  • Metadata (fund name, parties, dates)

3. Analysis (Phase 2+)

Analysis varies by command:

  • Standard skills perform multi-phase analysis within a single skill file (e.g., fee analysis, governance review, compliance checks)
  • Flagship review-lpa launches 5 parallel agents, each analyzing the document from a different perspective (terms, risks, compliance, obligations, recommendations)

4. Scoring and Synthesis

Results are synthesized into structured findings:

  • Risk ratings assigned (high / medium / low)
  • For LPA reviews: weighted agent scores are aggregated into the LPA Safety Score (0-100)
  • Recommendations prioritized by severity

5. Report Generation

Output is formatted using templates and written to disk:

  • Markdown: structured report with tables, risk indicators, and sections
  • PDF (optional): cover page, score gauge, detailed sections, and footer via scripts/generate_fund_pdf.py

Workflow


Technology Stack

LayerTechnologyPurpose
AI EngineClaude Code (Anthropic)Reasoning, analysis, document understanding, text generation
Skill SystemMarkdown (SKILL.md files)Declarative instruction files that guide Claude's behavior
Agent SystemMarkdown (agents/*.md)Parallel specialist definitions for multi-perspective analysis
TemplatesMarkdown (templates/*.md)Output structure and formatting specifications
PDF GenerationPython 3.8+ with ReportLabProfessional PDF reports with gauges, charts, and branded styling
MCP Vault ServerNode.js (mcp-vault-server/)15 MCP tools for real-time Obsidian vault integration via stdio transport
Webapp API ServerNode.js (mcp-vault-server/webapp-api.js)REST server on localhost:3001 for webapp vault write-back
Obsidian VaultObsidian + Dataview JS + KanbanPersistent knowledge base at ~/FundAdmin-AI-Vault/ with live Dataview JS dashboards and Kanban boards
Web ApplicationNext.js 16 (webapp/)Dashboard with frontmatter-based scoring, interactive Kanban, wikilink/callout rendering
Sample DataPython (generate_sample_lpa.py)Demo LPA generation with 10 intentional issues for testing
InstallationBash (install.sh / uninstall.sh)Skill and agent deployment to Claude Code

File Organization

fund/SKILL.md                      — Orchestrator (routes 59 commands)

skills/
  fund-review-lpa/SKILL.md         — LPA review (flagship, uses agents)
  fund-review-ppm/SKILL.md         — PPM review
  fund-review-subscription/SKILL.md— Subscription document review
  fund-review-side-letter/SKILL.md — Side letter review
  fund-compare/SKILL.md            — Document comparison
  fund-extract-terms/SKILL.md      — Key term extraction
  fund-draft-capital-call/SKILL.md — Capital call generation
  fund-draft-distribution/SKILL.md — Distribution notice generation
  fund-draft-investor-letter/SKILL.md — Investor letter drafting
  fund-draft-side-letter/SKILL.md  — Side letter drafting
  fund-check-compliance/SKILL.md   — Multi-framework compliance
  fund-kyc-review/SKILL.md         — KYC/AML review
  fund-regulatory-filing/SKILL.md  — Regulatory filing prep
  fund-ingest/SKILL.md             — Document intake pipeline
  fund-ingest-email/SKILL.md       — Email attachment intake
  fund-vault-init/SKILL.md         — Obsidian vault initialization
  fund-vault-sync/SKILL.md         — Vault sync with YAML frontmatter
  ... (59 skills total across 14 categories)

agents/
  fund-terms.md                    — Terms & Economics Agent (20% weight)
  fund-risks.md                    — Risk Assessment Agent (25% weight)
  fund-compliance.md               — Compliance Agent (20% weight)
  fund-obligations.md              — Obligations Agent (15% weight)
  fund-recommendations.md          — Recommendations Agent (20% weight)

templates/
  lpa-review-template.md           — LPA review report format
  capital-call-template.md         — Capital call notice format
  distribution-notice-template.md  — Distribution notice format
  investor-letter-template.md      — Investor letter format
  side-letter-template.md          — Side letter format
  kyc-checklist-template.md        — KYC/AML checklist format

mcp-vault-server/
  index.js                         — MCP server (stdio transport, 15 tools)
  vault.js                         — Filesystem operations, parseReviewMetadata, path security
  webapp-api.js                    — REST server for webapp vault write-back (localhost:3001)
  watcher.js                       — Inbox watcher with auto-classify and post-review hooks

scripts/
  generate_fund_pdf.py             — ReportLab PDF generator
  generate_sample_lpa.py           — Sample LPA with 10 intentional issues

install.sh                         — Install all skills and agents
uninstall.sh                       — Remove all skills and agents

Review Lifecycle

Reviews managed through the MCP Vault Server follow a five-stage lifecycle:

new → under-review → action-required → completed → archived
StageMeaning
newReview created; not yet opened
under-reviewActively being worked on
action-requiredAwaiting LP or GP response
completedAnalysis finished; findings recorded
archivedQuarterly archival; moved to archive folder

The Kanban board in the Obsidian Vault reflects this lifecycle in real time. The MCP tool vault_move_kanban_card transitions a review between stages.


Obsidian Vault Integration

/fund vault-init creates a vault at ~/FundAdmin-AI-Vault/ containing:

  • 7 dashboards powered by Dataview JS live queries (Fund Overview, Investor Directory, Review Queue, etc.)
  • 9 tracker dashboards using Dataview JS for live capital, compliance, investor, performance, wire, obligation, KYC, covenant, and regulatory data
  • 9 Kanban boards for visual review tracking
  • 7 templates (Daily Note, Weekly Review, Monthly Review, Quarterly Fund Review, Fund Profile, Investor Profile, Review Note)
  • 3 Metadata Menu FileClasses (Fund, Investor, Review)
  • 12 review subfolders organized by fund and date

/fund vault-sync writes review outputs with YAML frontmatter, tags, and backlinks to ensure every skill output is cross-linked and searchable inside the vault.


Web Application

The webapp/ directory contains a Next.js 16 dashboard (React 19, Tailwind 4, TypeScript) that provides a browser-based interface for fund review data.

Key Architectural Features

  • Frontmatter-first scoring -- The webapp reads risk and score values from YAML frontmatter as the primary data source, falling back to regex extraction from markdown body only when frontmatter fields are absent. This ensures consistency with the Obsidian vault and Dataview queries.

  • Interactive Kanban boards -- The boards page supports adding, moving, and checking cards directly from the webapp. Card mutations are sent to the webapp-api.js REST server on localhost:3001, which writes changes back to the vault through vault.js. Boards are no longer read-only.

  • Wikilink and callout rendering -- The MarkdownRenderer component supports Obsidian-native syntax including [[wikilinks]] (rendered as navigable links to fund/investor notes) and > [!callout] blocks (rendered with appropriate styling for tip, warning, danger, info, and note types).

Webapp API Server

The webapp communicates with the vault through mcp-vault-server/webapp-api.js, a standalone REST server on 127.0.0.1:3001. Start it alongside the webapp:

bash
node mcp-vault-server/webapp-api.js   # REST API for vault write-back
cd webapp && npm run dev               # Next.js dev server on localhost:3000

All vault writes from the webapp flow through this server, which uses the same vault.js functions as the MCP server -- ensuring a single mutation channel for all vault state.


Competitive Positioning

FundAdmin AI differentiates from legacy platforms (Allvue, eFront, Juniper Square) and outsourced services (Ontra) through:

  • Speed: 60-second AI analysis vs weeks of manual review or hours of outsourced processing
  • Cost: Free and open source vs $50K-$200K/year for legacy platforms or per-contract fees for services
  • Scope: 60 skills across 14 categories vs narrow specialization (Ontra: contracts only, Juniper Square: investor management)
  • Data sovereignty: 100% local processing vs cloud-based or third-party data handling
  • Customization: Open-source skills can be modified vs vendor-locked platforms

Design Principles

  1. Declarative over imperative -- Skills describe what to analyze, not how to implement it. Claude's language model handles the reasoning.

  2. Parallel processing -- The flagship LPA review runs 5 agents simultaneously for faster, more comprehensive analysis.

  3. Consistent output -- Templates enforce uniform formatting across all 59 commands so reports are predictable and machine-readable.

  4. Modular architecture -- Each skill is self-contained. Adding a new command means adding one SKILL.md file and updating the orchestrator routing table.

  5. Human-readable everything -- Skills, agents, and templates are all Markdown files. No compiled code, no opaque configuration. Anyone can read and modify the system.

  6. Persistent knowledge -- The MCP Vault Server bridges ephemeral Claude sessions with a durable Obsidian knowledge base, so every review accumulates institutional memory.

This tool does not provide financial, legal, or tax advice.