MM

mm-report-writer

Writes high-quality equity research reports from gathered evidence.

Install

mkdir -p .claude/skills/mm-report-writer && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/14472" && unzip -o skill.zip -d .claude/skills/mm-report-writer && rm skill.zip

Installs to .claude/skills/mm-report-writer

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Generates daily or weekly research report from evidence cards, quant summary, thesis map, and company profile
109 charsno explicit “when” trigger
Advanced

Key capabilities

  • Generate institutional-quality equity research reports
  • Synthesize evidence cards, quant summaries, and thesis maps
  • Write executive summaries with bold lead clauses and quantified support
  • Describe market context including macro regime and relative strength
  • Detail company events and news by materiality
  • Provide valuation analysis from shared context

How it works

This skill processes a research packet to generate an equity research report, structuring it into predefined sections and ensuring evidence-backed statements.

Inputs & outputs

You give it
Research packet containing evidence_digest, shared_context, thesis_map, debate_summary, memory_context
You get back
Formatted equity research report in Markdown

When to use mm-report-writer

  • Write research reports
  • Generate investment thesis
  • Draft equity analysis

About this skill

Role: Research Report Writer

Mission

Write an institutional-quality equity research report based on the full research packet. The report must be evidence-backed, balanced, and actionable.

Language

Read resolved_config.jsonlanguage (en | ch). Exactly one language per run. Headings, narrative, tables and enum glosses all use that language; a report mixing English and Chinese is a defect, not a style.

Always English in both languages: JSON keys, enum VALUES (hazy_but_coming, independent_up, accumulate), evidence-card ids, file paths, tickers, indicator names (RSI, MACD, OBV, CMF, VWAP, ATR, EV/EBITDA), and BUY/HOLD/SELL.

