quantwise 1.2.0 → 1.2.2

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 (362) hide show
  1. package/.claude/skills/README.md +80 -0
  2. package/.claude/skills/backtest-expert/SKILL.md +206 -0
  3. package/.claude/skills/backtest-expert/references/failed_tests.md +236 -0
  4. package/.claude/skills/backtest-expert/references/methodology.md +227 -0
  5. package/.claude/skills/breadth-chart-analyst/SKILL.md +583 -0
  6. package/.claude/skills/breadth-chart-analyst/assets/SP500_Breadth_Index_200MA_8MA.jpeg +0 -0
  7. package/.claude/skills/breadth-chart-analyst/assets/US_Stock_Market_Uptrend_Ratio.jpeg +0 -0
  8. package/.claude/skills/breadth-chart-analyst/assets/breadth_analysis_template.md +558 -0
  9. package/.claude/skills/breadth-chart-analyst/references/breadth_chart_methodology.md +590 -0
  10. package/.claude/skills/canslim-screener/SKILL.md +599 -0
  11. package/.claude/skills/canslim-screener/references/canslim_methodology.md +606 -0
  12. package/.claude/skills/canslim-screener/references/fmp_api_endpoints.md +707 -0
  13. package/.claude/skills/canslim-screener/references/interpretation_guide.md +516 -0
  14. package/.claude/skills/canslim-screener/references/scoring_system.md +597 -0
  15. package/.claude/skills/canslim-screener/scripts/calculators/earnings_calculator.py +343 -0
  16. package/.claude/skills/canslim-screener/scripts/calculators/growth_calculator.py +334 -0
  17. package/.claude/skills/canslim-screener/scripts/calculators/institutional_calculator.py +347 -0
  18. package/.claude/skills/canslim-screener/scripts/calculators/leadership_calculator.py +380 -0
  19. package/.claude/skills/canslim-screener/scripts/calculators/market_calculator.py +244 -0
  20. package/.claude/skills/canslim-screener/scripts/calculators/new_highs_calculator.py +194 -0
  21. package/.claude/skills/canslim-screener/scripts/calculators/supply_demand_calculator.py +221 -0
  22. package/.claude/skills/canslim-screener/scripts/finviz_stock_client.py +227 -0
  23. package/.claude/skills/canslim-screener/scripts/fmp_client.py +393 -0
  24. package/.claude/skills/canslim-screener/scripts/report_generator.py +405 -0
  25. package/.claude/skills/canslim-screener/scripts/scorer.py +625 -0
  26. package/.claude/skills/canslim-screener/scripts/screen_canslim.py +361 -0
  27. package/.claude/skills/canslim-screener/scripts/test_institutional_endpoint.py +109 -0
  28. package/.claude/skills/chart/SKILL.md +20 -0
  29. package/.claude/skills/dividend-growth-pullback-screener/SKILL.md +322 -0
  30. package/.claude/skills/dividend-growth-pullback-screener/references/dividend_growth_compounding.md +400 -0
  31. package/.claude/skills/dividend-growth-pullback-screener/references/fmp_api_guide.md +642 -0
  32. package/.claude/skills/dividend-growth-pullback-screener/references/rsi_oversold_strategy.md +333 -0
  33. package/.claude/skills/dividend-growth-pullback-screener/scripts/screen_dividend_growth_rsi.py +1155 -0
  34. package/.claude/skills/earnings-calendar/SKILL.md +721 -0
  35. package/.claude/skills/earnings-calendar/assets/earnings_report_template.md +102 -0
  36. package/.claude/skills/earnings-calendar/references/fmp_api_guide.md +590 -0
  37. package/.claude/skills/earnings-calendar/scripts/fetch_earnings_fmp.py +443 -0
  38. package/.claude/skills/earnings-calendar/scripts/generate_report.py +366 -0
  39. package/.claude/skills/economic-calendar-fetcher/SKILL.md +365 -0
  40. package/.claude/skills/economic-calendar-fetcher/references/fmp_api_documentation.md +345 -0
  41. package/.claude/skills/economic-calendar-fetcher/scripts/get_economic_calendar.py +267 -0
  42. package/.claude/skills/ftd-detector/SKILL.md +147 -0
  43. package/.claude/skills/ftd-detector/references/ftd_methodology.md +188 -0
  44. package/.claude/skills/ftd-detector/references/post_ftd_guide.md +185 -0
  45. package/.claude/skills/ftd-detector/scripts/fmp_client.py +158 -0
  46. package/.claude/skills/ftd-detector/scripts/ftd_detector.py +280 -0
  47. package/.claude/skills/ftd-detector/scripts/post_ftd_monitor.py +404 -0
  48. package/.claude/skills/ftd-detector/scripts/rally_tracker.py +508 -0
  49. package/.claude/skills/ftd-detector/scripts/report_generator.py +341 -0
  50. package/.claude/skills/ftd-detector/scripts/tests/conftest.py +9 -0
  51. package/.claude/skills/ftd-detector/scripts/tests/helpers.py +107 -0
  52. package/.claude/skills/ftd-detector/scripts/tests/test_post_ftd_monitor.py +311 -0
  53. package/.claude/skills/ftd-detector/scripts/tests/test_rally_tracker.py +302 -0
  54. package/.claude/skills/institutional-flow-tracker/README.md +362 -0
  55. package/.claude/skills/institutional-flow-tracker/SKILL.md +357 -0
  56. package/.claude/skills/institutional-flow-tracker/references/13f_filings_guide.md +383 -0
  57. package/.claude/skills/institutional-flow-tracker/references/institutional_investor_types.md +580 -0
  58. package/.claude/skills/institutional-flow-tracker/references/interpretation_framework.md +573 -0
  59. package/.claude/skills/institutional-flow-tracker/scripts/analyze_single_stock.py +457 -0
  60. package/.claude/skills/institutional-flow-tracker/scripts/track_institution_portfolio.py +108 -0
  61. package/.claude/skills/institutional-flow-tracker/scripts/track_institutional_flow.py +450 -0
  62. package/.claude/skills/macro-regime-detector/SKILL.md +86 -0
  63. package/.claude/skills/macro-regime-detector/references/historical_regimes.md +124 -0
  64. package/.claude/skills/macro-regime-detector/references/indicator_interpretation_guide.md +144 -0
  65. package/.claude/skills/macro-regime-detector/references/regime_detection_methodology.md +138 -0
  66. package/.claude/skills/macro-regime-detector/scripts/calculators/__init__.py +1 -0
  67. package/.claude/skills/macro-regime-detector/scripts/calculators/concentration_calculator.py +165 -0
  68. package/.claude/skills/macro-regime-detector/scripts/calculators/credit_conditions_calculator.py +124 -0
  69. package/.claude/skills/macro-regime-detector/scripts/calculators/equity_bond_calculator.py +198 -0
  70. package/.claude/skills/macro-regime-detector/scripts/calculators/sector_rotation_calculator.py +123 -0
  71. package/.claude/skills/macro-regime-detector/scripts/calculators/size_factor_calculator.py +131 -0
  72. package/.claude/skills/macro-regime-detector/scripts/calculators/utils.py +347 -0
  73. package/.claude/skills/macro-regime-detector/scripts/calculators/yield_curve_calculator.py +279 -0
  74. package/.claude/skills/macro-regime-detector/scripts/fmp_client.py +134 -0
  75. package/.claude/skills/macro-regime-detector/scripts/macro_regime_detector.py +278 -0
  76. package/.claude/skills/macro-regime-detector/scripts/report_generator.py +327 -0
  77. package/.claude/skills/macro-regime-detector/scripts/scorer.py +574 -0
  78. package/.claude/skills/macro-regime-detector/scripts/tests/conftest.py +9 -0
  79. package/.claude/skills/macro-regime-detector/scripts/tests/test_concentration.py +78 -0
  80. package/.claude/skills/macro-regime-detector/scripts/tests/test_credit_conditions.py +59 -0
  81. package/.claude/skills/macro-regime-detector/scripts/tests/test_equity_bond.py +74 -0
  82. package/.claude/skills/macro-regime-detector/scripts/tests/test_helpers.py +90 -0
  83. package/.claude/skills/macro-regime-detector/scripts/tests/test_scorer.py +439 -0
  84. package/.claude/skills/macro-regime-detector/scripts/tests/test_sector_rotation.py +78 -0
  85. package/.claude/skills/macro-regime-detector/scripts/tests/test_size_factor.py +59 -0
  86. package/.claude/skills/macro-regime-detector/scripts/tests/test_utils.py +126 -0
  87. package/.claude/skills/macro-regime-detector/scripts/tests/test_yield_curve.py +64 -0
  88. package/.claude/skills/market-breadth-analyzer/SKILL.md +121 -0
  89. package/.claude/skills/market-breadth-analyzer/references/breadth_analysis_methodology.md +168 -0
  90. package/.claude/skills/market-breadth-analyzer/scripts/calculators/__init__.py +1 -0
  91. package/.claude/skills/market-breadth-analyzer/scripts/calculators/bearish_signal_calculator.py +150 -0
  92. package/.claude/skills/market-breadth-analyzer/scripts/calculators/cycle_calculator.py +168 -0
  93. package/.claude/skills/market-breadth-analyzer/scripts/calculators/divergence_calculator.py +119 -0
  94. package/.claude/skills/market-breadth-analyzer/scripts/calculators/historical_context_calculator.py +120 -0
  95. package/.claude/skills/market-breadth-analyzer/scripts/calculators/ma_crossover_calculator.py +115 -0
  96. package/.claude/skills/market-breadth-analyzer/scripts/calculators/trend_level_calculator.py +103 -0
  97. package/.claude/skills/market-breadth-analyzer/scripts/csv_client.py +225 -0
  98. package/.claude/skills/market-breadth-analyzer/scripts/market_breadth_analyzer.py +307 -0
  99. package/.claude/skills/market-breadth-analyzer/scripts/report_generator.py +330 -0
  100. package/.claude/skills/market-breadth-analyzer/scripts/scorer.py +271 -0
  101. package/.claude/skills/market-environment-analysis/SKILL.md +139 -0
  102. package/.claude/skills/market-environment-analysis/references/analysis_patterns.md +124 -0
  103. package/.claude/skills/market-environment-analysis/references/indicators.md +99 -0
  104. package/.claude/skills/market-environment-analysis/scripts/market_utils.py +127 -0
  105. package/.claude/skills/market-news-analyst/SKILL.md +714 -0
  106. package/.claude/skills/market-news-analyst/references/corporate_news_impact.md +446 -0
  107. package/.claude/skills/market-news-analyst/references/geopolitical_commodity_correlations.md +499 -0
  108. package/.claude/skills/market-news-analyst/references/market_event_patterns.md +393 -0
  109. package/.claude/skills/market-news-analyst/references/trusted_news_sources.md +510 -0
  110. package/.claude/skills/market-top-detector/SKILL.md +159 -0
  111. package/.claude/skills/market-top-detector/references/distribution_day_guide.md +100 -0
  112. package/.claude/skills/market-top-detector/references/historical_tops.md +142 -0
  113. package/.claude/skills/market-top-detector/references/market_top_methodology.md +167 -0
  114. package/.claude/skills/market-top-detector/scripts/calculators/__init__.py +17 -0
  115. package/.claude/skills/market-top-detector/scripts/calculators/breadth_calculator.py +116 -0
  116. package/.claude/skills/market-top-detector/scripts/calculators/defensive_rotation_calculator.py +127 -0
  117. package/.claude/skills/market-top-detector/scripts/calculators/distribution_day_calculator.py +161 -0
  118. package/.claude/skills/market-top-detector/scripts/calculators/index_technical_calculator.py +254 -0
  119. package/.claude/skills/market-top-detector/scripts/calculators/leading_stock_calculator.py +198 -0
  120. package/.claude/skills/market-top-detector/scripts/calculators/sentiment_calculator.py +213 -0
  121. package/.claude/skills/market-top-detector/scripts/fmp_client.py +158 -0
  122. package/.claude/skills/market-top-detector/scripts/market_top_detector.py +349 -0
  123. package/.claude/skills/market-top-detector/scripts/report_generator.py +314 -0
  124. package/.claude/skills/market-top-detector/scripts/scorer.py +473 -0
  125. package/.claude/skills/market-top-detector/scripts/tests/conftest.py +9 -0
  126. package/.claude/skills/market-top-detector/scripts/tests/helpers.py +49 -0
  127. package/.claude/skills/market-top-detector/scripts/tests/test_breadth.py +62 -0
  128. package/.claude/skills/market-top-detector/scripts/tests/test_defensive_rotation.py +56 -0
  129. package/.claude/skills/market-top-detector/scripts/tests/test_distribution_day.py +92 -0
  130. package/.claude/skills/market-top-detector/scripts/tests/test_index_technical.py +73 -0
  131. package/.claude/skills/market-top-detector/scripts/tests/test_leading_stock.py +57 -0
  132. package/.claude/skills/market-top-detector/scripts/tests/test_scorer.py +180 -0
  133. package/.claude/skills/market-top-detector/scripts/tests/test_sentiment.py +64 -0
  134. package/.claude/skills/options-strategy-advisor/README.md +469 -0
  135. package/.claude/skills/options-strategy-advisor/SKILL.md +959 -0
  136. package/.claude/skills/options-strategy-advisor/scripts/black_scholes.py +495 -0
  137. package/.claude/skills/pair-trade-screener/README.md +389 -0
  138. package/.claude/skills/pair-trade-screener/SKILL.md +622 -0
  139. package/.claude/skills/pair-trade-screener/references/cointegration_guide.md +745 -0
  140. package/.claude/skills/pair-trade-screener/references/methodology.md +853 -0
  141. package/.claude/skills/pair-trade-screener/scripts/analyze_spread.py +394 -0
  142. package/.claude/skills/pair-trade-screener/scripts/find_pairs.py +535 -0
  143. package/.claude/skills/portfolio-manager/README.md +394 -0
  144. package/.claude/skills/portfolio-manager/SKILL.md +750 -0
  145. package/.claude/skills/portfolio-manager/references/alpaca-mcp-setup.md +367 -0
  146. package/.claude/skills/portfolio-manager/references/asset-allocation.md +502 -0
  147. package/.claude/skills/portfolio-manager/references/diversification-principles.md +553 -0
  148. package/.claude/skills/portfolio-manager/references/portfolio-risk-metrics.md +603 -0
  149. package/.claude/skills/portfolio-manager/references/position-evaluation.md +477 -0
  150. package/.claude/skills/portfolio-manager/references/rebalancing-strategies.md +715 -0
  151. package/.claude/skills/portfolio-manager/references/risk-profile-questionnaire.md +608 -0
  152. package/.claude/skills/portfolio-manager/references/target-allocations.md +558 -0
  153. package/.claude/skills/portfolio-manager/scripts/test_alpaca_connection.py +286 -0
  154. package/.claude/skills/scenario-analyzer/SKILL.md +317 -0
  155. package/.claude/skills/scenario-analyzer/references/headline_event_patterns.md +264 -0
  156. package/.claude/skills/scenario-analyzer/references/scenario_playbooks.md +320 -0
  157. package/.claude/skills/scenario-analyzer/references/sector_sensitivity_matrix.md +217 -0
  158. package/.claude/skills/sector-analyst/SKILL.md +206 -0
  159. package/.claude/skills/sector-analyst/assets/industory_performance_1.jpeg +0 -0
  160. package/.claude/skills/sector-analyst/assets/industory_performance_2.jpeg +0 -0
  161. package/.claude/skills/sector-analyst/assets/sector_performance.jpeg +0 -0
  162. package/.claude/skills/sector-analyst/references/sector_rotation.md +170 -0
  163. package/.claude/skills/stanley-druckenmiller-investment/SKILL.md +84 -0
  164. package/.claude/skills/stanley-druckenmiller-investment/references/case-studies.md +148 -0
  165. package/.claude/skills/stanley-druckenmiller-investment/references/investment-philosophy.md +80 -0
  166. package/.claude/skills/stanley-druckenmiller-investment/references/market-analysis-guide.md +146 -0
  167. package/.claude/skills/stock/NOTION_SETUP.md +33 -0
  168. package/.claude/skills/stock/SKILL.md +38 -0
  169. package/.claude/skills/technical-analyst/SKILL.md +238 -0
  170. package/.claude/skills/technical-analyst/assets/analysis_template.md +183 -0
  171. package/.claude/skills/technical-analyst/references/technical_analysis_framework.md +282 -0
  172. package/.claude/skills/theme-detector/SKILL.md +320 -0
  173. package/.claude/skills/theme-detector/assets/report_template.md +155 -0
  174. package/.claude/skills/theme-detector/references/cross_sector_themes.md +252 -0
  175. package/.claude/skills/theme-detector/references/finviz_industry_codes.md +403 -0
  176. package/.claude/skills/theme-detector/references/thematic_etf_catalog.md +333 -0
  177. package/.claude/skills/theme-detector/references/theme_detection_methodology.md +430 -0
  178. package/.claude/skills/theme-detector/scripts/calculators/__init__.py +1 -0
  179. package/.claude/skills/theme-detector/scripts/calculators/heat_calculator.py +123 -0
  180. package/.claude/skills/theme-detector/scripts/calculators/industry_ranker.py +98 -0
  181. package/.claude/skills/theme-detector/scripts/calculators/lifecycle_calculator.py +172 -0
  182. package/.claude/skills/theme-detector/scripts/calculators/theme_classifier.py +195 -0
  183. package/.claude/skills/theme-detector/scripts/calculators/theme_discoverer.py +280 -0
  184. package/.claude/skills/theme-detector/scripts/config_loader.py +142 -0
  185. package/.claude/skills/theme-detector/scripts/default_theme_config.py +254 -0
  186. package/.claude/skills/theme-detector/scripts/etf_scanner.py +609 -0
  187. package/.claude/skills/theme-detector/scripts/finviz_performance_client.py +131 -0
  188. package/.claude/skills/theme-detector/scripts/report_generator.py +490 -0
  189. package/.claude/skills/theme-detector/scripts/representative_stock_selector.py +673 -0
  190. package/.claude/skills/theme-detector/scripts/scorer.py +87 -0
  191. package/.claude/skills/theme-detector/scripts/tests/README.md +21 -0
  192. package/.claude/skills/theme-detector/scripts/tests/conftest.py +9 -0
  193. package/.claude/skills/theme-detector/scripts/tests/test_config_loader.py +239 -0
  194. package/.claude/skills/theme-detector/scripts/tests/test_etf_scanner.py +810 -0
  195. package/.claude/skills/theme-detector/scripts/tests/test_heat_calculator.py +245 -0
  196. package/.claude/skills/theme-detector/scripts/tests/test_industry_ranker.py +256 -0
  197. package/.claude/skills/theme-detector/scripts/tests/test_lifecycle_calculator.py +301 -0
  198. package/.claude/skills/theme-detector/scripts/tests/test_report_generator.py +624 -0
  199. package/.claude/skills/theme-detector/scripts/tests/test_representative_stock_selector.py +898 -0
  200. package/.claude/skills/theme-detector/scripts/tests/test_scorer.py +185 -0
  201. package/.claude/skills/theme-detector/scripts/tests/test_theme_classifier.py +534 -0
  202. package/.claude/skills/theme-detector/scripts/tests/test_theme_detector_e2e.py +467 -0
  203. package/.claude/skills/theme-detector/scripts/tests/test_theme_discoverer.py +458 -0
  204. package/.claude/skills/theme-detector/scripts/tests/test_uptrend_client.py +76 -0
  205. package/.claude/skills/theme-detector/scripts/theme_detector.py +815 -0
  206. package/.claude/skills/theme-detector/scripts/themes.yaml +168 -0
  207. package/.claude/skills/theme-detector/scripts/uptrend_client.py +241 -0
  208. package/.claude/skills/uptrend-analyzer/SKILL.md +108 -0
  209. package/.claude/skills/uptrend-analyzer/references/uptrend_methodology.md +215 -0
  210. package/.claude/skills/uptrend-analyzer/scripts/calculators/__init__.py +1 -0
  211. package/.claude/skills/uptrend-analyzer/scripts/calculators/historical_context_calculator.py +122 -0
  212. package/.claude/skills/uptrend-analyzer/scripts/calculators/market_breadth_calculator.py +145 -0
  213. package/.claude/skills/uptrend-analyzer/scripts/calculators/momentum_calculator.py +183 -0
  214. package/.claude/skills/uptrend-analyzer/scripts/calculators/sector_participation_calculator.py +204 -0
  215. package/.claude/skills/uptrend-analyzer/scripts/calculators/sector_rotation_calculator.py +218 -0
  216. package/.claude/skills/uptrend-analyzer/scripts/data_fetcher.py +236 -0
  217. package/.claude/skills/uptrend-analyzer/scripts/report_generator.py +329 -0
  218. package/.claude/skills/uptrend-analyzer/scripts/scorer.py +276 -0
  219. package/.claude/skills/uptrend-analyzer/scripts/uptrend_analyzer.py +219 -0
  220. package/.claude/skills/us-market-bubble-detector/CHANGELOG.md +118 -0
  221. package/.claude/skills/us-market-bubble-detector/SKILL.md +545 -0
  222. package/.claude/skills/us-market-bubble-detector/references/bubble_framework.md +335 -0
  223. package/.claude/skills/us-market-bubble-detector/references/historical_cases.md +327 -0
  224. package/.claude/skills/us-market-bubble-detector/references/implementation_guide.md +473 -0
  225. package/.claude/skills/us-market-bubble-detector/references/quick_reference.md +354 -0
  226. package/.claude/skills/us-market-bubble-detector/references/quick_reference_en.md +342 -0
  227. package/.claude/skills/us-market-bubble-detector/scripts/bubble_scorer.py +309 -0
  228. package/.claude/skills/us-stock-analysis/SKILL.md +294 -0
  229. package/.claude/skills/us-stock-analysis/references/financial-metrics.md +172 -0
  230. package/.claude/skills/us-stock-analysis/references/fundamental-analysis.md +129 -0
  231. package/.claude/skills/us-stock-analysis/references/report-template.md +207 -0
  232. package/.claude/skills/us-stock-analysis/references/technical-analysis.md +93 -0
  233. package/.claude/skills/value-dividend-screener/SKILL.md +562 -0
  234. package/.claude/skills/value-dividend-screener/references/fmp_api_guide.md +348 -0
  235. package/.claude/skills/value-dividend-screener/references/screening_methodology.md +315 -0
  236. package/.claude/skills/value-dividend-screener/scripts/screen_dividend_stocks.py +1138 -0
  237. package/.claude/skills/vcp-screener/SKILL.md +79 -0
  238. package/.claude/skills/vcp-screener/references/fmp_api_endpoints.md +45 -0
  239. package/.claude/skills/vcp-screener/references/scoring_system.md +154 -0
  240. package/.claude/skills/vcp-screener/references/vcp_methodology.md +124 -0
  241. package/.claude/skills/vcp-screener/scripts/calculators/__init__.py +1 -0
  242. package/.claude/skills/vcp-screener/scripts/calculators/pivot_proximity_calculator.py +139 -0
  243. package/.claude/skills/vcp-screener/scripts/calculators/relative_strength_calculator.py +161 -0
  244. package/.claude/skills/vcp-screener/scripts/calculators/trend_template_calculator.py +228 -0
  245. package/.claude/skills/vcp-screener/scripts/calculators/vcp_pattern_calculator.py +322 -0
  246. package/.claude/skills/vcp-screener/scripts/calculators/volume_pattern_calculator.py +121 -0
  247. package/.claude/skills/vcp-screener/scripts/fmp_client.py +162 -0
  248. package/.claude/skills/vcp-screener/scripts/report_generator.py +317 -0
  249. package/.claude/skills/vcp-screener/scripts/scorer.py +155 -0
  250. package/.claude/skills/vcp-screener/scripts/screen_vcp.py +536 -0
  251. package/.claude/skills/vcp-screener/scripts/tests/__init__.py +0 -0
  252. package/.claude/skills/vcp-screener/scripts/tests/conftest.py +9 -0
  253. package/.claude/skills/vcp-screener/scripts/tests/test_vcp_screener.py +834 -0
  254. package/.claude/skills/weekly-trade-strategy/.claude/agents/druckenmiller-strategy-planner.md +300 -0
  255. package/.claude/skills/weekly-trade-strategy/.claude/agents/market-news-analyzer.md +239 -0
  256. package/.claude/skills/weekly-trade-strategy/.claude/agents/technical-market-analyst.md +187 -0
  257. package/.claude/skills/weekly-trade-strategy/.claude/agents/us-market-analyst.md +218 -0
  258. package/.claude/skills/weekly-trade-strategy/.claude/agents/weekly-trade-blog-writer.md +318 -0
  259. package/.claude/skills/weekly-trade-strategy/.claude/skills/breadth-chart-analyst/SKILL.md +662 -0
  260. package/.claude/skills/weekly-trade-strategy/.claude/skills/breadth-chart-analyst/assets/SP500_Breadth_Index_200MA_8MA.jpeg +0 -0
  261. package/.claude/skills/weekly-trade-strategy/.claude/skills/breadth-chart-analyst/assets/US_Stock_Market_Uptrend_Ratio.jpeg +0 -0
  262. package/.claude/skills/weekly-trade-strategy/.claude/skills/breadth-chart-analyst/assets/breadth_analysis_template.md +558 -0
  263. package/.claude/skills/weekly-trade-strategy/.claude/skills/breadth-chart-analyst/references/breadth_chart_methodology.md +590 -0
  264. package/.claude/skills/weekly-trade-strategy/.claude/skills/earnings-calendar/SKILL.md +721 -0
  265. package/.claude/skills/weekly-trade-strategy/.claude/skills/earnings-calendar/assets/earnings_report_template.md +102 -0
  266. package/.claude/skills/weekly-trade-strategy/.claude/skills/earnings-calendar/earnings_calendar_2025-11-02.md +447 -0
  267. package/.claude/skills/weekly-trade-strategy/.claude/skills/earnings-calendar/references/fmp_api_guide.md +590 -0
  268. package/.claude/skills/weekly-trade-strategy/.claude/skills/earnings-calendar/scripts/fetch_earnings_fmp.py +443 -0
  269. package/.claude/skills/weekly-trade-strategy/.claude/skills/earnings-calendar/scripts/generate_report.py +366 -0
  270. package/.claude/skills/weekly-trade-strategy/.claude/skills/economic-calendar-fetcher/SKILL.md +365 -0
  271. package/.claude/skills/weekly-trade-strategy/.claude/skills/economic-calendar-fetcher/references/fmp_api_documentation.md +345 -0
  272. package/.claude/skills/weekly-trade-strategy/.claude/skills/economic-calendar-fetcher/scripts/get_economic_calendar.py +267 -0
  273. package/.claude/skills/weekly-trade-strategy/.claude/skills/market-environment-analysis/SKILL.md +139 -0
  274. package/.claude/skills/weekly-trade-strategy/.claude/skills/market-environment-analysis/references/analysis_patterns.md +124 -0
  275. package/.claude/skills/weekly-trade-strategy/.claude/skills/market-environment-analysis/references/indicators.md +99 -0
  276. package/.claude/skills/weekly-trade-strategy/.claude/skills/market-environment-analysis/scripts/market_utils.py +127 -0
  277. package/.claude/skills/weekly-trade-strategy/.claude/skills/market-news-analyst/SKILL.md +714 -0
  278. package/.claude/skills/weekly-trade-strategy/.claude/skills/market-news-analyst/references/corporate_news_impact.md +446 -0
  279. package/.claude/skills/weekly-trade-strategy/.claude/skills/market-news-analyst/references/geopolitical_commodity_correlations.md +499 -0
  280. package/.claude/skills/weekly-trade-strategy/.claude/skills/market-news-analyst/references/market_event_patterns.md +393 -0
  281. package/.claude/skills/weekly-trade-strategy/.claude/skills/market-news-analyst/references/trusted_news_sources.md +510 -0
  282. package/.claude/skills/weekly-trade-strategy/.claude/skills/sector-analyst/SKILL.md +206 -0
  283. package/.claude/skills/weekly-trade-strategy/.claude/skills/sector-analyst/assets/industory_performance_1.jpeg +0 -0
  284. package/.claude/skills/weekly-trade-strategy/.claude/skills/sector-analyst/assets/industory_performance_2.jpeg +0 -0
  285. package/.claude/skills/weekly-trade-strategy/.claude/skills/sector-analyst/assets/sector_performance.jpeg +0 -0
  286. package/.claude/skills/weekly-trade-strategy/.claude/skills/sector-analyst/references/sector_rotation.md +170 -0
  287. package/.claude/skills/weekly-trade-strategy/.claude/skills/stanley-druckenmiller-investment/SKILL.md +84 -0
  288. package/.claude/skills/weekly-trade-strategy/.claude/skills/stanley-druckenmiller-investment/references/case-studies.md +148 -0
  289. package/.claude/skills/weekly-trade-strategy/.claude/skills/stanley-druckenmiller-investment/references/investment-philosophy.md +80 -0
  290. package/.claude/skills/weekly-trade-strategy/.claude/skills/stanley-druckenmiller-investment/references/market-analysis-guide.md +146 -0
  291. package/.claude/skills/weekly-trade-strategy/.claude/skills/technical-analyst/SKILL.md +238 -0
  292. package/.claude/skills/weekly-trade-strategy/.claude/skills/technical-analyst/assets/analysis_template.md +183 -0
  293. package/.claude/skills/weekly-trade-strategy/.claude/skills/technical-analyst/references/technical_analysis_framework.md +282 -0
  294. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/CHANGELOG.md +118 -0
  295. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/SKILL.md +545 -0
  296. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/references/bubble_framework.md +335 -0
  297. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/references/historical_cases.md +327 -0
  298. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/references/implementation_guide.md +473 -0
  299. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/references/quick_reference.md +354 -0
  300. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/references/quick_reference_en.md +342 -0
  301. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/scripts/bubble_scorer.py +309 -0
  302. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-stock-analysis/SKILL.md +294 -0
  303. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-stock-analysis/references/financial-metrics.md +172 -0
  304. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-stock-analysis/references/fundamental-analysis.md +129 -0
  305. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-stock-analysis/references/report-template.md +207 -0
  306. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-stock-analysis/references/technical-analysis.md +93 -0
  307. package/.claude/skills/weekly-trade-strategy/CLAUDE.md +454 -0
  308. package/.claude/skills/weekly-trade-strategy/README.md +287 -0
  309. package/.claude/skills/weekly-trade-strategy/blogs/.gitkeep +0 -0
  310. package/.claude/skills/weekly-trade-strategy/charts/.gitkeep +0 -0
  311. package/.claude/skills/weekly-trade-strategy/earnings_data.json +10054 -0
  312. package/.claude/skills/weekly-trade-strategy/skills/breadth-chart-analyst/SKILL.md +662 -0
  313. package/.claude/skills/weekly-trade-strategy/skills/breadth-chart-analyst/assets/SP500_Breadth_Index_200MA_8MA.jpeg +0 -0
  314. package/.claude/skills/weekly-trade-strategy/skills/breadth-chart-analyst/assets/US_Stock_Market_Uptrend_Ratio.jpeg +0 -0
  315. package/.claude/skills/weekly-trade-strategy/skills/breadth-chart-analyst/assets/breadth_analysis_template.md +558 -0
  316. package/.claude/skills/weekly-trade-strategy/skills/breadth-chart-analyst/references/breadth_chart_methodology.md +590 -0
  317. package/.claude/skills/weekly-trade-strategy/skills/earnings-calendar/SKILL.md +721 -0
  318. package/.claude/skills/weekly-trade-strategy/skills/earnings-calendar/assets/earnings_report_template.md +102 -0
  319. package/.claude/skills/weekly-trade-strategy/skills/earnings-calendar/earnings_calendar_2025-11-02.md +447 -0
  320. package/.claude/skills/weekly-trade-strategy/skills/earnings-calendar/references/fmp_api_guide.md +590 -0
  321. package/.claude/skills/weekly-trade-strategy/skills/earnings-calendar/scripts/fetch_earnings_fmp.py +443 -0
  322. package/.claude/skills/weekly-trade-strategy/skills/earnings-calendar/scripts/generate_report.py +366 -0
  323. package/.claude/skills/weekly-trade-strategy/skills/economic-calendar-fetcher/SKILL.md +365 -0
  324. package/.claude/skills/weekly-trade-strategy/skills/economic-calendar-fetcher/references/fmp_api_documentation.md +345 -0
  325. package/.claude/skills/weekly-trade-strategy/skills/economic-calendar-fetcher/scripts/get_economic_calendar.py +267 -0
  326. package/.claude/skills/weekly-trade-strategy/skills/market-environment-analysis/SKILL.md +139 -0
  327. package/.claude/skills/weekly-trade-strategy/skills/market-environment-analysis/references/analysis_patterns.md +124 -0
  328. package/.claude/skills/weekly-trade-strategy/skills/market-environment-analysis/references/indicators.md +99 -0
  329. package/.claude/skills/weekly-trade-strategy/skills/market-environment-analysis/scripts/market_utils.py +127 -0
  330. package/.claude/skills/weekly-trade-strategy/skills/market-news-analyst/SKILL.md +714 -0
  331. package/.claude/skills/weekly-trade-strategy/skills/market-news-analyst/references/corporate_news_impact.md +446 -0
  332. package/.claude/skills/weekly-trade-strategy/skills/market-news-analyst/references/geopolitical_commodity_correlations.md +499 -0
  333. package/.claude/skills/weekly-trade-strategy/skills/market-news-analyst/references/market_event_patterns.md +393 -0
  334. package/.claude/skills/weekly-trade-strategy/skills/market-news-analyst/references/trusted_news_sources.md +510 -0
  335. package/.claude/skills/weekly-trade-strategy/skills/sector-analyst/SKILL.md +206 -0
  336. package/.claude/skills/weekly-trade-strategy/skills/sector-analyst/assets/industory_performance_1.jpeg +0 -0
  337. package/.claude/skills/weekly-trade-strategy/skills/sector-analyst/assets/industory_performance_2.jpeg +0 -0
  338. package/.claude/skills/weekly-trade-strategy/skills/sector-analyst/assets/sector_performance.jpeg +0 -0
  339. package/.claude/skills/weekly-trade-strategy/skills/sector-analyst/references/sector_rotation.md +170 -0
  340. package/.claude/skills/weekly-trade-strategy/skills/stanley-druckenmiller-investment/SKILL.md +84 -0
  341. package/.claude/skills/weekly-trade-strategy/skills/stanley-druckenmiller-investment/references/case-studies.md +148 -0
  342. package/.claude/skills/weekly-trade-strategy/skills/stanley-druckenmiller-investment/references/investment-philosophy.md +80 -0
  343. package/.claude/skills/weekly-trade-strategy/skills/stanley-druckenmiller-investment/references/market-analysis-guide.md +146 -0
  344. package/.claude/skills/weekly-trade-strategy/skills/technical-analyst/SKILL.md +238 -0
  345. package/.claude/skills/weekly-trade-strategy/skills/technical-analyst/assets/analysis_template.md +183 -0
  346. package/.claude/skills/weekly-trade-strategy/skills/technical-analyst/references/technical_analysis_framework.md +282 -0
  347. package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/CHANGELOG.md +118 -0
  348. package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/SKILL.md +545 -0
  349. package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/references/bubble_framework.md +335 -0
  350. package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/references/historical_cases.md +327 -0
  351. package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/references/implementation_guide.md +473 -0
  352. package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/references/quick_reference.md +354 -0
  353. package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/references/quick_reference_en.md +342 -0
  354. package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/scripts/bubble_scorer.py +309 -0
  355. package/.claude/skills/weekly-trade-strategy/skills/us-stock-analysis/SKILL.md +294 -0
  356. package/.claude/skills/weekly-trade-strategy/skills/us-stock-analysis/references/financial-metrics.md +172 -0
  357. package/.claude/skills/weekly-trade-strategy/skills/us-stock-analysis/references/fundamental-analysis.md +129 -0
  358. package/.claude/skills/weekly-trade-strategy/skills/us-stock-analysis/references/report-template.md +207 -0
  359. package/.claude/skills/weekly-trade-strategy/skills/us-stock-analysis/references/technical-analysis.md +93 -0
  360. package/.mcp.json +3 -0
  361. package/cli.mjs +16 -16
  362. package/package.json +4 -2
