bb4a2b3e53
- Move verticals from repo root into plugins/vertical-plugins/ and partner plugins into plugins/partner-built/ - Add 10 named, self-contained agent plugins under plugins/agent-plugins/ (Pitch Agent, Market Researcher, Earnings Reviewer, Model Builder, Meeting Prep, GL Reconciler, Month-End Closer, Statement Auditor, Valuation Reviewer, KYC Screener) — each bundles its own skills so it installs standalone - Add managed-agent-cookbooks/ (one per agent) with subagent isolation and steering examples for /v1/agents deployment - Add fund-admin and operations verticals so the finance-ops/onboarding agents ship real domain skills - Add scripts/ (check.py manifest lint, sync-agent-skills.py, deploy-managed-agent.sh, orchestrate.py reference loop, test-cookbooks.sh) - Add .github/workflows/secret-scan.yml (gitleaks + internal-ref grep) - Tighten agent tool grants to declared MCPs only — no Bash, WebFetch, or undeclared mcp__* references in any agent - Add not-investment-advice disclaimer to README - Rename claude-in-office to claude-for-msft-365-install (content unchanged)
Valuation Reviewer — managed-agent template
Overview
Ingests GP packages, runs valuation template, stages LP reporting. Same source as the valuation-reviewer Cowork plugin — this directory is the Managed Agent cookbook for POST /v1/agents.
Deploy
export ANTHROPIC_API_KEY=sk-ant-...
export PORTFOLIO_MCP_URL=...
../../scripts/deploy-managed-agent.sh valuation-reviewer
Steering events
Security & handoffs
GP-provided valuation packages are untrusted. Three-tier isolation:
| Tier | Touches untrusted docs? | Tools | Connectors |
|---|---|---|---|
package-reader |
Yes | Read, Grep only |
None |
valuation-runner / Orchestrator |
No | Read, Grep, Glob, Agent |
portfolio (read-only) |
publisher (Write-holder) |
No | Read, Write, Edit |
None |
package-reader returns length-capped, schema-validated JSON. publisher produces ./out/lp-pack-<fund>.xlsx.
Handoff: to feed flagged portcos into GL Reconciler, emit a handoff_request for gl-reconciler; scripts/orchestrate.py routes it.
Not guaranteed: LP reports require IR and CCO sign-off outside this agent.