The section specs below are written with the en heading. If language is ch, substitute the ch column below verbatim (it includes the ##). If en, use the spec as written. Never emit a heading containing both languages.

Language Map — headings

en (as written below)ch
## Executive Summary## 摘要
## Story & Game## 故事与博弈
## Money Flow & Chip Structure## 资金与筹码
## Peer Cohort Divergence## 同类股分化
## Market Context## 市场环境
## Company Events & News## 公司事件与新闻
## Valuation / ## Valuation Reference## 估值 / ## 估值参考
## Catalysts & Risks## 催化剂与风险
## Investment View## 投资观点
## Outside the Framework## 框架之外
## Sources & Evidence## 来源与证据

Language Map — enum glosses

The artifact stores the English enum VALUE; the report prints ONE gloss, in the report language.

artifact field / valuesen glossch gloss
certainty.tier: confirmed / high_probability / hazy_but_coming / pure_themeconfirmed / high-probability / hazy-but-coming / pure theme确定 / 大概率 / 朦胧但必来 / 纯题材
stage.tier: untold / starting / fermenting / consensus / realized / falsifieduntold / starting to be told / fermenting / consensus / realized / falsified未讲 / 开始讲 / 发酵 / 共识 / 兑现 / 证伪
path_class: follows_sector / independent_up / independent_down / basing / launchedfollows sector / independent up / independent down / basing / launched跟随板块 / 独立走强 / 独立走弱 / 横盘蓄势 / 已启动

The path_class labels must match the chart legend (templates/charts.py::_PATH_CLASS_LABELS) so the table and peer_grid.svg agree.

Language Map — A-share data fields

artifact fielden termch term
volume.volume_ratiovolume ratio量比
volume.turnover.turnover_pctturnover rate换手率
cn_flows.main_forcelarge-order (main-force) net flow主力资金
cn_flows.northboundNorthbound (Stock Connect) holdings北向持股
cn_flows.marginmargin financing balance融资余额
cn_flows.lhbexchange top-buyer/seller disclosure龙虎榜
cn_flows.holder_countregistered shareholder count股东户数
cn_flows.restricted_releaselock-up expiry / restricted-share release解禁
chip_distribution.trapped_ratiotrapped supply (holders underwater)套牢盘

This is gated on market_profile, not on language. On an en run for a CN/HK name you MAY append the Chinese source term in parentheses on first mention within a section, as data provenance — never in a heading, the Executive Summary, the Investment View, or analysis prose. On an en run for a US / JP / UK / EU name the report must contain ZERO Chinese characterscn_flows is null there, so no provenance parenthetical can apply.

Workspace path: $ARGUMENTS[0] Run date: $ARGUMENTS[1] (YYYY-MM-DD) Mode: $ARGUMENTS[2] (optional — "initial" for first draft, "revision" for targeted rewrite)

Derive TICKER from the workspace directory name (e.g., workspaces/NVDANVDA). Use it for MCP resource URIs.

All paths below use {date} = $ARGUMENTS[1].

Inputs (MCP-first)

Primary input — read ONE composite resource instead of many files:

For initial mode, read workspace://{TICKER}/{date}/draft_packet via MCP resource. This returns:

  • evidence_digest — all evidence cards in one object
  • shared_context — quant, valuation, profile, peers, catalysts, macro_regime (deterministic macro classification + a summary already resolved to the report language, with summary_lang, + inputs_missing), intraday (1h/4h timing block — timing color only, never a thesis reason), chips (volume/chip structure — directional evidence, cite it like fundamentals), peer_divergence (per-peer path classification), investor (the user's horizon / edge hypothesis / position state — write for THIS reader)
  • thesis_map — debate synthesis (consensus, disagreements, writer_guidance, unconventional_factors)
  • debate_summary — human-readable debate summary
  • memory_context — procedural memories (known pitfalls) + episodic memories (prior decisions), or null

Also read {workspace}/discussion/{date}/story_map.json (story/game synthesis: story, size, certainty, stage, falsifier) and {workspace}/resolved_config.json for report mode (daily/weekly) and language.

For revision mode, read workspace://{TICKER}/{date}/review_packet via MCP resource to get the latest draft + evidence + context, plus:

  • {workspace}/reviews/{date}/revision_briefs/revision_brief.json — what to fix

Fallback (if MCP resources unavailable): Read individual files directly:

  • {workspace}/shared_context/{date}.json, {workspace}/normalized/{date}/evidence_digest.json, {workspace}/discussion/{date}/thesis_map.json, {workspace}/memory/{date}_writer.json

Behavior Modes

Mode A: Initial Draft (default)

Write a complete research report.

Daily Report Structure (8-10 sections)

Write to: {workspace}/drafts/{date}/daily_v1.md

Section order depends on profile.market_profile:

  • CN / HK (game-driven markets): Executive Summary → Story & Game → Money Flow & Chip Structure → Peer Cohort Divergence → Market Context → Company Events & News → Company Fundamentals → Valuation Reference → Catalysts & Risks → Investment View → Outside the Framework → Sources. In these markets the story and the chips ARE the thesis spine; valuation is a floor/reference, never the lead.
  • US / other (value-anchored markets): Executive Summary → Market Context → Company Events & News → Money Flow & Chip Structure → Valuation → Story & Game → Peer Cohort Divergence → Catalysts & Risks → Investment View → Outside the Framework → Sources.

Section specs (same content contract in either order):

# {Company Name} ({TICKER}) — Daily Market Detail Report
**Date:** {today}  |  **Decision:** {from thesis_map dominant view}  |  **Sector:** {sector}

---

## Executive Summary
<The Page-1 investment summary. Write 3-4 bullets, each a **bold lead clause** (the point in one line) followed by 2-3 sentences of specific, quantified support. Lead with numbers; cite evidence card IDs. The first bullet is the single most important takeaway (the "top call"); the last states the net directional lean and the trigger that would change it. For CN/HK names the top call is the story-and-chips read, not the fair-value gap. Mirror this shape:
- **Bold lead clause capturing the point.** 2-3 sentences with specific numbers, comparisons, and the evidence (ev_… ids) behind it.
(The PDF renderer builds a rating box — decision, confidence, price, fair value, margin of safety — automatically from the JSON, so do NOT restate a rating table here; focus on the narrative bullets.)>

## Story & Game
<From `story_map.json` + thesis_map. Answer the four questions in order, plainly: (1) What is the story — one sentence. (2) Is it big enough — for this company's `cap_tier`, does the story move the needle, and how does capital at this tier play stories (use the cap-tier playbook from config)? (3) How certain is it — the `certainty.tier` from story_map (`confirmed` / `high_probability` / `hazy_but_coming` / `pure_theme`), printed with its report-language gloss from the Language Map, with the reasoning. (4) Where is the telling — the `stage.tier` (`untold` / `starting` / `fermenting` / `consensus` / `realized` / `falsified`), same gloss rule, and who is telling it (company / institutions / media / hot money). End with the falsifier: the single event that kills the story, and the verification date if one exists.>

## Money Flow & Chip Structure
<From `shared_context.chips` (chip_structure.json) + quant_summary.json. This section replaces the old moving-average snapshot. Cover: current price and returns (1d/5d/1m/3m); volume regime (volume ratio, expansion/contraction, up-day vs down-day volume); chip distribution (main peak, 90% cost band, concentration, profit vs trapped ratio); support/resistance with volume strength; for CN names with `cn_flows`: large-order net flow, Northbound holding change, margin financing balance, exchange top-buyer/seller seats, registered shareholder-count trend, upcoming lock-up expiries — each with its data_quality. State what the chips SAY: who has been accumulating or distributing, and whether the chips are clean. RSI/MACD one line each; trend_regime one clause of backdrop. NEVER mention golden/death crosses. Include the snapshot table (support/resistance, volume ratio / turnover rate, concentration, profit ratio — not SMA rows) and end with a source line. If `chips.available` is false, say what degraded and fall back to the volume flags in quant_summary.>

![Price action & technicals](charts/price_chart.svg)

## Peer Cohort Divergence
<From `shared_context.peer_divergence` + peer_set.json. Not "the sector did X" — walk the cohort: which names move with the sector, which walk their own path (take the `path_class` VALUE from the artifact — `follows_sector` / `independent_up` / `independent_down` / `basing` / `launched` — and render it with the report-language label from the Language Map; ONE label per cell, never both), the current leader, the dispersion, and the product-niche differences (`p

---

*Content truncated.*

When not to use it

  • When the report is not an equity research report
  • When the input data is not in the form of evidence cards, quant summary, thesis map, and company profile
  • When fabricating data or events not present in evidence cards

Limitations

  • Every material claim in the report must reference a specific evidence card ID or quant data point.
  • The report must avoid generic market commentary that could apply to any stock.
  • Valuation figures must come from `valuation_summary.json` and not be fabricated or WebSearched.

How it compares

This workflow automates the synthesis of various research inputs into a structured report, unlike manual report writing from disparate sources.

Compared to similar skills

mm-report-writer side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
mm-report-writer (this skill)02moNo flagsAdvanced
hotspot-qa05moReviewIntermediate
executing-marketing-campaigns118moReviewIntermediate
clinical-decision-support42moReviewAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

hotspot-qa

aifinlab

面向基金品牌与内容领域的热点问答任务Skill,围绕「热点问答助手」场景提供信息抽取、结构化分析与结果输出。

00

executing-marketing-campaigns

davila7

Plans, creates, and optimizes marketing campaigns including content strategy, social media, email, and analytics. Helps develop go-to-market strategies, campaign messaging, and performance measurement.

1181

clinical-decision-support

K-Dense-AI

Generate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug development, clinical research, and evidence synthesis.

48

creating-pitch-books

CaseMark

Builds client pitch materials with market overview, strategic rationale, valuation analysis, and transaction positioning. Use when creating pitch books, preparing client presentations, or building deal marketing materials.

00

readability

humanizerai

Analyze text readability with Flesch-Kincaid, Gunning Fog, SMOG, and other metrics. Returns objective scores with interpretation and recommendations.

00

deal-memo-writer

Syntari-International-Inc

Write deal memos for PE acquisitions and CRE investments. Structure company/property overview, investment thesis, financial analysis, risks, and recommendation. Use when preparing deal memos, writing investment summaries, or documenting deal rationale.

00

Search skills

Search the agent skills registry