@@ -0,0 +1,318 @@
1
+ ---
2
+ name: weekly-trade-blog-writer
3
+ description: Use this agent when you need to create a comprehensive weekly trading strategy blog post for part-time traders and investors. Examples include:\n\n<example>\nContext: User has just finished generating market analysis reports and wants to compile them into a weekly blog post.\nuser: "本周的市场分析报告已完成,请撰写博客文章"\nassistant: "我将创建周交易策略博客文章。首先启动weekly-trade-blog-writer智能体,检查现有报告并生成博客文章。"\n<commentary>\nThe user is requesting a weekly blog post creation. Use the Task tool to launch the weekly-trade-blog-writer agent to compile the analysis reports into a blog post.\n</commentary>\n</example>\n\n<example>\nContext: It's the beginning of a new week and the user wants to proactively create the weekly trading blog post.\nuser: "新的一周开始了"\nassistant: "新的一周开始了。要不要使用weekly-trade-blog-writer智能体创建本周的交易策略博客文章?我将汇总上周回顾和本周展望。"\n<commentary>\nProactively suggest using the weekly-trade-blog-writer agent at the start of a new week to create the trading strategy blog post.\n</commentary>\n</example>\n\n<example>\nContext: User mentions needing to update their trading blog or wants to share market insights with readers.\nuser: "想为读者总结一下本周的交易策略"\nassistant: "我将使用weekly-trade-blog-writer智能体为兼职交易者创建周策略博客文章。先检查现有市场分析报告,然后生成综合文章。"\n<commentary>\nThe user wants to create content for readers. Launch the weekly-trade-blog-writer agent to generate the weekly trading strategy blog post.\n</commentary>\n</example>
4
+ model: sonnet
5
+ color: red
6
+ ---
7
+
8
+ You are an expert financial blog writer specializing in creating CONCISE, ACTION-FOCUSED weekly trading strategy content for part-time traders and investors in Japan. Your expertise combines technical market analysis, clear communication, and deep understanding of the time constraints faced by part-time traders.
9
+
10
+ ## Your Core Mission
11
+
12
+ Create SHORT, SCANNABLE weekly trading strategy blog posts (200-300 lines MAXIMUM) that enable part-time traders to:
13
+ - Read the FULL article in 5-10 minutes
14
+ - Understand exactly what to do this week
15
+ - Make informed decisions WITHOUT lengthy analysis
16
+
17
+ **CRITICAL**: The primary value is TIME-SAVING. Every sentence must serve an immediate action or decision. Eliminate all filler content, background information, and lengthy explanations.
18
+
19
+ ## Workflow Process
20
+
21
+ 1. **Gather Market Intelligence**:
22
+ - First, check if analysis reports already exist in the expected output locations
23
+ - If reports are missing, sequentially call these agents in order:
24
+ a. technical-market-analyst
25
+ b. us-market-analyst
26
+ c. market-news-analyzer
27
+ - Thoroughly read and synthesize each report's findings
28
+ - Identify key themes, trends, and actionable insights across all reports
29
+
30
+ 2. **Review Previous Week's Content**:
31
+ - Access the previous week's blog post from https://monty-trader.com/ OR check blogs/ directory
32
+ - If you cannot identify the correct article, explicitly ask the user for clarification
33
+ - Analyze what scenarios played out versus what was predicted
34
+ - Extract lessons learned and adjust current week's recommendations accordingly
35
+ - **CRITICAL: Extract previous week's sector allocation and position sizing**
36
+
37
+ 3. **Reference Sample Content**:
38
+ - Review sample articles in blogs/sample directory to understand:
39
+ - Tone and writing style expectations
40
+ - Level of technical detail appropriate for the audience
41
+ - Formatting conventions and presentation patterns
42
+ - Maintain consistency with established blog voice
43
+
44
+ ## Article Structure (Follow This Exactly - LENGTH LIMITS ENFORCED)
45
+
46
+ **TOTAL ARTICLE LENGTH: 200-300 lines MAXIMUM (including headers, tables, blank lines)**
47
+
48
+ Create the blog post with these sections in order:
49
+
50
+ 1. **3句话总结** (3-Line Summary) - **3 bullets ONLY**
51
+ - Market environment (1 line)
52
+ - This week's focus (1 line)
53
+ - Recommended strategy (1 line)
54
+ - **Max length: 5-8 lines**
55
+
56
+ 2. **本周操作** (This Week's Actions) - **ACTION-FIRST APPROACH**
57
+ - **仓位管理**: Current trigger status (Risk-On/Base/Caution/Stress) + recommended position size
58
+ - **本周买卖水平**: ONE TABLE with key indices, buy levels, sell levels, stop loss
59
+ - **板块配置**: ONE TABLE with recommended allocation percentages
60
+ - **关键规则**: Changes from previous week must be **GRADUAL (+-10-15% max)**
61
+ - Any change >20% requires explicit justification based on major market event/trigger change
62
+ - Cash allocation changes should be incremental: 10% -> 15-20% -> 25-30%, NOT 10% -> 35%
63
+ - If market is at all-time highs with Base/Risk-On triggers, avoid drastic position cuts
64
+ - **重要事件**: ONE TABLE with date, event, market impact (top 5-7 events only)
65
+ - **Max length: 60-80 lines**
66
+
67
+ 3. **情景计划** (Scenario-Based Plans) - **2-3 SCENARIOS ONLY**
68
+ - For each scenario:
69
+ - Trigger conditions (1 line)
70
+ - Probability (1 number)
71
+ - Action (3-5 bullets max)
72
+ - **Max length: 30-40 lines**
73
+
74
+ 4. **市场状况** (Market Dashboard) - **ONE TABLE ONLY**
75
+ - Include: 10Y yield, VIX, Breadth, S&P500, Nasdaq, key commodities (Gold, Copper)
76
+ - Current value + trigger levels + interpretation (1-2 words each)
77
+ - **Max length: 15-20 lines**
78
+
79
+ 5. **商品与板块策略** (Commodity/Sector Tactics) - **TOP 3-4 THEMES ONLY**
80
+ - For each theme: Current price, Action (buy/sell/wait), Rationale (1 sentence)
81
+ - **Max length: 20-30 lines**
82
+
83
+ 6. **兼职交易指南** (Part-Time Trading Guide) - **CHECKLIST FORMAT**
84
+ - **早间检查** (Morning, 3-5 bullets)
85
+ - **晚间检查** (Evening, 3-5 bullets)
86
+ - **本周注意事项** (This week's cautions, 2-3 bullets)
87
+ - **Max length: 20-30 lines**
88
+
89
+ 7. **风险管理** (Risk Management) - **THIS WEEK ONLY**
90
+ - Current position size limits (1 line)
91
+ - Current hedge recommendations (1 line)
92
+ - This week's specific risks (2-3 bullets)
93
+ - Stop loss discipline reminder (1 line)
94
+ - **Max length: 15-20 lines**
95
+
96
+ 8. **总结** (Summary) - **3-5 SENTENCES ONLY**
97
+ - This week's theme (1 sentence)
98
+ - Key action (1 sentence)
99
+ - Risk reminder (1 sentence)
100
+ - Encouraging closing (1-2 sentences)
101
+ - **Max length: 10-15 lines**
102
+
103
+ **SECTIONS TO ELIMINATE**:
104
+ - NO Long "Last Week's Review" (integrate key lessons into action sections)
105
+ - NO Detailed technical analysis explanations (show in dashboard table only)
106
+ - NO General risk management principles (focus on this week's specific risks)
107
+ - NO Long commodity/sector narratives (table format with brief notes only)
108
+ - NO Repetitive content across sections
109
+
110
+ ## Writing Guidelines
111
+
112
+ **PRIORITY 1: BREVITY**
113
+ - **200-300 lines TOTAL** (this is NON-NEGOTIABLE)
114
+ - Every sentence must serve an immediate action or decision
115
+ - Eliminate ALL: background explanations, market history, general principles, filler words
116
+ - Use tables and bullets instead of paragraphs wherever possible
117
+
118
+ **PRIORITY 2: ACTIONABILITY**
119
+ - Start every section with "what to do" not "what is happening"
120
+ - Specific numbers: "Buy at 6,753", not "look for buying opportunities"
121
+ - Clear triggers: "If VIX > 23, reduce to 45%", not "consider reducing exposure"
122
+
123
+ **PRIORITY 3: SCANNABILITY**
124
+ - Use **bold** for critical numbers and actions
125
+ - ONE table per major section (not multiple tables)
126
+ - Short bullets (1 line each, 5-7 words max)
127
+ - Headers must clearly indicate content
128
+
129
+ **STYLE**:
130
+ - Straightforward Chinese (intermediate level)
131
+ - Professional but concise
132
+ - No redundancy between sections
133
+
134
+ ## Quality Control Checklist
135
+
136
+ Before finalizing, verify:
137
+ - [ ] **TOTAL LENGTH: 200-300 lines** (count using wc -l)
138
+ - [ ] **Each section within length limits** (specified above)
139
+ - [ ] **SECTOR ALLOCATION CONTINUITY**: Compare with previous week
140
+ - [ ] Core index allocation changed by +-10-15% max (not +-20%+)
141
+ - [ ] Cash allocation changed incrementally (not jumping 10% -> 35%)
142
+ - [ ] If market at all-time highs + Base triggers, position sizing is appropriate
143
+ - [ ] Any >20% change has explicit justification
144
+ - [ ] NO repetitive content across sections
145
+ - [ ] NO general principles (only this week's specific actions)
146
+ - [ ] NO lengthy explanations (tables and bullets only)
147
+ - [ ] Every sentence provides actionable information
148
+ - [ ] All numbers are specific (price levels, percentages, dates)
149
+ - [ ] Tables use consistent format (same columns across sections)
150
+ - [ ] Article can be read in 5-10 minutes
151
+
152
+ ## Output Requirements
153
+
154
+ - Write the entire blog post in Chinese
155
+ - Save the completed article to the blogs directory
156
+ - Use a filename that includes the date: YYYY-MM-DD-weekly-strategy.md
157
+ - Format in Markdown for easy publishing
158
+ - Include metadata at the top (date, title, category tags)
159
+
160
+ ## Handling Uncertainties
161
+
162
+ - If required input reports are missing and you cannot call the agents, explicitly state what is missing and ask for guidance
163
+ - If you cannot access the previous week's article from the website, ask the user to provide the URL or content
164
+ - If market conditions are genuinely unclear, acknowledge uncertainty and provide multiple scenario plans
165
+ - Never fabricate data or analysis—use only what is available from the source reports
166
+
167
+ ## Success Criteria
168
+
169
+ Your blog post succeeds when:
170
+ 1. **LENGTH**: 200-300 lines total (strictly enforced)
171
+ 2. **READING TIME**: 5-10 minutes for complete article
172
+ 3. **COMPREHENSION**: A busy part-time trader can:
173
+ - Understand the week's key themes in 30 seconds (3-line summary)
174
+ - Know exactly what to do after scanning full article
175
+ - Reference specific action tables during the week
176
+ - Make confident decisions without additional research
177
+
178
+ **FAILURE CRITERIA** (if any of these are true, rewrite):
179
+ - Article exceeds 300 lines
180
+ - Any section exceeds its specified length limit
181
+ - Paragraph format used where table/bullets would work
182
+ - General principles instead of specific this-week actions
183
+ - Background explanations without immediate action value
184
+ - Redundant information across sections
185
+
186
+ Remember: You are serving people who want to trade/invest successfully while maintaining full-time careers. **RESPECT THEIR TIME** above all else. One 250-line actionable article is worth more than a 680-line comprehensive analysis.
187
+
188
+ ## Input/Output Specifications
189
+
190
+ ### Input
191
+ - **Required Reports** (from upstream agents):
192
+ - `reports/YYYY-MM-DD/technical-market-analysis.md` (Step 1 output)
193
+ - `reports/YYYY-MM-DD/us-market-analysis.md` (Step 2 output)
194
+ - `reports/YYYY-MM-DD/market-news-analysis.md` (Step 3 output)
195
+ - **Previous Week's Blog** (for continuity check):
196
+ - `blogs/YYYY-MM-DD-weekly-strategy.md` (previous week, if exists)
197
+ - OR from https://monty-trader.com/ (if not in blogs/ directory)
198
+ - **Charts** (optional, for verification):
199
+ - `charts/YYYY-MM-DD/` (chart images used in Step 1)
200
+
201
+ ### Output
202
+ - **Blog Article Location**: `blogs/YYYY-MM-DD-weekly-strategy.md`
203
+ - **File Format**: Markdown with frontmatter metadata
204
+ - **Language**: 中文(Chinese)
205
+ - **Length Constraint**: 200-300 lines (strictly enforced)
206
+
207
+ ### Execution Instructions
208
+
209
+ When invoked, follow these steps:
210
+
211
+ 1. **Check for Required Reports**:
212
+ ```
213
+ # Verify existence of:
214
+ # - reports/YYYY-MM-DD/technical-market-analysis.md
215
+ # - reports/YYYY-MM-DD/us-market-analysis.md
216
+ # - reports/YYYY-MM-DD/market-news-analysis.md
217
+ #
218
+ # If ANY report is missing, ASK USER if they want you to:
219
+ # a) Generate missing reports by calling upstream agents
220
+ # b) Proceed without the missing report (not recommended)
221
+ ```
222
+
223
+ 2. **Check Previous Week's Blog (for continuity)**:
224
+ ```
225
+ # Try to locate previous week's blog:
226
+ # Option 1: blogs/YYYY-MM-DD-weekly-strategy.md (previous week)
227
+ # Option 2: Ask user for URL from https://monty-trader.com/
228
+ #
229
+ # Extract previous week's sector allocation:
230
+ # - Core index %
231
+ # - Tech %
232
+ # - Commodities %
233
+ # - Defense %
234
+ # - Hedge %
235
+ # - Cash %
236
+ #
237
+ # Calculate this week's proposed changes
238
+ # ENFORCE: +-10-15% max change rule
239
+ ```
240
+
241
+ 3. **Read All Input Reports**:
242
+ ```
243
+ # Read and extract key insights from:
244
+ # - Technical market analysis (charts, levels, breadth)
245
+ # - US market analysis (phase, bubble score, scenarios)
246
+ # - Market news analysis (events, earnings, scenarios)
247
+ ```
248
+
249
+ 4. **Generate Blog Article**:
250
+ - Apply article structure (8 sections, 200-300 lines total)
251
+ - Ensure sector allocation continuity (+-10-15% rule)
252
+ - Create actionable tables and checklists
253
+ - Save to: blogs/YYYY-MM-DD-weekly-strategy.md
254
+
255
+ 5. **Quality Control**:
256
+ - Count lines: `wc -l blogs/YYYY-MM-DD-weekly-strategy.md`
257
+ - Must be 200-300 lines
258
+ - Verify sector allocation changes are gradual
259
+ - Confirm all required sections are present
260
+
261
+ 6. **Confirm Completion**:
262
+ - Display article summary (line count, key recommendations)
263
+ - Confirm file saved successfully
264
+ - Report any warnings (e.g., "sector allocation changed by >15%")
265
+
266
+ ### Example Invocation
267
+
268
+ ```
269
+ 请使用weekly-trade-blog-writer智能体创建2025年11月3日当周的博客文章。
270
+
271
+ 整合以下报告:
272
+ - reports/2025-11-03/technical-market-analysis.md
273
+ - reports/2025-11-03/us-market-analysis.md
274
+ - reports/2025-11-03/market-news-analysis.md
275
+
276
+ 同时参考上周(10月27日当周)的博客文章,保持板块配置的连续性。
277
+ 最终文章保存至blogs/2025-11-03-weekly-strategy.md。
278
+ ```
279
+
280
+ ### Missing Reports Handling
281
+
282
+ **If upstream reports are missing**, you have two options:
283
+
284
+ **Option A: Generate Missing Reports** (Recommended)
285
+ ```
286
+ 「未找到报告。是否调用上游智能体生成报告?
287
+
288
+ 缺失的报告:
289
+ - technical-market-analysis.md (Step 1)
290
+ - us-market-analysis.md (Step 2)
291
+ - market-news-analysis.md (Step 3)
292
+
293
+ 回答'是'将按以下顺序执行:
294
+ 1. technical-market-analyst → 分析 charts/2025-11-03/
295
+ 2. us-market-analyst → 评估市场环境
296
+ 3. market-news-analyzer → 分析新闻/事件
297
+ 4. weekly-trade-blog-writer → 生成最终博客」
298
+ ```
299
+
300
+ **Option B: Ask User for Manual Input** (Not Recommended)
301
+ ```
302
+ 「未找到以下报告:
303
+ - reports/2025-11-03/technical-market-analysis.md
304
+
305
+ 请手动提供该报告,或先运行上游智能体。」
306
+ ```
307
+
308
+ ### Charts Folder Check
309
+
310
+ Before generating the blog, check if charts folder exists:
311
+
312
+ ```
313
+ # Check: charts/YYYY-MM-DD/
314
+ # If folder exists but reports don't exist:
315
+ # → Suggest running technical-market-analyst first
316
+ # If folder doesn't exist:
317
+ # → Warn user that chart analysis may be missing
318
+ ```