Files
cxyback bb4a2b3e53 Restructure repo and add named agents (#81)
- 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)
2026-05-05 10:58:18 -04:00
..

Market Researcher — managed-agent template

Overview

Sector or theme → industry overview → competitive landscape → peer comps → ideas shortlist → research note. Same source as the market-researcher Cowork plugin — this directory is the Managed Agent cookbook for POST /v1/agents.

Deploy

export ANTHROPIC_API_KEY=sk-ant-...
export CAPIQ_MCP_URL=... FACTSET_MCP_URL=...
../../scripts/deploy-managed-agent.sh market-researcher

Steering events

See steering-examples.json. Kick from a research-queue event or fan out across a coverage map.

Security & handoffs

Third-party reports and issuer materials are untrusted. Three-tier isolation:

Tier Touches untrusted docs? Tools Connectors
sector-reader Yes Read, Grep only None
comps-spreader / Orchestrator No Read, Grep, Glob, Agent CapIQ, FactSet (read-only)
note-writer (Write-holder) No Read, Write, Edit None

sector-reader returns length-capped, schema-validated JSON. note-writer produces ./out/primer-<sector>.docx (and .pptx if slides requested).

Handoff: to model a single name surfaced in the ideas shortlist, emit a handoff_request for model-builder; scripts/orchestrate.py routes it as a new steering event.