1# Vendored prompts — anthropics/financial-services 2 3System prompts and skill definitions vendored from 4[`anthropics/financial-services`](https://github.com/anthropics/financial-services) 5(license: see upstream). 6 7## Why vendor instead of submodule? 8 9- **Offline operation** — MAF runs in environments without network access to GitHub. 10- **Pinned content** — prompts are content the agent receives; we want to know 11 exactly what we shipped, not whatever HEAD looks like today. 12- **Translation friction** — upstream prompts reference Claude-specific tools 13 (`mcp__capiq__*`, `mcp__factset__*`). We translate them to MAF source-binding 14 names during vendor-in, then `MAF_TOOL_TRANSLATION.md` records the diff. 15 16## What's vendored 17 18``` 19src/maf/prompts/anthropic_fs/ 20├── README.md — this file 21├── MAF_TOOL_TRANSLATION.md — Anthropic tool refs → MAF source bindings 22├── agents/ 23│ ├── earnings_reviewer.md — post-earnings analyst (system prompt) 24│ ├── market_researcher.md — sector/thematic primer (system prompt) 25│ ├── sector_reader.md — sub-agent: structured fact extraction 26│ ├── comps_spreader.md — sub-agent: peer-set multiples 27│ └── note_writer.md — sub-agent: final research note 28└── skills/ 29 ├── earnings_analysis.md — quarterly results analysis 30 └── sector_overview.md — industry landscape brief 31``` 32 33## How MAF uses them 34 35Reference from any `AgentConfig.system_prompt_file`: 36 37```yaml 38agents: 39 - name: earnings_analyst 40 role: specialist 41 system_prompt_file: src/maf/prompts/anthropic_fs/agents/earnings_reviewer.md 42 sources: [latest_news, indicators] # MAF source bindings replace mcp__* refs 43``` 44 45The vendored prompts are domain-tuned for financial analysis — they give MAF 46agents the same "senior research associate" persona Anthropic's Cowork 47ships. Anthropic's prompts were tuned for `claude-opus-4-7`; they work on 48Ollama Cloud's `gpt-oss:120b` but verdicts may drift. A/B test before 49relying on numerical outputs. 50 51## Refreshing 52 53A future `scripts/sync_anthropic_fs.py` will clone the upstream repo, copy 54the listed files, and re-apply the tool-name translations recorded in 55`MAF_TOOL_TRANSLATION.md`. Not yet automated — current vendor-in is manual. 56 57## Attribution 58 59Each vendored file starts with a header noting its upstream path + commit 60hash. See `LICENSE` in the upstream repo for distribution terms.