alphacouncil-agent 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/.claude/agents/alphacouncil-bear_researcher.md +39 -0
  2. package/.claude/agents/alphacouncil-bull_researcher.md +40 -0
  3. package/.claude/agents/alphacouncil-earnings_deep_dive.md +49 -0
  4. package/.claude/agents/alphacouncil-forward_expectations.md +48 -0
  5. package/.claude/agents/alphacouncil-ib_event_analysis.md +40 -0
  6. package/.claude/agents/alphacouncil-insider_sec.md +39 -0
  7. package/.claude/agents/alphacouncil-macro_regime.md +31 -0
  8. package/.claude/agents/alphacouncil-market_data.md +37 -0
  9. package/.claude/agents/alphacouncil-market_narrative.md +45 -0
  10. package/.claude/agents/alphacouncil-news_industry_management.md +49 -0
  11. package/.claude/agents/alphacouncil-portfolio_manager.md +22 -0
  12. package/.claude/agents/alphacouncil-quant_factor.md +38 -0
  13. package/.claude/agents/alphacouncil-social_pulse.md +49 -0
  14. package/.claude/agents/alphacouncil-valuation_long_short.md +45 -0
  15. package/.claude-plugin/marketplace.json +30 -0
  16. package/.claude-plugin/plugin.json +28 -0
  17. package/.codex-plugin/plugin.json +32 -0
  18. package/.grok/agents/alphacouncil-bear_researcher.md +41 -0
  19. package/.grok/agents/alphacouncil-bull_researcher.md +42 -0
  20. package/.grok/agents/alphacouncil-earnings_deep_dive.md +50 -0
  21. package/.grok/agents/alphacouncil-forward_expectations.md +49 -0
  22. package/.grok/agents/alphacouncil-ib_event_analysis.md +41 -0
  23. package/.grok/agents/alphacouncil-insider_sec.md +40 -0
  24. package/.grok/agents/alphacouncil-macro_regime.md +32 -0
  25. package/.grok/agents/alphacouncil-market_data.md +38 -0
  26. package/.grok/agents/alphacouncil-market_narrative.md +46 -0
  27. package/.grok/agents/alphacouncil-news_industry_management.md +50 -0
  28. package/.grok/agents/alphacouncil-portfolio_manager.md +24 -0
  29. package/.grok/agents/alphacouncil-quant_factor.md +39 -0
  30. package/.grok/agents/alphacouncil-social_pulse.md +50 -0
  31. package/.grok/agents/alphacouncil-valuation_long_short.md +46 -0
  32. package/.grok/config.toml +4 -0
  33. package/.mcp.json +11 -0
  34. package/.opencode/agent/alphacouncil-bear_researcher.md +45 -0
  35. package/.opencode/agent/alphacouncil-bull_researcher.md +46 -0
  36. package/.opencode/agent/alphacouncil-earnings_deep_dive.md +54 -0
  37. package/.opencode/agent/alphacouncil-forward_expectations.md +53 -0
  38. package/.opencode/agent/alphacouncil-ib_event_analysis.md +45 -0
  39. package/.opencode/agent/alphacouncil-insider_sec.md +44 -0
  40. package/.opencode/agent/alphacouncil-macro_regime.md +36 -0
  41. package/.opencode/agent/alphacouncil-market_data.md +42 -0
  42. package/.opencode/agent/alphacouncil-market_narrative.md +50 -0
  43. package/.opencode/agent/alphacouncil-news_industry_management.md +54 -0
  44. package/.opencode/agent/alphacouncil-portfolio_manager.md +28 -0
  45. package/.opencode/agent/alphacouncil-quant_factor.md +43 -0
  46. package/.opencode/agent/alphacouncil-social_pulse.md +54 -0
  47. package/.opencode/agent/alphacouncil-valuation_long_short.md +50 -0
  48. package/AGENTS.md +96 -0
  49. package/CHANGELOG.md +112 -0
  50. package/CLAUDE.md +144 -0
  51. package/LICENSE +21 -0
  52. package/README.ja.md +282 -0
  53. package/README.md +361 -0
  54. package/README.zh-CN.md +282 -0
  55. package/data/industry-map.json +74 -0
  56. package/docs/attribution.md +99 -0
  57. package/docs/personas.md +59 -0
  58. package/docs/report-contract.md +110 -0
  59. package/mcp/lib/codex.mjs +152 -0
  60. package/mcp/lib/constants.mjs +139 -0
  61. package/mcp/lib/council-options.mjs +111 -0
  62. package/mcp/lib/errors.mjs +46 -0
  63. package/mcp/lib/feeds.mjs +140 -0
  64. package/mcp/lib/fsutil.mjs +69 -0
  65. package/mcp/lib/gates.mjs +208 -0
  66. package/mcp/lib/grounding.mjs +252 -0
  67. package/mcp/lib/headings.mjs +65 -0
  68. package/mcp/lib/industry.mjs +208 -0
  69. package/mcp/lib/lang.mjs +24 -0
  70. package/mcp/lib/macro.mjs +167 -0
  71. package/mcp/lib/markdown.mjs +337 -0
  72. package/mcp/lib/markets-kr-jp.mjs +180 -0
  73. package/mcp/lib/markets.mjs +261 -0
  74. package/mcp/lib/narrative.mjs +235 -0
  75. package/mcp/lib/options.mjs +216 -0
  76. package/mcp/lib/orchestrator.mjs +541 -0
  77. package/mcp/lib/output-modes.mjs +144 -0
  78. package/mcp/lib/packets.mjs +256 -0
  79. package/mcp/lib/personas/frontmatter.mjs +80 -0
  80. package/mcp/lib/personas/registry.mjs +215 -0
  81. package/mcp/lib/preflight.mjs +174 -0
  82. package/mcp/lib/prompts.mjs +151 -0
  83. package/mcp/lib/quotes.mjs +108 -0
  84. package/mcp/lib/rpc.mjs +737 -0
  85. package/mcp/lib/run-store.mjs +140 -0
  86. package/mcp/lib/screen.mjs +283 -0
  87. package/mcp/lib/sec.mjs +131 -0
  88. package/mcp/lib/social.mjs +261 -0
  89. package/mcp/lib/tables.mjs +150 -0
  90. package/mcp/lib/text.mjs +27 -0
  91. package/mcp/lib/weights.mjs +150 -0
  92. package/mcp/server.mjs +92 -0
  93. package/opencode.json +20 -0
  94. package/package.json +61 -0
  95. package/personas/_shared/_debate_base.md +46 -0
  96. package/personas/_shared/_evidence_base.md +56 -0
  97. package/personas/_shared/_master_base.md +77 -0
  98. package/personas/analysts/earnings_deep_dive.md +118 -0
  99. package/personas/analysts/forward_expectations.md +115 -0
  100. package/personas/analysts/ib_event_analysis.md +100 -0
  101. package/personas/analysts/insider_sec.md +98 -0
  102. package/personas/analysts/macro_regime.md +66 -0
  103. package/personas/analysts/market_data.md +94 -0
  104. package/personas/analysts/market_narrative.md +94 -0
  105. package/personas/analysts/news_industry_management.md +117 -0
  106. package/personas/analysts/quant_factor.md +97 -0
  107. package/personas/analysts/social_pulse.md +102 -0
  108. package/personas/analysts/valuation_long_short.md +109 -0
  109. package/personas/debate/bear_researcher.md +96 -0
  110. package/personas/debate/bull_researcher.md +98 -0
  111. package/personas/debate/portfolio_manager.md +64 -0
  112. package/personas/masters/masters-adversarial/burry.md +137 -0
  113. package/personas/masters/masters-adversarial/dalio.md +139 -0
  114. package/personas/masters/masters-adversarial/druckenmiller.md +144 -0
  115. package/personas/masters/masters-adversarial/short_seller.md +145 -0
  116. package/personas/masters/masters-adversarial/soros.md +137 -0
  117. package/personas/masters/masters-modern/aschenbrenner.md +147 -0
  118. package/personas/masters/masters-options/natenberg.md +168 -0
  119. package/personas/masters/masters-options/sinclair.md +166 -0
  120. package/personas/masters/masters-options/taleb.md +163 -0
  121. package/personas/masters/masters-quant/asness.md +142 -0
  122. package/personas/masters/masters-quant/simons.md +143 -0
  123. package/personas/masters/masters-quant/thorp.md +143 -0
  124. package/personas/masters/masters-value/buffett.md +123 -0
  125. package/personas/masters/masters-value/duan_yongping.md +142 -0
  126. package/personas/masters/masters-value/li_lu.md +146 -0
  127. package/personas/masters/masters-value/munger.md +117 -0
  128. package/personas/masters/masters-value-classic/fisher.md +140 -0
  129. package/personas/masters/masters-value-classic/graham.md +137 -0
  130. package/personas/masters/masters-value-classic/klarman.md +138 -0
  131. package/personas/masters/masters-value-classic/lynch.md +133 -0
  132. package/personas/masters/masters-value-classic/marks.md +145 -0
  133. package/personas/verifiers/rederivation.md +97 -0
  134. package/personas/verifiers/refuter.md +99 -0
  135. package/personas/verifiers/source_fidelity.md +91 -0
  136. package/skills/agent-skills-governance/SKILL.md +42 -0
  137. package/skills/alphacouncil-agent/SKILL.md +259 -0
  138. package/skills/investment-banking/SKILL.md +70 -0
  139. package/skills/public-equity-investing/SKILL.md +74 -0
