# Research Report

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

- Repository: https://github.com/Weizhena/Deep-Research-skills (2463 stars)
- Category: Writing
- License: MIT
- Last updated: 2026-08-23
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add Weizhena/Deep-Research-skills --skill research-report -g -a claude-code -y`
Codex: `npx skills add Weizhena/Deep-Research-skills --skill research-report -g -a codex -y`
Cursor: `npx skills add Weizhena/Deep-Research-skills --skill research-report -g -a cursor -y`
Gemini CLI: `npx skills add Weizhena/Deep-Research-skills --skill research-report -g -a gemini-cli -y`

## Description

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

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 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

The rest: https://github.com/Weizhena/Deep-Research-skills/blob/HEAD/skills/research-codex-en/research-report/SKILL.md
