一键导入
一键导入
Verify Daloopa MCP connection and show available skills
Build an industry comp sheet Excel model with deep operational KPIs
Build a multi-tab Excel financial model
Generate an institutional-grade investment banking pitch deck (HTML)
Initiate coverage — generate both research note (HTML) and Excel model (.xlsx)
Deep dive into capital deployment, buybacks, dividends, and shareholder yield
| name | research-note |
| description | Generate a professional Word document research note |
| argument-hint | TICKER |
Generate a professional research note (HTML report) for the company specified by the user: $ARGUMENTS
Before starting, read data-access.md for data access methods and design-system.md for formatting conventions. Follow the data access detection logic and design system throughout this skill.
This is an orchestrator skill that gathers comprehensive data, then renders a styled HTML report using the HTML Report Template from design-system.md (full CSS inlined, zero dependencies).
Look up the company by ticker using discover_companies. Capture:
company_idlatest_calendar_quarter — anchor for all period calculations (see data-access.md Section 1.5)latest_fiscal_quarterdata-access.md Section 4.5Get current stock price, market cap, shares outstanding, beta, and trading multiples for {TICKER} using the 3-step resolution: (1) MCP market data tools if available, (2) web search, (3) sensible defaults (see data-access.md Section 2 for how to source market data).
Initialize context: context = {company_name, ticker, date, price, market_cap, firm_name, ...}
Calculate 8 quarters backward from latest_calendar_quarter. Pull Income Statement metrics:
Pull Cash Flow & Balance Sheet:
For every value returned by get_company_fundamentals, record its fundamental_id (the id field). Store each data point as {value, fundamental_id} so citations can be rendered in the final document.
Compute margins and YoY growth rates for each quarter. Build context.financials with tables. Every Daloopa-sourced number must include its citation link: [$X.XX million](https://daloopa.com/src/{fundamental_id}).
After the core financial pull, add:
New context keys:
cost_margin_analysis (string) — narrative explaining what's driving margins, with Daloopa citationsopex_breakdown_table (dynamic table) — [{metric, Q1, Q2, ...}] rows for R&D, SG&A, Other OpEx, each with absolute values and % of revenue sub-rowsThink about what KPIs matter most for THIS company's business model. Search for:
Pull the same 8 quarters (from latest_calendar_quarter). Build context.kpis and context.segments.
After the KPI/segment pull, determine the company's sector and apply the relevant analysis template:
Search for relevant series using discover_company_series with sector-appropriate keywords. Pull available data and build the narrative.
New context key:
industry_deep_dive (string) — sector-specific analysis narrative with Daloopa citations, organized by the relevant template aboveSearch for guidance series ("guidance", "outlook", "forecast", "estimate", "target").
Pull guidance and corresponding actuals. Apply +1 quarter offset rule.
Compute beat/miss rates and patterns.
Build context.guidance (set context.has_guidance = true/false).
Using the financial baseline from Phase B:
Build falsifiable bull/bear beliefs instead of probability-weighted scenarios:
Write 4-6 numbered beliefs, each with:
Example format: "1. Revenue growth re-accelerates to 15%+ as AI monetization scales. Cloud segment grew $X.Xbn last quarter, up X% YoY, with management noting..."
Same format — 4-6 numbered falsifiable beliefs with evidence for the downside case.
For each side:
New context keys:
bull_beliefs (string) — numbered falsifiable beliefs with evidencebear_beliefs (string) — numbered falsifiable beliefs with evidencebull_target (string) — price target + valuation mathbear_target (string) — price target + valuation mathrisk_reward_assessment (string) — asymmetry analysisPull buyback, dividend, share count, FCF data.
Compute shareholder yield, FCF payout ratio, net leverage.
Build context.capital_allocation.
DCF:
context.dcf (set context.has_dcf = true)Comps:
context.comps (set context.has_comps = true)Search SEC filings across multiple queries:
Extract and organize into:
context.risks — ranked list of risks with impact/probabilitycontext.investment_thesis — variant perception, thesis pillars, catalystscontext.company_description — 2-3 sentence business descriptionRun 4 WebSearch queries to gather recent external context:
"{TICKER} {company_name} news {year}" — recent headlines and developments"{TICKER} analyst upgrade downgrade price target" — sell-side sentiment shifts"{TICKER} catalysts risks" — forward-looking events and risk factors"{company_name} industry outlook {sector}" — macro and industry trendsOrganize results into three new context keys:
news_timeline (string) — 6-10 key events from the last 6-12 months in reverse chronological order. Each event: date, headline, 1-sentence impact, sentiment tag (Positive / Negative / Mixed / Upcoming). Format as a numbered list.
forward_catalysts (string) — Organized by timeframe:
policy_backdrop (string) — Macro/regulatory context affecting the company. Tariffs, regulation, interest rates, sector-specific policy. Leave empty string if not material.
Present all chart data in well-formatted tables. No chart generation needed.
This is the most judgment-intensive step. Be honest and critical — the reader is a professional investor who needs your real assessment, not a balanced summary.
Write:
context.executive_summary, context.variant_perceptionIdentify the 5 most critical bull/bear debates for this stock. Each tension is a single line that frames both sides. Alternate between bullish-leaning and bearish-leaning tensions. Every tension must reference a specific data point from the analysis.
Format as a numbered list:
Build context.five_key_tensions (string).
Build two monitoring lists for ongoing tracking:
Quantitative Monitors — 5-7 specific metrics with explicit thresholds:
Qualitative Monitors — 5-7 factors to watch:
Build context.monitoring_quantitative and context.monitoring_qualitative (strings, numbered lists).
Also build structured tables for the template:
context.key_metrics_table — [{metric, value, vs_prior}] for the exec summary tablecontext.financials_table — [{metric, q1, q2, ...}] for the financial analysis sectioncontext.segments_table, context.geo_table, context.shares_outstanding_tablecontext.opex_breakdown_table — [{metric, q1, q2, ...}] for R&D, SG&A, % of revenue rowscontext.guidance_table, context.comps_table, etc.Using the HTML Report Template from design-system.md, generate a styled HTML report with full CSS inlined. The report should include:
Header Section:
Section 1: Executive Summary
Section 2: Company Overview
Section 3: Recent News & Catalysts
Section 4: Financial Analysis
Section 5: Industry-Specific Analysis
Section 6: Guidance Track Record
Section 7: What You Need to Believe
Section 8: Catalysts
Section 9: Capital Allocation
Section 10: Valuation
Section 11: Risks
Section 12: Monitoring Framework
Appendix:
Verify these keys exist before rendering (set empty string if data unavailable):
Cover & Summary:
company_name, ticker, date, price, market_cap, five_key_tensions, executive_summary, key_metrics_table
Thesis & Overview:
investment_thesis, variant_perception, company_description
News:
news_timeline
Financials:
financials_table, cost_margin_analysis, opex_breakdown_table, segments_table, geo_table, shares_outstanding_table
Industry:
industry_deep_dive
Guidance:
has_guidance, guidance_track_record
What You Need to Believe:
bull_beliefs, bull_target, bear_beliefs, bear_target, risk_reward_assessment
Catalysts:
forward_catalysts, policy_backdrop
Capital Allocation:
capital_allocation_commentary
Valuation:
has_dcf, dcf_summary, has_comps, comps_commentary
Risks:
risks_summary
Monitoring:
monitoring_quantitative, monitoring_qualitative
Appendix:
appendix_content
Present the styled HTML report directly in the response. Tell the user:
Citation enforcement: Every financial figure from Daloopa in the HTML report must use citation format: [$X.XX million](https://daloopa.com/src/{fundamental_id}). If a number came from get_company_fundamentals, it must have a citation link. No exceptions.