package/README.ja.md ADDED
@@ -0,0 +1,282 @@
1
+ <a name="readme-top"></a>
2
+
3
+ <div align="center">
4
+
5
+ <img src="assets/banner.png" alt="AlphaCouncil Agent" width="100%" />
6
+
7
+ ### ใ‚ฟใƒผใƒŸใƒŠใƒซใฎไธญใฎใ€ใƒžใƒซใƒใ‚จใƒผใ‚ธใ‚งใƒณใƒˆๆŠ•่ณ‡ๅง”ๅ“กไผš
8
+
9
+ ใ‚ขใƒŠใƒชใ‚นใƒˆ่ฉ•่ญฐไผšใ‚’ๆ‹›้›† โ†’ ๅ‡บๅ…ธไป˜ใใฎๆ นๆ‹ ใ‚’ๅŽ้›† โ†’ ๅผทๆฐ—/ๅผฑๆฐ—ใƒ‡ใ‚ฃใƒ™ใƒผใƒˆ โ†’ PM ใŒๅˆคๅฎš:**่ฒทใ„ ยท ใ‚ชใƒผใƒใƒผใ‚ฆใ‚งใ‚คใƒˆ ยท ไธญ็ซ‹ ยท ใ‚ขใƒณใƒ€ใƒผใ‚ฆใ‚งใ‚คใƒˆ ยท ๅฃฒใ‚Š**
10
+
11
+ [English](README.md) ยท [ไธญๆ–‡](README.zh-CN.md) ยท **ๆ—ฅๆœฌ่ชž**
12
+
13
+ <p>
14
+ <img src="https://img.shields.io/github/actions/workflow/status/Zhao73/alphacouncil-agent/check.yml?style=for-the-badge&label=build&logo=githubactions&logoColor=white&color=1a7a6a" alt="build" />
15
+ <img src="https://img.shields.io/badge/License-MIT-c9a227?style=for-the-badge" alt="MIT" />
16
+ <img src="https://img.shields.io/badge/Node-%3E%3D18-339933?style=for-the-badge&logo=node.js&logoColor=white" alt="node" />
17
+ <img src="https://img.shields.io/github/stars/Zhao73/alphacouncil-agent?style=for-the-badge&logo=github&color=0d4d4d" alt="stars" />
18
+ </p>
19
+ <p>
20
+ <img src="https://img.shields.io/badge/OpenAI_Codex-412991?style=for-the-badge&logo=openai&logoColor=white" alt="codex" />
21
+ <img src="https://img.shields.io/badge/Claude_Code-D97757?style=for-the-badge&logo=anthropic&logoColor=white" alt="claude code" />
22
+ <img src="https://img.shields.io/badge/MCP-compatible-000000?style=for-the-badge" alt="mcp" />
23
+ </p>
24
+
25
+ <p>
26
+ <a href="#-ไฝฟใ„ๆ–น"><b>ไฝฟใ„ๆ–น</b></a> ยท
27
+ <a href="docs/INSTALL.md"><b>ใ‚คใƒณใ‚นใƒˆใƒผใƒซ</b></a> ยท
28
+ <a href="#-ใ‚ขใƒผใ‚ญใƒ†ใ‚ฏใƒใƒฃ"><b>ใ‚ขใƒผใ‚ญใƒ†ใ‚ฏใƒใƒฃ</b></a> ยท
29
+ <a href="#-ๅ…่ฒฌไบ‹้ …"><b>ๅ…่ฒฌไบ‹้ …</b></a>
30
+ </p>
31
+
32
+ </div>
33
+
34
+ ---
35
+
36
+ <div align="center">
37
+
38
+ <img src="assets/run-example.png" alt="A real AlphaCouncil run: six master lenses reaching the same call for different reasons" width="100%" />
39
+
40
+ <sub><i>ๅฎŸ้š›ใฎๅฎŸ่กŒ็ตๆžœใ€‚6ใคใฎใƒฌใƒณใ‚บใฏใ„ใšใ‚Œใ‚‚ๅผทๆฐ—ใงใฏใชใใ€็›ธ้•ใฏ็ต่ซ–ใงใฏใชใ็†็”ฑใซใ‚ใ‚Šใพใ™ใ€‚</i></sub>
41
+
42
+ </div>
43
+
44
+ AlphaCouncil Agent ใฏใ€**ไธŠๅ ดๆ ชๅผใฎใƒชใ‚ตใƒผใƒ**ๅ‘ใ‘ใฎ Codex / Claude Code ใƒ—ใƒฉใ‚ฐใ‚คใƒณใงใ™ใ€‚่ค‡ๆ•ฐใฎใ‚ขใƒŠใƒชใ‚นใƒˆใƒปใ‚ตใƒ–ใ‚จใƒผใ‚ธใ‚งใƒณใƒˆใ‚’็ตฑๆ‹ฌใ—ใ€ๅ‡บๅ…ธไป˜ใใฎๆ นๆ‹ ใ‚’้›†ใ‚ใ€ๅผทๆฐ—/ๅผฑๆฐ—ใฎใƒ‡ใ‚ฃใƒ™ใƒผใƒˆใ‚’่กŒใ„ใ€ใƒใƒผใƒˆใƒ•ใ‚ฉใƒชใ‚ชใƒžใƒใƒผใ‚ธใƒฃใƒผ่ฆ–็‚นใฎๆœ€็ต‚ใƒฌใƒใƒผใƒˆใ‚’็”Ÿๆˆใ—ใพใ™ใ€‚
45
+
46
+ ### โœจ AlphaCouncil ใ‚’ไฝฟใ†็†็”ฑ
47
+
48
+ | | |
49
+ |---|---|
50
+ | ๐Ÿ›๏ธ **ไธ€ไบบใฎๆ„่ฆ‹ใงใฏใชใใ€ๅง”ๅ“กไผš** | 11 ใฎๅฐ‚้–€ใ‚ขใƒŠใƒชใ‚นใƒˆใ‚จใƒผใ‚ธใ‚งใƒณใƒˆ(ๆ ชไพกใƒปๆฑบ็ฎ—ใƒปใƒใƒชใƒฅใ‚จใƒผใ‚ทใƒงใƒณใƒปใ‚ฏใ‚ชใƒณใƒ„ใƒปใ‚คใƒณใ‚ตใ‚คใƒ€ใƒผ/SECใƒปIB ใ‚คใƒ™ใƒณใƒˆโ€ฆ)ใŒไธฆๅˆ—ใง็จผๅƒใ€‚ |
51
+ | ๐Ÿ‚๐Ÿป **่จญ่จˆใ‹ใ‚‰ใ—ใฆๅฏพ็ซ‹็š„** | ๆง‹้€ ๅŒ–ใ•ใ‚ŒใŸๅผทๆฐ— vs ๅผฑๆฐ—ใฎใƒ‡ใ‚ฃใƒ™ใƒผใƒˆใ‚’ใ€PM ใ‚จใƒผใ‚ธใ‚งใƒณใƒˆใŒ่ฃๅฎšใ—ๅฎŸ้š›ใฎใƒฌใƒผใƒ†ใ‚ฃใƒณใ‚ฐใ‚’ๆ็คบใ€‚ |
52
+ | ๐Ÿ” **็›ฃๆŸปๅฏ่ƒฝใ€ๅนป่ฆšใชใ—** | ใ™ในใฆใฎไธปๅผตใŒ source ID ใซ็ดใฅใใ€‚ๆฌ ่ฝใƒ‡ใƒผใ‚ฟใฏใ€Œใƒ‡ใƒผใ‚ฟๆฌ ่ฝใ€ใ‚ปใ‚ฏใ‚ทใƒงใƒณใซๆ˜Ž็คบใ—ใ€ๆฑบใ—ใฆ้š ใ•ใชใ„ใ€‚ |
53
+ | โฑ๏ธ **ใƒžใƒซใƒๆœŸ้–“ใฎๅˆคๅฎš** | ่ฒทใ„/ไธญ็ซ‹/ๅฃฒใ‚ŠใซๅŠ ใˆใ€1ใ€œ4้€ฑใƒป3ใ€œ6ใ‹ๆœˆใƒป12ใ‹ๆœˆใฎ่ฆ‹้€šใ—ใ‚’ๅ€‹ๅˆฅใซๆ็คบใ€‚ |
54
+ | ๐Ÿ”‘ **ใƒ‡ใƒผใ‚ฟใƒ™ใƒณใƒ€ใƒผไธ่ฆใƒปAPIใ‚ญใƒผไธ่ฆ** | ้‡‘่žใƒ‡ใƒผใ‚ฟ APIใƒปใƒžใƒผใ‚ฑใƒƒใƒˆใƒ‡ใƒผใ‚ฟใƒ•ใ‚ฃใƒผใƒ‰ใƒป่จผๅˆธๅฃๅบงใƒญใ‚ฐใ‚คใƒณใฏไธ€ๅˆ‡ไธ่ฆใ€‚ใ‚ขใƒŠใƒชใ‚นใƒˆใฏใ‚จใƒผใ‚ธใ‚งใƒณใƒˆ่‡ช่บซใฎใ‚ฆใ‚งใƒ–ๆคœ็ดข(**Codex ใฎใ‚ฆใ‚งใƒ–ๆคœ็ดข** / **Claude Code ใฎ WebSearch + WebFetch**)ใงๆ นๆ‹ ใ‚’ใƒชใ‚ขใƒซใ‚ฟใ‚คใƒ ใซๅŽ้›† โ€”โ€” ่ชฒ้‡‘ใฏๆ—ขๅญ˜ใฎ Codex / Claude Code ใ‚ตใƒ–ใ‚นใ‚ฏใฎใฟใ€‚MIT ใƒฉใ‚คใ‚ปใƒณใ‚นใ€‚ |
55
+ | ๐Ÿ“š **ๅŒๆขฑใฎ่ชฟๆŸปใƒ—ใƒฌใ‚คใƒ–ใƒƒใ‚ฏ** | ๅ…ฌ้–‹ๆ ชๅผๆŠ•่ณ‡ใจๆŠ•่ณ‡้Š€่กŒใ‚คใƒ™ใƒณใƒˆๅˆ†ๆžใฎๆ–นๆณ•่ซ–ใ‚’**ใƒญใƒผใ‚ซใƒซใ‚นใ‚ญใƒซ**ใจใ—ใฆๅŒๆขฑ(`skills/public-equity-investing`ใ€`skills/investment-banking`)โ€”โ€” Codex ๅฐ‚็”จใฎใƒชใƒขใƒผใƒˆใƒฏใƒผใ‚ฏใƒ•ใƒญใƒผใซไพๅญ˜ใ›ใšใ€Claude Code ใงใ‚‚ๅŒ็ญ‰ใฎ่ชฟๆŸปๆทฑๅบฆใ€‚ |
56
+ | ๐Ÿ“ˆ **ๅฎŸใƒžใƒผใ‚ฑใƒƒใƒˆใƒ‡ใƒผใ‚ฟใƒปใ‚ญใƒผไธ่ฆ** | ๅ†…่”ตใฎ `get_quote` ใŒ Yahoo + Stooq ็ตŒ็”ฑใงๆŒ‡ๆ•ฐใƒปๆŒ‡ๆ•ฐๅ…ˆ็‰ฉ(ๅคœ้–“ๅซใ‚€)ใƒปFXใƒป้‡‘ๅˆฉใƒปใƒœใƒฉใƒปๅ•†ๅ“ใƒปๅ€‹ๅˆฅๆ ชใฎ้…ๅปถ(~15ๅˆ†)ใƒ‡ใƒผใ‚ฟใ‚’ๅ–ๅพ— โ€”โ€” API ใ‚ญใƒผไธ่ฆใ€ใ‚ขใƒŠใƒชใ‚นใƒˆใฏๆŽจๆธฌใงใฏใชใๅฎŸๆ•ฐใ‚’ๅผ•็”จใ€‚ |
57
+
58
+ ใ“ใฎใƒชใƒใ‚ธใƒˆใƒชใฏใ‚ขใƒƒใƒ—ใƒญใƒผใƒ‰็”จใฎใ‚ฝใƒผใ‚นใ‚ณใƒ”ใƒผใงใ™ใ€‚ๅฎŸ่กŒๆˆๆžœ็‰ฉใฏใƒชใƒใ‚ธใƒˆใƒชใฎๅค–ใ€`~/.alphacouncil-agent/runs/<run_id>/` ใซๆ›ธใๅ‡บใ•ใ‚Œใพใ™ใ€‚
59
+
60
+ ## ๐Ÿ“œ ๅ…่ฒฌไบ‹้ …
61
+
62
+ ๆœฌใ‚ฝใƒ•ใƒˆใ‚ฆใ‚งใ‚ขใฏ**ๆ•™่‚ฒใƒป็ ”็ฉถ็›ฎ็š„ใฎใฟ**ใ‚’ๅฏพ่ฑกใจใ—ใฆใŠใ‚Šใ€**ๆŠ•่ณ‡ๅŠฉ่จ€ใงใฏใ‚ใ‚Šใพใ›ใ‚“**ใ€‚ใ„ใ‹ใชใ‚‹่จผๅˆธใฎๅฃฒ่ฒทใฎๆŽจๅฅจใƒปๅ‹ง่ช˜ใงใ‚‚ใ‚ใ‚Šใพใ›ใ‚“ใ€‚AI ใŒ็”Ÿๆˆใ™ใ‚‹ๅˆ†ๆžใฏไธๅฎŒๅ…จใƒปๅคใ„ใƒป่ชคใฃใฆใ„ใ‚‹ๅฏ่ƒฝๆ€งใŒใ‚ใ‚Šใพใ™ใ€‚ๆŠ•่ณ‡ๅˆคๆ–ญใฎๅ‰ใซใ€ๅฟ…ใšใ”่‡ช่บซใง่ชฟๆŸปใ—ใ€ๆœ‰่ณ‡ๆ ผใฎๅฐ‚้–€ๅฎถใซใ”็›ธ่ซ‡ใใ ใ•ใ„ใ€‚ไฝœ่€…ใฏใ„ใ‹ใชใ‚‹ๆๅคฑใซใคใ„ใฆใ‚‚่ฒฌไปปใ‚’่ฒ ใ„ใพใ›ใ‚“ใ€‚
63
+
64
+ ## ใ‚คใƒณใ‚นใƒˆใƒผใƒซ
65
+
66
+ Codex ใจ Claude Code ใฎๅฎŒๅ…จใชใ‚ปใƒƒใƒˆใ‚ขใƒƒใƒ—ๆ‰‹้ †ใฏ **[docs/INSTALL.md](docs/INSTALL.md)** ใ‚’ๅ‚็…งใ—ใฆใใ ใ•ใ„ใ€‚**Windows ใƒฆใƒผใ‚ถใƒผ**ใฏ [Windows ใ‚ปใ‚ฏใ‚ทใƒงใƒณ](docs/INSTALL.md#windows) ใ‚’ๅ‚็…งใ€‚
67
+
68
+ **ๅ‰ๆๆกไปถ:** Node.js โ‰ฅ 18ใ€‚headless ใงใƒชใ‚ตใƒผใƒใ‚’ๅฎŸ่ตฐใ•ใ›ใ‚‹ใซใฏใ€**ใ‚คใƒณใ‚นใƒˆใƒผใƒซๆธˆใฟใ‹ใค่ช่จผๆธˆใฟใฎ Codex CLI** ใ‚‚ๅฟ…่ฆใงใ™(ๅ„ใ‚ขใƒŠใƒชใ‚นใƒˆ worker ใฏ `codex exec` ใจใ—ใฆ่ตทๅ‹•ใ—ใพใ™)ใ€‚Codex ใŒ็„กใ„ๅ ดๅˆใฏใ€ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ‚ฌใ‚คใƒ‰ใฎ **visible ใƒฏใƒผใ‚ฏใƒ•ใƒญใƒผ**ใ‚’ไฝฟใฃใฆใใ ใ•ใ„ใ€‚
69
+
70
+ ```text
71
+ # Codex
72
+ codex plugin marketplace add Zhao73/alphacouncil-agent
73
+ # ใใฎๅพŒ codex โ†’ /plugins ใงใ‚คใƒณใ‚นใƒˆใƒผใƒซ โ†’ /reload-plugins
74
+
75
+ # Claude Code
76
+ /plugin marketplace add Zhao73/alphacouncil-agent
77
+ /plugin install alphacouncil-agent@alphacouncil
78
+ /reload-plugins
79
+ ```
80
+
81
+ ## ๐Ÿš€ ไฝฟใ„ๆ–น
82
+
83
+ ใ‚จใƒผใ‚ธใ‚งใƒณใƒˆใซใใฎใพใพ่ฉฑใ—ใ‹ใ‘ใ‚‹ใ ใ‘ใ€‚@ ใงใ‚จใƒผใ‚ธใ‚งใƒณใƒˆใ‚’ๅ‘ผใณใ€ใƒ†ใ‚ฃใƒƒใ‚ซใƒผใ‚„่ณชๅ•ใ‚’ๆทปใˆใพใ™:
84
+
85
+ ```text
86
+ @alphacouncil-agent 7203.T ใ‚’ใƒญใƒณใ‚ฐ/ใ‚ทใƒงใƒผใƒˆใฎใƒ”ใƒƒใƒใจใ—ใฆๅˆ†ๆžใ—ใฆ
87
+ @alphacouncil-agent ็พๅœจใฎๆฐดๆบ–ใง AAPL ใฏ่ฒทใ„?
88
+ @alphacouncil-agent 12ใ‹ๆœˆใฎ่ฆ–็‚นใง TSLA ใจ RIVN ใ‚’ๆฏ”่ผƒใ—ใฆ
89
+ @alphacouncil-agent ใƒˆใƒจใ‚ฟ(7203)ใ‚’ๅˆ†ๆžใ—ใฆ
90
+ @alphacouncil-agent ๅธฎๆˆ‘็œ‹็œ‹ 700.HK ็Žฐๅœจ่ƒฝไธ่ƒฝไนฐ
91
+ ```
92
+
93
+ ใƒใƒฃใƒƒใƒˆไธŠใงใใฎใพใพ่ชญใ‚ใ‚‹ 1 ๆœฌใฎใƒฌใƒใƒผใƒˆใŒ่ฟ”ใฃใฆใใพใ™:
94
+
95
+ ```text
96
+ ๅˆคๅฎš:ใ‚ชใƒผใƒใƒผใ‚ฆใ‚งใ‚คใƒˆ (็ขบไฟกๅบฆ:ไธญ)
97
+ โ”œโ”€ ใ‚ขใƒŠใƒชใ‚นใƒˆไฝœๆฅญใƒญใ‚ฐ .... 11 ใฎๆ นๆ‹ ใ‚จใƒผใ‚ธใ‚งใƒณใƒˆใ€ๅ‡บๅ…ธไป˜ใไธปๅผต 38 ไปถ
98
+ โ”œโ”€ ๅผทๆฐ—ใ‚ทใƒŠใƒชใ‚ช .......... ้œ€่ฆใฎ่ปขๆ›็‚นใ€ใƒžใƒผใ‚ธใƒณๆ‹กๅคงใ€่‡ช็คพๆ ช่ฒทใ„
99
+ โ”œโ”€ ๅผฑๆฐ—ใ‚ทใƒŠใƒชใ‚ช .......... ใƒใƒชใƒฅใ‚จใƒผใ‚ทใƒงใƒณใ€้กงๅฎข้›†ไธญใ€ใ‚ตใ‚คใ‚ฏใƒซใƒชใ‚นใ‚ฏ
100
+ โ”œโ”€ ็ŸญๆœŸ / ไธญๆœŸ / ้•ทๆœŸ .... 1ใ€œ4้€ฑ ยท 3ใ€œ6ใ‹ๆœˆ ยท 12ใ‹ๆœˆใฎ่ฆ‹้€šใ—
101
+ โ”œโ”€ ใ‚ซใ‚ฟใƒชใ‚นใƒˆใจใƒชใ‚นใ‚ฏ .... ๆฑบ็ฎ—ใ€ใ‚ฌใ‚คใƒ€ใƒณใ‚นใ€่ฆๅˆถ
102
+ โ”œโ”€ ใƒ‡ใƒผใ‚ฟใฎๆฌ ่ฝ .......... ๆ˜Ž็คบ็š„ใซๅˆ—ๆŒ™ใ—ใ€ๆฑบใ—ใฆ้š ใ•ใชใ„
103
+ โ””โ”€ ๅ‡บๅ…ธใƒ†ใƒผใƒ–ใƒซ .......... ใ™ในใฆใฎไธปๅผตใ‚’ <task>:<source_id> ใซๅฏพๅฟœไป˜ใ‘
104
+ ```
105
+
106
+ ็ฐกๆฝ”ใชใƒฆใƒผใ‚ถใƒผๅ‘ใ‘่ฆ็ด„ใฏ `~/.alphacouncil-agent/runs/<run_id>/user_response.md` ใซๆ›ธใๅ‡บใ•ใ‚Œใพใ™ใ€‚
107
+ ๅฎŒๅ…จใชใƒฌใƒใƒผใƒˆใฏ `~/.alphacouncil-agent/runs/<run_id>/final_report.md` ใซๆ›ธใๅ‡บใ•ใ‚Œใ€
108
+ ๅŒใ˜ใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใซๅ„ใ‚ขใƒŠใƒชใ‚นใƒˆใฎ Markdown ใƒ•ใ‚กใ‚คใƒซใจ `artifact_index.md` ใ‚‚ไฟๅญ˜ใ•ใ‚Œใพใ™ใ€‚
109
+
110
+ ## ไฝ•ใŒใงใใ‚‹ใ‹
111
+
112
+ ๆ—ขๅฎšใฏใƒ•ใƒซๅฎŸ่กŒใงใ‚ใ‚Šใ€็ฐกๆ˜“ใ‚ตใƒžใƒชใƒผใงใฏใ‚ใ‚Šใพใ›ใ‚“๏ผš
113
+
114
+ - ๆ ชไพกใจๅ€คๅ‹•ใ
115
+ - ๆฑบ็ฎ—ใฎๆทฑๆŽ˜ใ‚Š๏ผˆๆฑบ็ฎ—่ชฌๆ˜Žไผšใ‚’ๅซใ‚€๏ผ‰
116
+ - ๅฐ†ๆฅไบˆๆƒณใ€็น”ใ‚Š่พผใพใ‚ŒใŸไธŠๆŒฏใ‚Œ/ไธ‹ๆŒฏใ‚Œ้–พๅ€คใ€ใ‚ปใƒซใ‚ตใ‚คใƒ‰ใฎๆ ผไป˜ใƒป็›ฎๆจ™ๆ ชไพกๆ”นๅฎš
117
+ - ใ‚ฏใ‚ชใƒณใƒ„ใƒ•ใ‚กใ‚ฏใ‚ฟใƒผ๏ผšใƒขใƒกใƒณใ‚ฟใƒ ใ€ใƒˆใƒฌใƒณใƒ‰ใ€ใƒœใƒฉใƒ†ใ‚ฃใƒชใƒ†ใ‚ฃใ€ๆตๅ‹•ๆ€งใ€็›ธๅฏพๅผทๅบฆใ€ๆทท้›‘ๅบฆ
118
+ - ใƒใƒชใƒฅใ‚จใƒผใ‚ทใƒงใƒณใจใƒญใƒณใ‚ฐ/ใ‚ทใƒงใƒผใƒˆ่ซ–็‚น๏ผˆๅ˜ไธ€็›ฎๆจ™ๆ ชไพกใงใฏใชใไพกๆ ผใƒฌใƒณใ‚ธ๏ผ‰
119
+ - ใƒ‹ใƒฅใƒผใ‚นใ€ๆฅญ็•Œๅ‹•ๅ‘ใ€ใ‚ตใƒ—ใƒฉใ‚คใƒใ‚งใƒผใƒณใ€็ตŒๅ–ถ้™ฃใฎ็™บ่จ€ใจ่กŒๅ‹•ใฎ็…งๅˆ
120
+ - SECๆๅ‡บๆ›ธ้กžใ€Form 4 ใ‚คใƒณใ‚ตใ‚คใƒ€ใƒผๅ–ๅผ•ใ€่‡ช็คพๆ ช่ฒทใ„ใ€ๅธŒ่–„ๅŒ–ใ€่ฒ ๅ‚ตใจ่ณ‡ๆœฌ้…ๅˆ†
121
+ - M&Aใ€ใ‚จใ‚ฏใ‚คใƒ†ใ‚ฃ/ใƒ‡ใƒƒใƒˆใƒปใƒ•ใ‚กใ‚คใƒŠใƒณใ‚นใ€่‡ช็คพๆ ช่ฒทใ„ใชใฉใฎใ‚คใƒ™ใƒณใƒˆๅˆ†ๆž
122
+ - 21ๅใฎๆŠ•่ณ‡ๅฎถใƒฌใƒณใ‚บใŒๅŒใ˜ไบ‹ๅฎŸใ‚’**็‹ฌ็ซ‹ใซ**่ชญใ‚€
123
+ - ใƒ–ใƒซใ€ใƒ™ใ‚ขใ€ใƒใƒผใƒˆใƒ•ใ‚ฉใƒชใ‚ชใƒžใƒใƒผใ‚ธใƒฃใƒผใฎ่ฃๅฎš
124
+
125
+ ๆœ€็ต‚ใƒฌใƒใƒผใƒˆใฏใƒใƒฃใƒƒใƒˆไธŠใงใใฎใพใพ่ชญใ‚ใพใ™ใ€‚ใ‚ขใƒŠใƒชใ‚นใƒˆไฝœๆฅญ่จ˜้Œฒใ€ใƒ‡ใƒผใ‚ฟใจๆๅ‡บๆ›ธ้กžใฎ่ฆ็ด„ใ€ใƒ–ใƒซ/ใƒ™ใ‚ข่จŽ่ซ–ใ€PM่ฃๅฎšใ€ใ‚จใƒณใƒˆใƒชใƒผไพกๆ ผๅธฏใ€็Ÿญไธญ้•ทๆœŸใฎ่ฆ‹ๆ–นใ€ใƒ‡ใƒผใ‚ฟใ‚ฎใƒฃใƒƒใƒ—ใ€็ขบไฟกๅบฆใ€ๅ‡บๅ…ธ่กจใ‚’ๅซใฟใพใ™ใ€‚
126
+
127
+ ## ๐Ÿ”ง ใƒ„ใƒผใƒซ โ€”โ€” 27ๅ€‹ใ€ใ™ในใฆใ‚ญใƒผไธ่ฆ
128
+
129
+ ไปฅไธ‹ใฎใ„ใšใ‚Œใ‚‚APIใ‚ญใƒผใ€ใ‚ขใ‚ซใ‚ฆใƒณใƒˆใ€่จญๅฎšใƒ•ใ‚กใ‚คใƒซใ‚’ๅฟ…่ฆใจใ—ใพใ›ใ‚“ใ€‚
130
+
131
+ | ้ ˜ๅŸŸ | ใƒ„ใƒผใƒซ | ใƒ‡ใƒผใ‚ฟใ‚ฝใƒผใ‚น |
132
+ |---|---|---|
133
+ | **ๆๅ‡บๆ›ธ้กž** | `screen_ticker` `screen_candidates` `list_us_universe` `compose_research_brief` | SEC EDGAR XBRL |
134
+ | **็ฑณๅ›ฝๅค–** | `market_financials` `market_coverage` | ๅฐๆนพ่จผๅ–ใฏใ‚ญใƒผไธ่ฆ๏ผDARTใƒปEDINETใฏ็„กๆ–™ใ‚ญใƒผ๏ผ้ฆ™ๆธฏใƒปไธญๅ›ฝใฏๆ–‡ๆ›ธใฎใฟ |
135
+ | **ๅธ‚ๅ ดใƒ‡ใƒผใ‚ฟ** | `get_quote` `get_macro_snapshot` | Yahoo / Stooqใ€ใƒžใ‚ฏใƒญ21็ณปๅˆ—๏ผ‹ๆดพ็”Ÿ5ๆŒ‡ๆจ™ |
136
+ | **ใ‚ชใƒ—ใ‚ทใƒงใƒณ** | `get_options_chain` | CBOE้…ๅปถๆฐ—้… โ€”โ€” IVใ‚ฟใƒผใƒ ๆง‹้€ ใ€25ฮ”ใ‚นใ‚ญใƒฅใƒผใ€ๅปบ็މใ€ใ‚ฐใƒชใƒผใ‚ฏใ‚น |
137
+ | **ใƒ‹ใƒฅใƒผใ‚น** | `get_news` `get_market_narrative` | Yahooใ€Google Newsใ€SEC Atomใ€FRBใ€WSJใ€CNBC |
138
+ | **ใ‚ฝใƒผใ‚ทใƒฃใƒซ** | `get_social_pulse` `verify_x_post` | Redditใ€Hacker Newsใ€Bluesky |
139
+ | **ๆฅญ็•Œ** | `industry_brief` `industry_peers` `industry_coverage` `list_industries` | ๅ…จ็ฑณๅ›ฝ็™ป้ŒฒไผๆฅญใฎSICๅˆ†้กž๏ผ‹ๅŽณ้ธใƒใƒชใƒฅใƒผใƒใ‚งใƒผใƒณๅœฐๅ›ณ |
140
+ | **ใƒฏใƒผใ‚ฏใƒ•ใƒญใƒผ** | `analyze_symbol` `plan_visible_run` `collect_evidence` `read_run` ใปใ‹9ๅ€‹ | โ€” |
141
+
142
+ **ใ‚ใˆใฆ่กŒใ‚ใชใ„ใ“ใจใ€‚** ไปฅไธ‹ใฏใ™ในใฆใƒ„ใƒผใƒซใฎๅ‡บๅŠ›่‡ชไฝ“ใซๆ˜Ž่จ˜ใ•ใ‚Œใฆใ„ใพใ™ใ€‚ไธ‹ๆตใงๅผ•็”จใ•ใ‚Œใ‚‹ใฎใฏใƒšใ‚คใƒญใƒผใƒ‰ใ ใ‹ใ‚‰ใงใ™๏ผš
143
+
144
+ - **IVใƒ‘ใƒผใ‚ปใƒณใ‚ฟใ‚คใƒซใฏ็ฎ—ๅ‡บไธ่ƒฝใ€‚** ใ‚ชใƒ—ใ‚ทใƒงใƒณใƒใ‚งใƒผใƒณใฏๅฑฅๆญดใฎใชใ„ใ‚นใƒŠใƒƒใƒ—ใ‚ทใƒงใƒƒใƒˆใงใ‚ใ‚Šใ€ใ€Œ่‡ช่บซใฎ้ŽๅŽปใจๆฏ”ในใฆ้ซ˜ใ„/ไฝŽใ„ใ€ใจใ„ใ†ไธปๅผตใฏใ™ในใฆๆœช่งฃๆฑบไบ‹้ …ใจใ—ใฆๅ ฑๅ‘Šใ•ใ‚Œใพใ™ใ€‚
145
+ - **X / Twitter ใซ็„กๆ–™ใฎๆŽข็ดข็ตŒ่ทฏใฏๅญ˜ๅœจใ—ใพใ›ใ‚“**๏ผˆ2026ๅนด7ๆœˆๆ™‚็‚น๏ผ‰ใ€‚Nitterๆคœ็ดขใฏๆฉŸ่ƒฝๅœๆญขใ€X APIใฏๆŠ•็จฟๅ˜ไฝ่ชฒ้‡‘ใ€xAIใฏๅ‘ผใณๅ‡บใ—ๅ˜ไฝ่ชฒ้‡‘ใ€‚**ใƒ—ใƒญใฎFinTwitๅฑคใฏๅฏพ่ฑกๅค–ใงใ‚ใ‚Šใ€Redditใฏใใฎไปฃๆ›ฟใซใฏใชใ‚Šใพใ›ใ‚“ใ€‚**
146
+ - **ๅ…ฅๅŠ›ใŒๆฌ ใ‘ใŸใ‚นใ‚ฏใƒชใƒผใƒ‹ใƒณใ‚ฐ่ฆๅ‰‡ใฏ `skipped` ใงใ‚ใ‚Šใ€ๆฑบใ—ใฆๅˆๆ ผๆ‰ฑใ„ใซใ—ใพใ›ใ‚“ใ€‚**
147
+ - **่งฃๆžๅฏ่ƒฝใชใ‚ฟใ‚คใƒ ใ‚นใ‚ฟใƒณใƒ—ใ‚’ๆŒใŸใชใ„ใƒ‹ใƒฅใƒผใ‚นใฏ้™คๅค–**ใ•ใ‚Œใ€ใ€Œๆœ€ๆ–ฐใ€ใจใ—ใฆ่กจ็คบใ•ใ‚Œใพใ›ใ‚“ใ€‚
148
+ - **`iv = 0` ใฎๅปบ็މใฏ้™คๅค–ใ€‚** CBOEใฏๆบ€ๆœŸๅˆฐๆฅๆธˆใฟใ‚„ใƒ‡ใ‚ฃใƒผใƒ—ITMใง0ใ‚’่ฟ”ใ—ใพใ™ใŒใ€0ใŒๅนณๅ‡ใซๆททๅ…ฅใ™ใ‚‹ใจๆฌ ๆๅ€คใงใฏใชใใ€Œ่ฝใก็€ใ„ใŸ้Š˜ๆŸ„ใ€ใซ่ฆ‹ใˆใฆใ—ใพใ„ใพใ™ใ€‚
149
+
150
+ ## ๐Ÿ›๏ธ ใƒžใ‚นใ‚ฟใƒผ้™ฃ โ€”โ€” 21ใฎใƒฌใƒณใ‚บ
151
+
152
+ ๅ…ฌ้–‹ใ•ใ‚ŒใŸๆ–นๆณ•่ซ–ใฎๅ†ๆง‹ๆˆใงใ‚ใ‚Šใ€**ๆœฌไบบใฎ็™บ่จ€ใงใฏไธ€ๅˆ‡ใ‚ใ‚Šใพใ›ใ‚“**ใ€‚ๅ„ใƒฌใƒณใ‚บใฏ่‡ชใ‚‰ใฎๆ€่€ƒ้ †ๅบใ€ๆœ€ๅˆใซ่ฆ‹ใ‚‹ใ‚‚ใฎใ€ๅ…ธๅž‹็š„ใชๅ•ใ„ใ‹ใ‘ใ€ใใ—ใฆ**่‡ช่บซใฎๅคฑๆ•—ใƒขใƒผใƒ‰**ใ‚’ๆ˜Ž็คบใ—ใพใ™ โ€”โ€” ่‡ชๅˆ†ใŒใฉใ†้–“้•ใ†ใ‹่จ€ใˆใชใ„ๅธญใฏใ€้–“้•ใฃใŸใจใใซๆ‰‹ใ‚’ๆŒ™ใ’ใพใ›ใ‚“ใ€‚
153
+
154
+ | ๅ็ฐฟ | ใƒฌใƒณใ‚บ |
155
+ |---|---|
156
+ | ใƒใƒชใƒฅใƒผ | ใƒใƒ•ใ‚งใƒƒใƒˆ ยท ใƒžใƒณใ‚ฌใƒผ ยท ๆฎตๆฐธๅนณ ยท ๆŽ้Œฒ |
157
+ | ๅคๅ…ธใƒใƒชใƒฅใƒผ | ใ‚ฐใƒฌใ‚ขใƒ  ยท ใƒ•ใ‚ฃใƒƒใ‚ทใƒฃใƒผ ยท ใƒชใƒณใƒ ยท ใƒžใƒผใ‚ฏใ‚น ยท ใ‚ฏใƒฉใƒผใƒžใƒณ |
158
+ | ๅฏพๆŠ— | ใ‚ฝใƒญใ‚น ยท ใƒ‰ใƒฉใƒƒใ‚ฑใƒณใƒŸใƒฉใƒผ ยท ใƒ€ใƒชใ‚ช ยท ใƒใƒผใƒช ยท ใ‚ทใƒงใƒผใƒˆใ‚ปใƒฉใƒผ |
159
+ | ใ‚ฏใ‚ชใƒณใƒ„ | ใ‚ตใ‚คใƒขใƒณใ‚บ ยท ใ‚ขใ‚นใƒใ‚น ยท ใ‚ฝใƒผใƒ— |
160
+ | ใ‚ชใƒ—ใ‚ทใƒงใƒณ | ใ‚ฟใƒฌใƒ– ยท ใƒŠใ‚ฟใƒณใƒใƒผใ‚ฐ ยท ใ‚ทใƒณใ‚ฏใƒฌใ‚ข |
161
+ | ็พไปฃ | ใ‚ขใƒƒใ‚ทใ‚งใƒณใƒ–ใƒฌใƒŠใƒผ |
162
+
163
+ ใƒžใ‚นใ‚ฟใƒผใฏใ‚ขใƒŠใƒชใ‚นใƒˆใจ**ๅŒใ˜็ขบๅฎšไบ‹ๅฎŸ**๏ผˆๆๅ‡บๆ›ธ้กžใ€ๆ ชไพกใ€่ฒกๅ‹™ใ€ใƒžใ‚ฏใƒญ๏ผ‰ใ‚’่ชญใฟใพใ™ใ€‚ใ‚ขใƒŠใƒชใ‚นใƒˆใฎใƒ‘ใ‚ฑใƒƒใƒˆใฏๅˆฅ้€”ใ€ใ€Œไบ‹ๅฎŸใงใฏใชใไป–ๅธญใฎ่งฃ้‡ˆใ€ใจใ—ใฆๆ˜Ž็คบใฎใ†ใˆๆธกใ•ใ‚Œใพใ™ใ€‚ใ“ใฎๅˆ†้›ขใ“ใใŒ่ฆ็‚นใงใ™๏ผšใ‚ขใƒŠใƒชใ‚นใƒˆใŒ็ฒ—ๅˆฉ็އใ‚’่ฆ‹ใŸ็ฎ‡ๆ‰€ใงใƒžใƒณใ‚ฌใƒผใฏใ‚คใƒณใ‚ปใƒณใƒ†ใ‚ฃใƒ–ๆง‹้€ ใ‚’่ฆ‹ใ‚‹ โ€”โ€” ใใ‚Œใžใ‚ŒใŒ็‹ฌ่‡ชใซๅ–ๆจ้ธๆŠžใ—ใฆใ“ใใ€ใ“ใฎ้™ฃๅฎนใซๆ„ๅ‘ณใŒใ‚ใ‚Šใพใ™ใ€‚่ฉณ็ดฐใฏ [docs/attribution.md](docs/attribution.md)ใ€‚
164
+
165
+ ## ๐Ÿงฉ ใ‚ขใƒผใ‚ญใƒ†ใ‚ฏใƒใƒฃ
166
+
167
+ ```mermaid
168
+ flowchart TD
169
+ U["@alphacouncil-agent"] --> G[("Established facts<br/>filings ยท quotes ยท macro ยท options")]
170
+ G --> AG{{"Analyst council"}}
171
+ G --> MS{{"Master bench<br/>21 lenses"}}
172
+ AG --> A1["Market data"]
173
+ AG --> A2["Earnings"]
174
+ AG --> A3["Valuation"]
175
+ AG --> A4["Quant factors"]
176
+ AG --> A5["Insider / SEC"]
177
+ AG --> A6["News / narrative"]
178
+ A1 --> EV[("Evidence base")]
179
+ A2 --> EV
180
+ A3 --> EV
181
+ A4 --> EV
182
+ A5 --> EV
183
+ A6 --> EV
184
+ EV -.->|"interpretation,<br/>not fact"| MS
185
+ EV --> VF{{"Verifiers"}}
186
+ VF -->|"failed checks<br/>down-weight the seat"| PM
187
+ MS --> BULL["Bull"]
188
+ MS --> BEAR["Bear"]
189
+ EV --> BULL
190
+ EV --> BEAR
191
+ BULL --> PM{{"Portfolio manager"}}
192
+ BEAR --> PM
193
+ PM --> R[["final_report.md"]]
194
+ ```
195
+
196
+ ใƒžใ‚นใ‚ฟใƒผใฏไบ‹ๅฎŸใ‹ใ‚‰ๅˆ†ๅฒใ—ใ€ใ‚ขใƒŠใƒชใ‚นใƒˆใฎใƒ‘ใ‚ฑใƒƒใƒˆใ‹ใ‚‰ใฏๅˆ†ๅฒใ—ใพใ›ใ‚“ใ€‚21ใฎใƒฌใƒณใ‚บใซไธ€ไบบใฎใ‚ขใƒŠใƒชใ‚นใƒˆใฎๅ–ๆจ้ธๆŠžใ‚’ไธŽใˆใ‚Œใฐใ€ๅ…จๅ“กใŒๅŒใ˜็›ฒ็‚นใ‚’ๅ…ฑๆœ‰ใ—ใพใ™ โ€”โ€” ๅคงใใใ€ใ‹ใคๅฎŒๅ…จใซ็›ธ้–ขใ—ใŸ่ชคๅทฎใงใ‚ใ‚Šใ€้™ฃๅฎนใ‚’ๆŒใค็†็”ฑใใฎใ‚‚ใฎใŒๅคฑใ‚ใ‚Œใพใ™ใ€‚
197
+
198
+ ไธป่ฆใƒ•ใ‚กใ‚คใƒซ:
199
+
200
+ - `.codex-plugin/plugin.json` โ€”โ€” Codex ใƒ—ใƒฉใ‚ฐใ‚คใƒณใฎใƒกใ‚ฟใƒ‡ใƒผใ‚ฟ
201
+ - `.claude-plugin/plugin.json` โ€”โ€” Claude Code ใƒ—ใƒฉใ‚ฐใ‚คใƒณใฎใƒžใƒ‹ใƒ•ใ‚งใ‚นใƒˆ
202
+ - `.mcp.json` โ€”โ€” MCP server ใฎ้…็ทš
203
+ - `skills/alphacouncil-agent/SKILL.md` โ€”โ€” ๅฎŸ่กŒๆ™‚ใฎๆŒ‡็คบ
204
+ - `mcp/server.mjs` โ€”โ€” JSON-RPC MCP server ใจใƒฏใƒผใ‚ฏใƒ•ใƒญใƒผๅฎŸ่ฃ…
205
+ - `scripts/selfcheck.mjs` โ€”โ€” ๆœ€ๅฐ้™ใฎๅ›žๅธฐใ‚ปใƒซใƒ•ใƒใ‚งใƒƒใ‚ฏ
206
+
207
+ ## ๐Ÿ†š Codex ็‰ˆ vs Claude Code ็‰ˆ
208
+
209
+ ไธก็‰ˆใฏใƒฏใƒผใ‚ฏใƒ•ใƒญใƒผใ€JSON ใƒ‘ใ‚ฑใƒƒใƒˆๅฅ‘็ด„ใ€็›ฃๆŸป็”จๆˆๆžœ็‰ฉใ€API ใ‚ญใƒผไธ่ฆใฎใƒฉใ‚คใƒ– Web ๅ–่จผใƒขใƒ‡ใƒซใ€ๅ…่ฒฌไบ‹้ …ใ‚’ๅ…ฑๆœ‰ใ—ใพใ™ใ€‚Claude Code ็‰ˆใฏๅง”ๅ“กไผšใฎใ€Œ**ๅ‹•ใ‹ใ—ๆ–น**ใ€ใ ใ‘ใ‚’ๅค‰ใˆใพใ™ใ€‚
210
+
211
+ | | Codex ็‰ˆ | Claude Code ็‰ˆ |
212
+ |---|---|---|
213
+ | ๅง”ๅ“กไผšใฎๅฎŸ่กŒ | `codex exec` ใƒฏใƒผใ‚ซใƒผใ€ๅŒๆ™‚ๅฎŸ่กŒใซไธŠ้™ | 11 ใ‚ขใƒŠใƒชใ‚นใƒˆใ‚’ไธฆๅˆ— `Task` ใ‚ตใƒ–ใ‚จใƒผใ‚ธใ‚งใƒณใƒˆใจใ—ใฆไธ€ๆ‹ฌ่ตทๅ‹• |
214
+ | ใ‚ขใƒŠใƒชใ‚นใƒˆใ”ใจใฎๆ–‡่„ˆ | ๅˆฅใƒ—ใƒญใ‚ปใ‚น | ๅˆฅใ‚ตใƒ–ใ‚จใƒผใ‚ธใ‚งใƒณใƒˆใ€ใใ‚Œใžใ‚Œ็‹ฌ็ซ‹ใ—ใŸๅฎŒๅ…จใชๆ–‡่„ˆใ‚ฆใ‚ฃใƒณใƒ‰ใ‚ฆ |
215
+ | ๅ–่จผ | `codex exec --search` | ๅ„ใ‚ขใƒŠใƒชใ‚นใƒˆ่‡ช่บซใฎๆ–‡่„ˆใง `WebSearch` + `WebFetch` |
216
+ | ๆ นๆ‹  โ†’ ใƒ‡ใ‚ฃใƒ™ใƒผใƒˆ | ้€ๆฌก | ๅฎŸ่กŒใƒ•ใ‚งใƒผใ‚บใƒžใ‚ทใƒณใซใ‚ˆใ‚‹ใƒใƒผใƒ‰ใƒใƒชใ‚ข |
217
+ | ใƒ‡ใ‚ฃใƒ™ใƒผใƒˆใฎๆทฑใ• | 3 ใƒฉใ‚ฆใƒณใƒ‰(ไธปๅผต/ๅ่ซ–/Q&A)ใ€server ๅฎŸ่กŒ | 3 ใƒฉใ‚ฆใƒณใƒ‰ใ€ๅ„ใƒฉใ‚ฆใƒณใƒ‰ใงๅผทๆฐ—ใƒปๅผฑๆฐ—ใ‚’ไธฆๅˆ— |
218
+ | ไธปๅผตใฎๆคœ่จผ | ๆฌ ่ฝใ‚ฝใƒผใ‚นใ‚ฒใƒผใƒˆ(ๅฎŸ่กŒใซใƒ•ใƒฉใ‚ฐ + ใƒฌใƒใƒผใƒˆใซใƒใƒŠใƒผ) | + ไธปๅผตใ”ใจใฎๆ•ตๅฏพ็š„ๆคœ่จผ:ๅผ•็”จ URL ใฎๅ†ๅ–ๅพ—ใƒปๅ†ๅฐŽๅ‡บใƒปๅ่จผ *(ใƒ›ใ‚นใƒˆ้ง†ๅ‹•)* |
219
+ | ๅฎŒๅ…จๅฎŸ่กŒใฎๅผทๅˆถ | ไธๅฎŒๅ…จใชๅฎŸ่กŒใ‚’ `incomplete` ใจใƒžใƒผใ‚ฏ(server ใ‚ฒใƒผใƒˆ) | ๅŒใ‚ฒใƒผใƒˆ + ใƒ‡ใ‚ฃใƒ™ใƒผใƒˆๅ‰ใฎใƒใƒผใƒ‰ใƒใƒชใ‚ข |
220
+ | ใƒขใƒ‡ใƒซใจใ‚ณใ‚นใƒˆ | ๅ˜ไธ€ใƒขใƒ‡ใƒซ | **ๅฝนๅ‰ฒใ”ใจใซ้ธๆŠž** โ€” ๅ–่จผใฏ Sonnetใ€ใƒ‡ใ‚ฃใƒ™ใƒผใƒˆ/ๅˆคๅฎšใฏ Opus 4.8(ๅ…จ Opus / ๅ…จ Sonnet ใ‚‚ๅฏ) |
221
+ | ่จ€่ชž | ใƒฆใƒผใ‚ถใƒผใฎ่จ€่ชž | ๅ…จใ‚ตใƒ–ใ‚จใƒผใ‚ธใ‚งใƒณใƒˆ + ใƒฉใ‚คใƒ– workflow ใ‚’้€šใ˜ใฆใƒฆใƒผใ‚ถใƒผใฎ่จ€่ชž |
222
+
223
+ **ๆญฃ็›ดใชใ‚นใ‚ณใƒผใƒ—:** ๅŒใ˜ใƒขใƒ‡ใƒซใƒ•ใ‚กใƒŸใƒชใƒผใƒปๅŒใ˜ใƒ—ใƒญใƒณใƒ—ใƒˆใƒปๅŒใ˜็›ฃๆŸปๅฅ‘็ด„ โ€”โ€” ๅผทใฟใฏๆ–‡่„ˆใฎๅˆ†้›ขใ€ๅธธๆ™‚ไธฆๅˆ—ใƒ•ใ‚กใƒณใ‚ขใ‚ฆใƒˆใ€ๆฑบๅฎš็š„ใ‚ฒใƒผใƒˆใงใ‚ใ‚Šใ€ใ‚ˆใ‚Š่ณขใ„ใƒขใƒ‡ใƒซใงใฏใ‚ใ‚Šใพใ›ใ‚“ใ€‚**v0.3.0** ไปฅ้™ใ€ๅ…ฑๆœ‰ server ใฏ 3 ใƒฉใ‚ฆใƒณใƒ‰ใฎใƒ‡ใ‚ฃใƒ™ใƒผใƒˆใ€ใ€Œๆฌ ่ฝใ‚ฝใƒผใ‚น / ๅฎŒๅ…จๅฎŸ่กŒ / ใƒฌใƒใƒผใƒˆๅ“่ณชใ€ใฎใ‚ฒใƒผใƒˆใ€็ฐกๆฝ”ใชๅผ•ใๆธกใ—่ฆ็ด„ใ€ๅฎŒๅ…จใƒฌใƒใƒผใƒˆใ€ใƒ•ใ‚กใ‚คใƒซ็ดขๅผ•ใ€Windows ใƒใ‚คใƒ†ใ‚ฃใƒ– Codex CLI ่ตทๅ‹•ใ‚’ๆไพ›ใ—ใพใ™ใ€‚**v0.3.1** ไปฅ้™ใ€`addyosmani/agent-skills` ใ‚นใ‚ฟใ‚คใƒซใฎๅœๆญขใ‚ฒใƒผใƒˆใจๅฎŒไบ†ๅŸบๆบ–ใ‚’ๆŒใค `agent-skills-governance` skill ใ‚‚ๅŒๆขฑใ—ใพใ™ใ€‚Claude Code ็‰ˆใฏใ•ใ‚‰ใซใƒฉใ‚ฆใƒณใƒ‰ใ”ใจใฎไธฆๅˆ—ๅฎŸ่กŒใจใƒ›ใ‚นใƒˆ้ง†ๅ‹•ใฎไธปๅผตใ”ใจๆคœ่จผใ‚’่ฟฝๅŠ ใ—ใพใ™ใ€‚ใƒฉใ‚คใƒ– Web ใฎ้ฎฎๅบฆใจใƒšใ‚คใ‚ฆใ‚ฉใƒผใƒซใฏไธก็‰ˆใซ็ญ‰ใ—ใๅฝ“ใฆใฏใพใ‚Šใพใ™ใ€‚
224
+
225
+ ## ใƒ‡ใƒผใ‚ฟๅฅ‘็ด„
226
+
227
+ ๆ นๆ‹ ใ‚ตใƒ–ใ‚จใƒผใ‚ธใ‚งใƒณใƒˆใฏ JSON ใƒ‘ใ‚ฑใƒƒใƒˆใ‚’่ฟ”ใ—ใพใ™:
228
+
229
+ ```json
230
+ {
231
+ "task": "market_data",
232
+ "symbol": "7203.T",
233
+ "as_of": "YYYY-MM-DD",
234
+ "summary": "string",
235
+ "claims": [
236
+ { "claim": "string", "evidence": "string", "confidence": "high|medium|low", "source_ids": ["market_data:S1"] }
237
+ ],
238
+ "metrics": {},
239
+ "sources": [
240
+ { "id": "market_data:S1", "title": "string", "url": "https://example.com", "published_at": "YYYY-MM-DD or unknown", "retrieved_at": "YYYY-MM-DD" }
241
+ ],
242
+ "open_questions": ["missing data item"],
243
+ "confidence": "high|medium|low"
244
+ }
245
+ ```
246
+
247
+ ใ™ในใฆใฎ source ID ใฏ `<task>:<source_id>` ใฎใ‚ฐใƒญใƒผใƒใƒซใ‚นใ‚ณใƒผใƒ—ใงใ™ใ€‚ๆฌ ่ฝใƒ‡ใƒผใ‚ฟใฏ `open_questions` ใซ่จ˜่ผ‰ใ—ใ€ๆœ€็ต‚ใƒฌใƒใƒผใƒˆใฎใƒ‡ใƒผใ‚ฟๆฌ ่ฝใ‚ปใ‚ฏใ‚ทใƒงใƒณใซใ‚‚ๅๆ˜ ใ™ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚Šใพใ™ใ€‚
248
+
249
+ ## ใƒญใƒผใ‚ซใƒซๅฎŸ่กŒ
250
+
251
+ ```bash
252
+ npm run check
253
+ ```
254
+
255
+ ใ‚ปใƒซใƒ•ใƒใ‚งใƒƒใ‚ฏใฎๆคœ่จผๅ†…ๅฎน:MCP server ใฎๆง‹ๆ–‡ใ€ใƒ„ใƒผใƒซ schema ใฎๅ…ฌ้–‹ใ€source ID ใฎใ‚นใ‚ณใƒผใƒ—ใ€ใƒ‡ใƒ•ใ‚ฉใƒซใƒˆใฎๅฎŸ่ตฐๆŒ™ๅ‹•ใ€ๅฏ่ฆ–ใƒฉใƒณใฎ่จ˜้Œฒใ€`events.jsonl`/`status.json`/`all_agents.md`/`source_manifest.json`ใ€`final_report.md`/`user_response.md`/`artifact_index.md`/`report_quality.json`ใ€ใ‚ขใƒŠใƒชใ‚นใƒˆ Markdown ใƒ•ใ‚กใ‚คใƒซใ€ใŠใ‚ˆใณๆœ€็ต‚ใƒฌใƒใƒผใƒˆใฎๅฟ…้ ˆใ‚ปใ‚ฏใ‚ทใƒงใƒณใ€‚
256
+
257
+ ## ๅ‚™่€ƒ
258
+
259
+ ใ“ใ‚Œใฏ็‹ฌ็ซ‹ใ—ใŸใƒ—ใƒฉใ‚ฐใ‚คใƒณๅฎŸ่ฃ…ใงใ€ใƒžใƒซใƒใ‚จใƒผใ‚ธใ‚งใƒณใƒˆใฎๆŠ•่ณ‡ๅง”ๅ“กไผšใƒฏใƒผใ‚ฏใƒ•ใƒญใƒผ(ใ‚ขใƒŠใƒชใ‚นใƒˆใƒใƒผใƒ ใ€ๆ นๆ‹ ใฎๅ…ฑๆœ‰ใ€ๅผทๆฐ—/ๅผฑๆฐ—ใƒ‡ใ‚ฃใƒ™ใƒผใƒˆใ€ใƒใƒผใƒˆใƒ•ใ‚ฉใƒชใ‚ชใƒžใƒใƒผใ‚ธใƒฃใƒผใซใ‚ˆใ‚‹็ตฑๅˆ)ใ‚’ๆŽก็”จใ—ใฆใ„ใพใ™ใ€‚
260
+
261
+ API ใ‚ญใƒผใ€่จผๅˆธๅฃๅบงใฎ่ช่จผๆƒ…ๅ ฑใ€้žๅ…ฌ้–‹ๆ›ธ้กžใ€็”Ÿๆˆใ•ใ‚ŒใŸๅฎŸ่กŒๆˆๆžœ็‰ฉใฏๆฑบใ—ใฆใ‚ณใƒŸใƒƒใƒˆใ—ใชใ„ใงใใ ใ•ใ„ใ€‚
262
+
263
+ ## โญ Star ๆŽจ็งป
264
+
265
+ <div align="center">
266
+
267
+ <a href="https://star-history.com/#Zhao73/alphacouncil-agent&Date">
268
+ <img src="https://api.star-history.com/svg?repos=Zhao73/alphacouncil-agent&type=Date" width="640" alt="Star History Chart" />
269
+ </a>
270
+
271
+ <br/><br/>
272
+
273
+ <picture>
274
+ <source media="(prefers-color-scheme: dark)" srcset="assets/logo-dark.png" />
275
+ <img src="assets/logo.png" alt="AlphaCouncil" width="120" />
276
+ </picture>
277
+
278
+ AlphaCouncil ใŒๅฝนใซ็ซ‹ใฃใŸใ‚‰ใ€โญ ใ‚’ใ„ใŸใ ใ‘ใ‚‹ใจๅŠฑใฟใซใชใ‚Šใพใ™ใ€‚
279
+
280
+ <a href="#readme-top">โ†‘ ใƒˆใƒƒใƒ—ใซๆˆปใ‚‹</a>
281
+
282
+ </div>
package/README.md ADDED
@@ -0,0 +1,361 @@
1
+ <a name="readme-top"></a>
2
+
3
+ <div align="center">
4
+
5
+ <img src="assets/banner.png" alt="AlphaCouncil Agent" width="100%" />
6
+
7
+ <p>
8
+ <img src="https://readme-typing-svg.demolab.com?font=Fira+Code&size=20&duration=2800&pause=700&color=1A7A6A&center=true&vCenter=true&width=620&lines=Spawn+a+council+of+analyst+agents;Gather+sourced+evidence%2C+hide+nothing;Run+a+bull+vs+bear+debate;Get+a+PM+verdict%3A+Buy+%C2%B7+Hold+%C2%B7+Sell" alt="tagline" />
9
+ </p>
10
+
11
+ **English** ยท [ไธญๆ–‡](README.zh-CN.md) ยท [ๆ—ฅๆœฌ่ชž](README.ja.md)
12
+
13
+ <p>
14
+ <img src="https://img.shields.io/github/actions/workflow/status/Zhao73/alphacouncil-agent/check.yml?style=for-the-badge&label=build&logo=githubactions&logoColor=white&color=1a7a6a" alt="build" />
15
+ <img src="https://img.shields.io/badge/License-MIT-c9a227?style=for-the-badge" alt="MIT" />
16
+ <img src="https://img.shields.io/badge/Node-%3E%3D18-339933?style=for-the-badge&logo=node.js&logoColor=white" alt="node" />
17
+ <img src="https://img.shields.io/github/stars/Zhao73/alphacouncil-agent?style=for-the-badge&logo=github&color=0d4d4d" alt="stars" />
18
+ </p>
19
+ <p>
20
+ <img src="https://img.shields.io/badge/OpenAI_Codex-412991?style=for-the-badge&logo=openai&logoColor=white" alt="codex" />
21
+ <img src="https://img.shields.io/badge/Claude_Code-D97757?style=for-the-badge&logo=anthropic&logoColor=white" alt="claude code" />
22
+ <img src="https://img.shields.io/badge/OpenCode-1a7a6a?style=for-the-badge&logoColor=white" alt="opencode" />
23
+ <img src="https://img.shields.io/badge/Grok_Build-000000?style=for-the-badge&logo=x&logoColor=white" alt="grok build" />
24
+ </p>
25
+ <p>
26
+ <img src="https://img.shields.io/badge/MCP-compatible-000000?style=for-the-badge" alt="mcp" />
27
+ <img src="https://img.shields.io/badge/API_keys-none_required-2ea043?style=for-the-badge" alt="no api keys" />
28
+ <img src="https://img.shields.io/badge/dependencies-zero-2ea043?style=for-the-badge" alt="zero dependencies" />
29
+ </p>
30
+
31
+ <p>
32
+ <a href="docs/INSTALL.md"><b>Install</b></a> ยท
33
+ <a href="#-usage"><b>Usage</b></a> ยท
34
+ <a href="#-tools--27-all-keyless"><b>Tools</b></a> ยท
35
+ <a href="#-the-bench--21-investor-lenses"><b>The bench</b></a> ยท
36
+ <a href="#-architecture"><b>Architecture</b></a> ยท
37
+ <a href="CHANGELOG.md"><b>Changelog</b></a> ยท
38
+ <a href="#-disclaimer"><b>Disclaimer</b></a>
39
+ </p>
40
+
41
+ </div>
42
+
43
+ ---
44
+
45
+ <div align="center">
46
+
47
+ <img src="assets/run-example.png" alt="A real AlphaCouncil run: six master lenses reaching the same call for different reasons" width="100%" />
48
+
49
+ <sub><i>A real run. Six lenses, none constructive โ€” and the disagreement is in the reasons, not the call.</i></sub>
50
+
51
+ </div>
52
+
53
+ AlphaCouncil Agent is a Codex and Claude Code plugin for full public-equity research workflows. It coordinates multiple analyst agents, gathers sourced evidence, runs bull/bear debate, and produces a portfolio-manager style final report.
54
+
55
+ ### โœจ Why AlphaCouncil
56
+
57
+ | | |
58
+ |---|---|
59
+ | ๐Ÿ›๏ธ **A council, not one opinion** | Eight specialist analysts by default, eleven available โ€” market data, earnings, forward expectations, quant, valuation, news and supply chain, insider/SEC, IB events, macro, narrative, crowding. |
60
+ | ๐ŸŽญ **21 investor lenses that disagree** | Buffett, Munger, Graham, Lynch, Marks, Klarman, Soros, Dalio, Burry, Simons, Thorp, Taleb and more read the **same facts** and reach different conclusions. Each names its own failure mode, because a seat that cannot say how it goes wrong will not flag it when it does. |
61
+ | ๐Ÿ‚๐Ÿป **Adversarial by design** | A structured bull vs bear debate, refereed by a portfolio manager who issues an actual rating โ€” and three verifiers that re-source, re-derive and attack every load-bearing claim. A failed check **down-weights the seat that made it**. |
62
+ | ๐Ÿ” **Auditable, never hallucinated** | Every claim maps to a source ID. A screen rule with missing inputs is `skipped`, never a pass. An undated headline is excluded, not shown as recent. Gaps are a section, not an omission. |
63
+ | ๐Ÿ’ฐ **Entry price bands, not one number** | Three conditional bands with what each depends on. "The cycle position is undetermined" changes what the bands are conditional on; it does not excuse leaving them out. |
64
+ | ๐Ÿ”‘ **27 tools, zero API keys, zero dependencies** | SEC EDGAR, CBOE options, Yahoo/Stooq quotes, 21 macro series, news and social โ€” all keyless. `node mcp/server.mjs` and nothing else. |
65
+ | ๐Ÿ–ฅ๏ธ **One council on four hosts** | Claude Code, Codex, OpenCode and Grok Build run the **same** workflow, the same bench and the same gates. |
66
+
67
+ This repository is the uploadable source copy. Runtime outputs are written outside the repo under `~/.alphacouncil-agent/runs/<run_id>/`.
68
+
69
+ ## ๐Ÿ“œ Disclaimer
70
+
71
+ This software is for **educational and research purposes only**. It is **not
72
+ investment advice**, not a recommendation to buy or sell any security, and not a
73
+ solicitation. AI-generated analysis can be incomplete, outdated, or wrong. Do
74
+ your own research and consult a licensed financial professional before making any
75
+ investment decision. The authors accept no liability for any loss.
76
+
77
+ ## Install
78
+
79
+ See **[docs/INSTALL.md](docs/INSTALL.md)** for full Codex and Claude Code setup. **Windows users:** see the [Windows section](docs/INSTALL.md#windows).
80
+
81
+ **Prerequisites:** Node.js >= 18. The headless research path also needs an
82
+ installed, authenticated **Codex CLI** (each analyst worker runs as `codex
83
+ exec`). On Windows, v0.3.0+ launches the CLI through `cmd.exe` and feeds prompts
84
+ over stdin so native `codex.cmd` installs work without WSL in the normal case.
85
+
86
+ ```text
87
+ # Codex
88
+ codex plugin marketplace add Zhao73/alphacouncil-agent
89
+ # then run `codex`, open /plugins, install, and /reload-plugins
90
+
91
+ # Claude Code
92
+ /plugin marketplace add Zhao73/alphacouncil-agent
93
+ /plugin install alphacouncil-agent@alphacouncil
94
+ /reload-plugins
95
+ ```
96
+
97
+ ## ๐Ÿš€ Usage
98
+
99
+ Just talk to it. Mention the agent and a ticker or a question:
100
+
101
+ ```text
102
+ @alphacouncil-agent analyze AAPL as a long/short pitch
103
+ @alphacouncil-agent is AAPL a buy at current levels?
104
+ @alphacouncil-agent compare TSLA vs RIVN for a 12-month horizon
105
+ @alphacouncil-agent ๅธฎๆˆ‘็œ‹็œ‹ 700.HK ็Žฐๅœจ่ƒฝไธ่ƒฝไนฐ
106
+ @alphacouncil-agent ใƒˆใƒจใ‚ฟ(7203)ใ‚’ๅˆ†ๆžใ—ใฆ
107
+ ```
108
+
109
+ You get back a single, chat-readable report:
110
+
111
+ ```text
112
+ VERDICT: Overweight (confidence: medium)
113
+ โ”œโ”€ Analyst work log ........ 11 evidence agents, 38 sourced claims
114
+ โ”œโ”€ Bull thesis ............. demand inflection, margin expansion, buyback
115
+ โ”œโ”€ Bear thesis ............. valuation, customer concentration, cycle risk
116
+ โ”œโ”€ Short / medium / long ... 1-4wk ยท 3-6mo ยท 12mo views
117
+ โ”œโ”€ Catalysts & risks ....... earnings, guidance, regulatory
118
+ โ”œโ”€ Data gaps ............... explicitly listed, never hidden
119
+ โ””โ”€ Source table ............ every claim mapped to <task>:<source_id>
120
+ ```
121
+
122
+ The concise handoff is written to `~/.alphacouncil-agent/runs/<run_id>/user_response.md`.
123
+ The full report is written to `~/.alphacouncil-agent/runs/<run_id>/final_report.md`,
124
+ with analyst Markdown files and `artifact_index.md` in the same run directory.
125
+
126
+ ## What It Does
127
+
128
+ Default stock-analysis runs are full runs, not lite summaries:
129
+
130
+ - Market data and price action
131
+ - Earnings deep dive, including the earnings call
132
+ - Forward expectations, implied beat/miss thresholds, and sell-side target revisions
133
+ - Quant factor view: momentum, trend, volatility, liquidity, relative strength, crowding
134
+ - Valuation and long/short pitch, with price bands rather than a single target
135
+ - News, industry context, supply chain, and management's words checked against their actions
136
+ - SEC filings, Form 4 insider transactions, buybacks, dilution, debt and capital allocation
137
+ - Investment-banking event analysis for M&A, ECM, debt, buybacks and strategic transactions
138
+ - A bench of 21 investor lenses reading the same facts independently
139
+ - Bull researcher, bear researcher and portfolio-manager synthesis
140
+
141
+ The final report is readable directly in chat. It carries analyst work logs, data and filing
142
+ summaries, the bull/bear debate, the PM verdict, entry price bands, short/medium/long-term
143
+ views, data gaps, confidence and a source table.
144
+
145
+ ## ๐Ÿ”ง Tools โ€” 27, all keyless
146
+
147
+ Nothing below needs an API key, an account, or a config file. Install and run.
148
+
149
+ | Area | Tools | Source |
150
+ |---|---|---|
151
+ | **Filings** | `screen_ticker` `screen_candidates` `list_us_universe` `compose_research_brief` | SEC EDGAR XBRL |
152
+ | **Non-US filings** | `market_financials` `market_coverage` | TWSE keyless; DART/EDINET on a free key; HK/CN documents only |
153
+ | **Market data** | `get_quote` `get_macro_snapshot` | Yahoo / Stooq, 21 macro series + 5 derived |
154
+ | **Options** | `get_options_chain` | CBOE delayed quotes โ€” IV term structure, 25-delta skew, open interest, Greeks |
155
+ | **News** | `get_news` `get_market_narrative` | Yahoo, Google News, SEC Atom, Fed, WSJ, CNBC |
156
+ | **Social** | `get_social_pulse` `verify_x_post` | Reddit, Hacker News, Bluesky |
157
+ | **Industry** | `industry_brief` `industry_peers` `industry_coverage` `list_industries` | SIC across all US filers + curated maps |
158
+ | **Workflow** | `analyze_symbol` `plan_visible_run` `collect_evidence` `read_run` and 5 more | โ€” |
159
+
160
+ **What it deliberately will not do.** Every one of these is stated in the tool output itself,
161
+ not only in the docs, because the payload is what gets quoted downstream:
162
+
163
+ - **IV percentile is not computable.** The chain is a snapshot with no history, so any claim
164
+ that volatility is high or low against its own past is reported as an open question.
165
+ - **X / Twitter has no free discovery channel** as of 2026-07. Nitter search is dead, the X
166
+ API bills per post and xAI bills per call. Professional FinTwit is **not** covered, and
167
+ Reddit is not a substitute for it.
168
+ - **A screen rule whose inputs are missing is `skipped`, never a pass.**
169
+ - **A news item with no parsable timestamp is excluded**, not shown as recent.
170
+ - **A contract reporting `iv = 0`** โ€” CBOE does this for expired and deep-in-the-money
171
+ contracts โ€” is dropped rather than averaged in, because a zero does not look like a gap,
172
+ it looks like a calm stock.
173
+
174
+ ## ๐Ÿ›๏ธ The bench โ€” 21 investor lenses
175
+
176
+ Reconstructions of publicly documented methods, not anything the named people said. Each
177
+ states how it thinks, what it notices first, its characteristic challenge, and **its own
178
+ failure mode** โ€” a seat that cannot name how it goes wrong will not flag it when it does.
179
+
180
+ | Roster | Lenses |
181
+ |---|---|
182
+ | Value | Buffett ยท Munger ยท Duan Yongping ยท Li Lu |
183
+ | Classic value | Graham ยท Fisher ยท Lynch ยท Marks ยท Klarman |
184
+ | Adversarial | Soros ยท Druckenmiller ยท Dalio ยท Burry ยท short seller |
185
+ | Quant | Simons ยท Asness ยท Thorp |
186
+ | Options | Taleb ยท Natenberg ยท Sinclair |
187
+ | Modern | Aschenbrenner |
188
+
189
+ Masters read the **same established facts** the analysts read โ€” filings, quotes, financials,
190
+ macro โ€” and receive the analyst packets separately, labelled as other seats' readings rather
191
+ than as fact. That separation is the point: the bench is worth having only because Munger
192
+ looks at incentives where an analyst looked at margins. See [docs/attribution.md](docs/attribution.md).
193
+
194
+ ## ๐Ÿงฉ Architecture
195
+
196
+ ```mermaid
197
+ flowchart TD
198
+ U["@alphacouncil-agent<br/>ticker / question"] --> G[("Established facts<br/>filings ยท quotes ยท macro ยท options")]
199
+ G --> AG{{"Analyst council"}}
200
+ G --> MS{{"Master bench<br/>21 lenses"}}
201
+ AG --> A1["๐Ÿ“ˆ Market data"]
202
+ AG --> A2["๐Ÿ’ฐ Earnings"]
203
+ AG --> A3["โš–๏ธ Valuation"]
204
+ AG --> A4["๐Ÿงฎ Quant factors"]
205
+ AG --> A5["๐Ÿ›๏ธ Insider / SEC"]
206
+ AG --> A6["๐Ÿ“ฐ News / narrative"]
207
+ A1 --> EV[("Evidence base<br/>sourced packets")]
208
+ A2 --> EV
209
+ A3 --> EV
210
+ A4 --> EV
211
+ A5 --> EV
212
+ A6 --> EV
213
+ EV -.->|"read as interpretation,<br/>not as fact"| MS
214
+ EV --> VF{{"Verifiers<br/>fidelity ยท re-derive ยท refute"}}
215
+ VF -->|"failed checks<br/>down-weight the seat"| PM
216
+ MS --> BULL["๐Ÿ‚ Bull"]
217
+ MS --> BEAR["๐Ÿป Bear"]
218
+ EV --> BULL
219
+ EV --> BEAR
220
+ BULL --> PM{{"Portfolio manager"}}
221
+ BEAR --> PM
222
+ PM --> R[["final_report.md<br/>verdict + entry price bands"]]
223
+ ```
224
+
225
+ The masters branch off the facts, not off the packets. Feeding 21 lenses one analyst's
226
+ selection of what mattered would give them all the same blind spot โ€” a large and perfectly
227
+ correlated error โ€” and would remove the reason for having a bench at all.
228
+
229
+ Key files:
230
+
231
+ - `.codex-plugin/plugin.json` - Codex plugin metadata.
232
+ - `.mcp.json` - MCP server wiring.
233
+ - `assets/logo.png` - plugin icon used by Codex.
234
+ - `skills/alphacouncil-agent/SKILL.md` - runtime instructions for Codex.
235
+ - `mcp/server.mjs` - JSON-RPC MCP server and workflow implementation.
236
+ - `scripts/selfcheck.mjs` - minimal regression check.
237
+
238
+ ## ๐Ÿ†š Codex vs Claude Code edition
239
+
240
+ Both editions share the same workflow, JSON packet contract, audit artifacts, the no-API-keys / live-web evidence model, and the same disclaimer. The Claude Code edition changes only *how* the council is run.
241
+
242
+ | | Codex edition | Claude Code edition |
243
+ |---|---|---|
244
+ | Council execution | `codex exec` workers, concurrency-capped | All 11 analysts as parallel `Task` subagents, one fan-out |
245
+ | Per-analyst context | Separate process | Separate subagent, full isolated context window |
246
+ | Evidence | `codex exec --search` | `WebSearch` + `WebFetch` in each analyst's own context |
247
+ | Evidence โ†’ debate | Sequential | Hard barrier on the run's phase machine |
248
+ | Debate depth | 3 rounds (case / rebuttal / Q&A), server-run | 3 rounds, bull + bear in parallel per round |
249
+ | Claim verification | Missing-source gate (run flagged, report banner) | + per-claim adversarial verify: re-fetch cited URL, re-derive, refute *(host-driven)* |
250
+ | Full-run enforcement | Incomplete runs marked `incomplete` (server gate) | Same gate, plus a hard barrier before debate |
251
+ | Model & cost | One model | **Pick per role** โ€” evidence on Sonnet, debate/verdict on Opus 4.8 (or all-Opus / all-Sonnet) |
252
+ | Language | User's language | User's language across every subagent + the live workflow |
253
+
254
+ **Honest scope:** same model family, same prompts, same audit contract โ€” the win is context isolation, always-on parallel fan-out, and deterministic gates, *not* a smarter model. As of **v0.3.0** the shared server runs the 3-round debate, enforces missing-source / full-run / report-quality gates, writes concise and full report artifacts, and supports native Windows Codex CLI launching. As of **v0.3.1**, the plugin also bundles `agent-skills-governance`, an `addyosmani/agent-skills`-style anti-laziness skill with explicit stop gates and exit criteria. The Claude Code edition adds parallel per-round execution and host-driven per-claim verification. Live-web staleness and paywalls limit both editions equally.
255
+
256
+ ## Data Contract
257
+
258
+ Evidence agents return JSON packets:
259
+
260
+ ```json
261
+ {
262
+ "task": "market_data",
263
+ "symbol": "AAPL",
264
+ "as_of": "YYYY-MM-DD",
265
+ "summary": "string",
266
+ "claims": [
267
+ {
268
+ "claim": "string",
269
+ "evidence": "string",
270
+ "confidence": "high|medium|low",
271
+ "source_ids": ["market_data:S1"]
272
+ }
273
+ ],
274
+ "metrics": {},
275
+ "sources": [
276
+ {
277
+ "id": "market_data:S1",
278
+ "title": "string",
279
+ "url": "https://example.com",
280
+ "published_at": "YYYY-MM-DD or unknown",
281
+ "retrieved_at": "YYYY-MM-DD"
282
+ }
283
+ ],
284
+ "open_questions": ["missing data item"],
285
+ "confidence": "high|medium|low"
286
+ }
287
+ ```
288
+
289
+ All source IDs are task-scoped as `<task>:<source_id>`. Missing data must be reported in `open_questions` and in the final report's data-gap section.
290
+
291
+ ## Run Locally
292
+
293
+ ```bash
294
+ npm run check
295
+ ```
296
+
297
+ The check validates:
298
+
299
+ - MCP server syntax
300
+ - tool schema exposure
301
+ - source ID scoping
302
+ - default real-run behavior
303
+ - visible-run recording
304
+ - `events.jsonl`, `status.json`, `all_agents.md`, `source_manifest.json`
305
+ - `final_report.md`, `user_response.md`, `artifact_index.md`, `report_quality.json`
306
+ - one Markdown file per evidence analyst plus bull, bear, and portfolio manager
307
+ - final report includes analyst work log, bull/bear debate record and data gaps
308
+
309
+ ## Codex Install Shape
310
+
311
+ The plugin expects this local layout:
312
+
313
+ ```text
314
+ .codex-plugin/plugin.json
315
+ .mcp.json
316
+ skills/alphacouncil-agent/SKILL.md
317
+ mcp/server.mjs
318
+ scripts/selfcheck.mjs
319
+ package.json
320
+ ```
321
+
322
+ `.mcp.json` runs:
323
+
324
+ ```json
325
+ {
326
+ "mcpServers": {
327
+ "alphacouncil-agent": {
328
+ "command": "node",
329
+ "args": ["./mcp/server.mjs"],
330
+ "cwd": "."
331
+ }
332
+ }
333
+ }
334
+ ```
335
+
336
+ ## Notes
337
+
338
+ This is an independent Codex plugin implementation. It uses a multi-agent investment-committee workflow: analyst teams, evidence sharing, bull/bear debate and portfolio-manager synthesis.
339
+
340
+ No API keys, brokerage credentials, private filings or generated run artifacts should be committed.
341
+
342
+ ## โญ Star History
343
+
344
+ <div align="center">
345
+
346
+ <a href="https://star-history.com/#Zhao73/alphacouncil-agent&Date">
347
+ <img src="https://api.star-history.com/svg?repos=Zhao73/alphacouncil-agent&type=Date" width="640" alt="Star History Chart" />
348
+ </a>
349
+
350
+ <br/><br/>
351
+
352
+ <picture>
353
+ <source media="(prefers-color-scheme: dark)" srcset="assets/logo-dark.png" />
354
+ <img src="assets/logo.png" alt="AlphaCouncil" width="120" />
355
+ </picture>
356
+
357
+ If AlphaCouncil saved you time, consider leaving a โญ โ€” it genuinely helps.
358
+
359
+ <a href="#readme-top">โ†‘ Back to top</a>
360
+
361
+ </div>