research-report
Summarize deep research results into markdown report, cover all fields, skip uncertain values.
pinned to #e5479f8updated 2 weeks ago
Ask your AI client: “install skills/research-report”.
Requires the metahub MCP server installed in your client. Set up MCP.
mh install skills/research-reportmetahub onboarded this repo on the author's behalf.
If you own github.com/Weizhena/Deep-Research-skills on GitHub, claim the listing to take over publishing. Your claim preserves the existing eval history and badges; only the curator label is replaced with verified-publisher on your next publish.
Stars
1,619
Last commit
2 weeks ago
Latest release
published
- #claude-code
- #claude-code-skills
- #deep-research-agent
- #gpt-skills
- #llm-agent
- #opencode
- #opencode-skills
- #research
Evaluation report
WarningsAutomated checks the publisher passed at publish time — structure, docs, safety, and whether the artifact behaves as claimed.e5479f8· 2 weeks ago
Documentation
41Description qualitywarn
13 words · 94 chars — skills use the description as their trigger; aim higher
Aim for 15+ words and include trigger phrases like “use this skill when …”.
README is present and substantial
5,486 chars · 7 sections · 11 code blocks
Tags / topics declared
8 total — claude-code, claude-code-skills, deep-research-agent, gpt-skills, llm-agent, opencode (+2)
README has usage / example sections
found: Installation
Homepage / docs URL declared
no homepage declared (registry will use the repo URL) — info-only, not blocking
Release history
1- releasecurrente5479f8warn2 weeks ago
Contents
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_featuresetc. uncertainarray: 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
uncertainarray - 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
Reviews
No reviews yet. Be the first.
Related
Frontend Slides
Create beautiful slides on the web using Claude's frontend skills
Guizang Ppt Skill
AI-agent Skill for generating polished HTML slide decks: editorial magazine and Swiss layouts, image prompts, social covers, and a WebGL/low-power presentation runtime.
Gpt Researcher
An autonomous agent that conducts deep research on any data using any LLM providers
mh install skills/research-report