Research Report

Weizhena/Deep-Research-skills/skills/research-codex-zh/research-report

作者 Weizhena6ce38f60e3f8b22502c29873f96503a4e0c5addb無授權條款收錄於 2026年10月9日更新於 2026年10月9日

Summarize deep research results into markdown report, cover all fields, skip uncertain values.

AI 產生的概覽

將深度研究的 JSON 結果彙整為含目錄與分類詳情的 Markdown 報告。

功能
此技能透過尋找 outline.yaml 定位研究結果目錄,讀取主題與輸出目錄設定,並掃描 JSON 結果檔案中的簡短摘要欄位。它會詢問使用者希望在目錄中顯示哪些欄位,接著產生一個 Python 指令碼,將 JSON 轉換為 Markdown 報告。報告包含帶錨點連結與所選摘要欄位的目錄,以及依欄位類別組織的詳細內容,並略過標記為不確定的欄位。
適用情境
適用於深度研究已產出 JSON 結果與 outline.yaml 之後,需要產生統一 Markdown 摘要報告的情況。也適合需要可導覽目錄與依類別組織詳情的結果整理工作。
執行需求
需要工作目錄中已有 outline.yaml、JSON 結果檔案,以及描述欄位結構的 fields.yaml。需要 Python 執行環境來執行產生的 generate_report.py 指令碼,並需要使用者輸入以選擇要顯示的摘要欄位。此技能本身不附帶指令碼,而是產生指令碼。

Research Report - Summary Report

Trigger

/research-report

Workflow

Step 1: Locate Results Directory

Find */outline.yaml in current working directory, read topic and output_dir config.

Step 2: Scan Optional Summary Fields

Read all JSON results, extract fields suitable for TOC display (numeric, short metrics), e.g.:

  • github_stars
  • google_scholar_cites
  • swe_bench_score
  • user_scale
  • valuation
  • release_date

Use request_user_input to ask user:

  • Which fields to display in TOC besides item name?
  • Provide dynamic options list (based on actual fields in JSON)

Step 3: Generate Python Conversion Script

Generate generate_report.py in {topic}/ directory, script requirements:

  • Read all JSON from output_dir
  • Read fields.yaml to get field structure
  • Cover all field values from each JSON
  • Skip fields with values containing [uncertain]
  • Skip fields listed in uncertain array
  • Generate markdown report format: Table of contents (with anchor links + user-selected summary fields) + Detailed content (by field category)
  • Save to {topic}/report.md

TOC Format Requirements:

  • Must include every item
  • Each item displays: number, name (anchor link), user-selected summary fields
  • Example: 1. [GitHub Copilot](#github-copilot) - Stars: 10k | Score: 85%
Script Technical Requirements (Must Follow)

1. JSON Structure Compatibility Support two JSON structures:

  • Flat structure: Fields directly at top level {"name": "xxx", "release_date": "xxx"}
  • Nested structure: Fields in category sub-dict {"basic_info": {"name": "xxx"}, "technical_features": {...}}

Field lookup order: Top level -> category mapping key -> Traverse all nested dicts

2. Category Multi-language Mapping fields.yaml category names and JSON keys can be any combination (CN-CN, CN-EN, EN-CN, EN-EN). Must establish bidirectional mapping:

python
CATEGORY_MAPPING = {    "Basic Info": ["basic_info", "Basic Info"],    "Technical Features": ["technical_features", "technical_characteristics", "Technical Features"],    "Performance Metrics": ["performance_metrics", "performance", "Performance Metrics"],    "Milestone Significance": ["milestone_significance", "milestones", "Milestone Significance"],    "Business Info": ["business_info", "commercial_info", "Business Info"],    "Competition & Ecosystem": ["competition_ecosystem", "competition", "Competition & Ecosystem"],    "History": ["history", "History"],    "Market Positioning": ["market_positioning", "market", "Market Positioning"],}

3. Complex Value Formatting

  • list of dicts (e.g., key_events, funding_history): Format each dict as one line, separate kv with |
  • Normal list: Short lists joined with comma, long lists displayed with line breaks
  • Nested dict: Recursive formatting, display with semicolon or line breaks
  • Long text strings (over 100 chars): Add line breaks <br> or use blockquote format for readability

4. Extra Fields Collection Collect fields that exist in JSON but not defined in fields.yaml, put in "Other Info" category. Note to filter:

  • Internal fields: _source_file, uncertain
  • Nested structure top-level keys: basic_info, technical_features etc.
  • uncertain array: Display each field name on separate line, don't compress into one line

5. Uncertain Value Skipping Skip conditions:

  • Field value contains [uncertain] string
  • Field name is in uncertain array
  • Field value is None or empty string

Step 4: Execute Script

Run python {topic}/generate_report.py

Output

  • {topic}/generate_report.py - Conversion script
  • {topic}/report.md - Summary report

來源與署名

來源:Weizhena/Deep-Research-skills位於skills/research-codex-zh/research-report提交6ce38f6

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架