checking system…
Docs / back / src/maf/prompts/anthropic_fs/README.md
Markdown · 61 lines
 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.