К основному содержанию
скилл CX Codex

research-report — скилл для Claude Code: отчёт из исследований

Собирает результаты глубокого исследования в Markdown-отчёт с оглавлением и деталями по полям. Нужен, когда данные лежат в нескольких JSON-файлах.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add Weizhena/Deep-Research-skills --skill research-report -a claude-code
Открыть на GitHub

Что делает research-report

Скилл запускается через /research-report. Он ищет */outline.yaml в рабочем каталоге, берёт тему и output_dir, затем читает JSON-результаты. Перед сборкой он спрашивает, какие краткие метрики показать в оглавлении помимо имени элемента.

Далее скилл создаёт {topic}/generate_report.py и запускает его. Скрипт читает fields.yaml, поддерживает плоские и вложенные JSON, собирает дополнительные поля в раздел Other Info и сохраняет Markdown в {topic}/report.md. В оглавление попадает каждый элемент со ссылкой-якорем.

Поля с [uncertain], пустыми значениями или именами из массива uncertain в отчёт не попадают. Для работы нужен доступный python, потому что финальный шаг прямо запускает сгенерированный скрипт.

Какие задачи решает

  • собрать Markdown-отчёт из JSON-результатов
  • создать оглавление со ссылками на каждый элемент
  • исключить помеченные как неопределённые значения
  • показать поля, которых нет в fields.yaml
  • оформить вложенные списки и словари в отчёте

Примеры запросов агенту

  • /research-report собери отчёт по результатам в текущем каталоге
  • /research-report добавь в оглавление доступные числовые метрики
  • /research-report создай report.md из JSON в output_dir

Как установить research-report

1Через Skills CLI (Vercel)

npx skills add Weizhena/Deep-Research-skills --skill research-report -a claude-code

2Вручную: положить файлы

~/.claude/skills/research-report/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/research-report/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора5

Похожие

research-writing-skill zLanqing Помогает писать и редактировать научные статьи, диссертации и ответы рецензентам на китайском и английском языках в Markdown и LaTeX. CX Codex +1 878установок firecrawl-research glebis Скилл находит темы в markdown-заметках, выкачивает материалы через FireCrawl API и собирает структурированные отчёты. Пригодится для научной работы и подготовки библиографии. CX Codex +1 379установок results-report Galaxy-Dawn Собирает итоговый отчёт по завершённому эксперименту: что проверили, что подтвердилось, что делать дальше. Работает после скилла results-analysis. CX Codex +1 490установок deep-research samber Скилл для глубокого ресёрча: параллельные веб-поиски, проверка по нескольким источникам и готовый отчёт в Markdown со ссылками. CX Codex +1 4 700установок github-deep-research bytedance Проводит многораундовое исследование любого GitHub-репозитория и собирает структурированный markdown-отчёт с таймлайном, метриками и диаграммами Mermaid. CX Codex +1 2 900установок ai-research-reproduction lllllllama Скилл ведёт от чтения README до проверяемого запуска модели и собирает отчёт с командами, логами и отклонениями. Пригодится для воспроизведения эксперимента в конкретном репозитории. CX Codex +1 337 100установок

Рядом в теме «Тексты и документация»

Всё по теме «Тексты и документация» →

Вопросы о research-report

Как установить research-report в Claude Code?

Выполните npx skills add Weizhena/Deep-Research-skills --skill research-report -a claude-code, затем ещё раз npx skills add Weizhena/Deep-Research-skills --skill research-report -a claude-code. Файл скилла находится в ~/.claude/skills/research-report/SKILL.md.

Что делает research-report?

Скилл превращает набор JSON-результатов исследования в Markdown-отчёт. Он создаёт оглавление, группирует значения по полям и пропускает неопределённые данные.

Какие значения research-report исключает из отчёта?

Он пропускает пустые значения, поля со строкой [uncertain] и поля, перечисленные в массиве uncertain.

Исходный текст

SKILL.md · MIT
---
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:
```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 · MIT · Weizhena/Deep-Research-skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой