Skip to content
Research
Skill

/research-report

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

BOOST
From plugin
deep-research-skills
2.3k5 skills7 agents
Install
$ npx -y skills add Weizhena/Deep-Research-skills --skill research-report --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/research-report

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

SKILL.md

research-report.SKILL.md
name: research-report
description: Summarize deep research results into markdown report, cover all fields, skip uncertain values.

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:

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
Read more
Ships withdeep-research-skills

If you find this project helpful, please give it a star! :star: Inspired by RhinoInsight: Improving Deep Research through Control Mechanisms for Model Behavior and Context A structured research workflow skill for Claude Code, OpenCode, and Codex, supporting

Get the whole plugin
Stats
2,312
Stars
189
Forks
Maintained
Maintenance
Python
Language
MIT
License
1mo ago
Last commit
9mo ago
Created
12h ago
Added

Repo: Weizhena/Deep-Research-skills

Other skills on deep-research-skills.