Stock Qualitative Analysis Skill
When to use
Use this skill when a user asks for a qualitative stock analysis report (定性分析) that must be evidence-based and formatted as a structured report. This skill emphasizes strict citations and non-hallucination behavior.
Inputs
- •Company name (required)
- •Ticker / exchange (optional but recommended)
- •Market context (US / HK / CN / other)
- •Time window (e.g., FY2015–FY2024; latest quarterly)
- •Language preference (Chinese default; English if requested)
- •Sources:
- •User-provided filings (PDF or HTML)
- •SEC EDGAR fetch (optional, if allowed)
- •Other public sources (only if cited)
Outputs
- •A Markdown report following the template structure in
assets/report-template.md - •Each section contains:
结论要点 / 详细情况 / 证据与出处(or English equivalents when English output is requested) - •Final
来源清单with SEC filings and other sources in reverse-chronological order
Core rules (non-negotiable)
- •Do not state facts without a source.
- •Any factual claim MUST include a source string; otherwise use a placeholder in
【...】describing what is needed. - •Actively analyze sources: Go beyond surface-level summaries. Extract specific details, quantitative data, and contextual insights relevant to each section of the report template.
- •Comprehensive filling: Make the best effort to fill all sections of the report template. If information is truly missing from the provided sources, use a specific placeholder indicating what is missing.
- •If real-time data is required, explicitly state that the user must verify freshness.
- •No investment advice, price targets, or trading recommendations.
- •Default output language: Chinese. If the user query is in English, respond in English.
Execution
- •Intake: confirm company name, ticker/exchange, market, time window, and allowed data sources.
- •Pre-check local data: before any remote fetching, verify whether local filings are sufficient; only fetch remotely if local data is insufficient.
- •Acquire sources: use
scripts/build_source_manifest.pyto pull SEC filings and ingest local PDFs. - •Extract key 10-K sections (HTML): use
scripts/extract_sec_html_sections.pyto produce per-item text files (e.g., Item 1/1A/7/8) before analysis. - •Section-by-section generation (Agent-driven): for each section in
assets/report-template.md, the Agent expands the section in sequence, producing结论要点 / 详细情况 / 证据与出处based on the available sources and citing evidence. - •Progressive write-back: before starting summaries, determine whether a local report file exists; after completing each section, write the content into that file.
- •Finalization: rewrite
投资要点概览after all sections are complete, then update来源清单.
Usage
- •The Agent executes the section loop at runtime based on the template headings.
- •The Agent MUST attempt to fill every section using provided sources and mark missing facts with explicit placeholders.
- •If the user asks for English output, the Agent translates the template headings and section labels consistently (e.g., Conclusion / Details / Evidence) while preserving the report structure.
Data acquisition
- •SEC EDGAR fetch:
scripts/fetch_sec_edgar.py - •Local PDF ingestion:
scripts/ingest_local_pdfs.py - •Source manifest:
scripts/build_source_manifest.py - •HTML section extractor:
scripts/extract_sec_html_sections.py
Citation format
- •SEC filings:
Form 10-K/10-Q/20-F/6-K + 年度/日期 + 章节/标题 - •Web sources:
机构/网站 + 发布日期 + 标题
Examples
Example request
“参考 SEC filings,帮我做 AAPL 的定性分析,按模板输出。”
Example output shape
Use assets/report-template.md and fill each section with facts + citations. Unknowns become placeholders.
References
- •Guardrails and writing style:
references/prompt-guardrails.md - •Report template:
assets/report-template.md - •Validation checklist:
references/validation-checklist.md - •Goldenset examples:
references/goldenset.md