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

research-external — скилл для Claude Code: что делает и как установить

Скилл для поиска по внешней документации, библиотекам и практикам 2024–2025 годов без изучения локальной кодовой базы. Запускает поиск через Perplexity, Nia Docs и Firecrawl.

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

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

Разделяет исследование на три режима. Режим library берёт документацию пакетов из npm, PyPI, Crates или Go modules. Режимы best-practices и general опрашивают Perplexity и внешнюю документацию. Сбор практик строго ориентирован на 2024–2025 годы.

Внутри работают скрипты nia_docs.py, perplexity_search.py и firecrawl_scrape.py. Они запускаются через uv run python в каталоге переменной $CLAUDE_OPC_DIR. Результат сохраняется в thoughts/shared/research/, выводится в диалог или форматируется для передачи в кодинг.

Скилл принципиально не читает локальный код проекта. Это повод проверить наличие переменной $CLAUDE_OPC_DIR и локальных скриптов перед запуском: без них процесс упадёт с ошибкой.

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

  • найти примеры вызова API библиотеки в npm, PyPI, Crates или Go modules
  • сопоставить несколько архитектурных подходов по материалам 2024–2025 годов
  • выгрузить веб-документацию через Firecrawl в формате Markdown
  • сохранить внешние исследовательские заметки в thoughts/shared/research/

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

  • /research-external library --topic "Prisma connection pooling" --library "prisma" --registry npm
  • /research-external best-practices --topic "Python error handling" --depth thorough
  • /research-external general --topic "React vs Vue state management 2025" --output handoff

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

1Через Skills CLI (Vercel)

npx skills add parcadei/Continuous-Claude-v3 --skill research-external -a claude-code

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

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

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

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

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

create-handoff Скилл пишет YAML-документ о ходе работы, чтобы следующая сессия агента подхватила задачу без потери контекста. CX Codex +1 508установок compound-learnings Скилл анализирует сохранённые заметки из недавних сессий и превращает повторяющиеся выводы в постоянные правила и новые скиллы проекта. CX Codex +1 505установок hook-developer Справочник по хукам Claude: схемы входных и выходных данных, регистрация в settings.json, тестирование. Пригодится, когда пишешь свой хук и не помнишь формат. CX Codex +1 504установок tldr-code Скилл для анализа кода через CLI tldr: дерево файлов, граф вызовов, потоки данных и мёртвый код. Экономит токены по сравнению с чтением файлов целиком. CX Codex +1 503установок debug-hooks Пошаговый сценарий отладки хуков Claude Code, когда они молчат, падают без логов или отдают не те данные. CX Codex +1 499установок describe-pr Готовит описание PR по локальному шаблону, изучая изменения и проверки. Нужен перед обновлением текста pull request через GitHub CLI. CX Codex +1 499установок commit Скилл проводит git-коммиты через согласование с вами и не добавляет упоминаний Claude в сообщения. Пригодится, когда агент накопил правки за сессию. CX Codex +1 499установок braintrust-tracing Скилл объясняет трассировку сессий Claude Code в Braintrust и связь следов субагентов с родительской задачей. Нужен при разборе хуков и пропавших спанов. CX Codex +1 495установок

Похожие

deep-research affaan-m Скилл для Claude Code и соседних агентов: превращает запрос «изучи тему» в отчёт с цитатами, пометками уверенности и разбором 15–30 источников. CX Codex +1 5 100установок firecrawl-research glebis Скилл находит темы в markdown-заметках, выкачивает материалы через FireCrawl API и собирает структурированные отчёты. Пригодится для научной работы и подготовки библиографии. CX Codex +1 379установок firecrawl-deep-research firecrawl Пишет аналитический отчёт по сложной теме: собирает источники по открытому вебу через Firecrawl, разбирает вопрос с разных сторон и ставит ссылку к каждому тезису. CX Codex +1 35 400установок firecrawl-research-index firecrawl Скилл ищет статьи по исследовательскому запросу в индексе Firecrawl: семантический поиск по абстрактам, расширение по цитатам и проверка по полному тексту. CX Codex +1 24 400установок research-with-sources Inkeep Скилл ведёт агента по процедуре исследования: сохраняет каждый источник дословно, пишет черновик статьи в research/ и ссылается на каждое утверждение. CX Codex +1 826установок notion-research-documentation makenotion Скилл ищет материалы в рабочем пространстве Notion, собирает данные со страниц и формирует структурированные отчёты со ссылками на источники. CX Codex +1 355установок

Рядом в теме «Настройка агента: память, контекст, субагенты»

Всё по теме «Настройка агента: память, контекст, субагенты» →

Вопросы о research-external

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

Выполните команду npx skills add parcadei/Continuous-Claude-v3 --skill research-external -a claude-code.

Для чего нужен research-external?

Он собирает данные из внешних источников: реестров пакетов, документаций и поисковика Perplexity. Внутренний код репозитория скилл намеренно игнорирует.

Что нужно подготовить перед запуском скилла?

Требуются установленный инструмент uv, заданная переменная $CLAUDE_OPC_DIR и наличие вспомогательных скриптов nia_docs.py, perplexity_search.py и firecrawl_scrape.py.

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

SKILL.md · MIT
---
name: research-external
description: External research workflow for docs, web, APIs - NOT codebase exploration
model: sonnet
allowed-tools: [Bash, Read, Write, Task]
---

# External Research Workflow

Research external sources (documentation, web, APIs) for libraries, best practices, and general topics.

> **Note:** The current year is 2025. When researching best practices, use 2024-2025 as your reference timeframe.

## Invocation

```
/research-external <focus> [options]
```

## Question Flow (No Arguments)

If the user types just `/research-external` with no or partial arguments, guide them through this question flow. Use AskUserQuestion for each phase.

### Phase 1: Research Type

```yaml
question: "What kind of information do you need?"
header: "Type"
options:
  - label: "How to use a library/package"
    description: "API docs, examples, patterns"
  - label: "Best practices for a task"
    description: "Recommended approaches, comparisons"
  - label: "General topic research"
    description: "Comprehensive multi-source search"
  - label: "Compare options/alternatives"
    description: "Which tool/library/approach is best"
```

**Mapping:**
- "How to use library" → library focus
- "Best practices" → best-practices focus
- "General topic" → general focus
- "Compare options" → best-practices with comparison framing

### Phase 2: Specific Topic

```yaml
question: "What specifically do you want to research?"
header: "Topic"
options: []  # Free text input
```

Examples of good answers:
- "How to use Prisma ORM with TypeScript"
- "Best practices for error handling in Python"
- "React vs Vue vs Svelte for dashboards"

### Phase 3: Library Details (if library focus)

If user selected library focus:

```yaml
question: "Which package registry?"
header: "Registry"
options:
  - label: "npm (JavaScript/TypeScript)"
    description: "Node.js packages"
  - label: "PyPI (Python)"
    description: "Python packages"
  - label: "crates.io (Rust)"
    description: "Rust crates"
  - label: "Go modules"
    description: "Go packages"
```

Then ask for specific library name if not already provided.

### Phase 4: Depth

```yaml
question: "How thorough should the research be?"
header: "Depth"
options:
  - label: "Quick answer"
    description: "Just the essentials"
  - label: "Thorough research"
    description: "Multiple sources, examples, edge cases"
```

**Mapping:**
- "Quick answer" → --depth shallow
- "Thorough" → --depth thorough

### Phase 5: Output

```yaml
question: "What should I produce?"
header: "Output"
options:
  - label: "Summary in chat"
    description: "Tell me what you found"
  - label: "Research document"
    description: "Write to thoughts/shared/research/"
  - label: "Handoff for implementation"
    description: "Prepare context for coding"
```

**Mapping:**
- "Research document" → --output doc
- "Handoff" → --output handoff

### Summary Before Execution

```
Based on your answers, I'll research:

**Focus:** library
**Topic:** "Prisma ORM connection pooling"
**Library:** prisma (npm)
**Depth:** thorough
**Output:** doc

Proceed? [Yes / Adjust settings]
```

## Focus Modes (First Argument)

| Focus | Primary Tool | Purpose |
|-------|--------------|---------|
| `library` | nia-docs | API docs, usage patterns, code examples |
| `best-practices` | perplexity-search | Recommended approaches, patterns, comparisons |
| `general` | All MCP tools | Comprehensive multi-source research |

## Options

| Option | Values | Description |
|--------|--------|-------------|
| `--topic` | `"string"` | **Required.** The topic/library/concept to research |
| `--depth` | `shallow`, `thorough` | Search depth (default: shallow) |
| `--output` | `handoff`, `doc` | Output format (default: doc) |
| `--library` | `"name"` | For `library` focus: specific package name |
| `--registry` | `npm`, `py_pi`, `crates`, `go_modules` | For `library` focus: package registry |

## Workflow

### Step 1: Parse Arguments

Extract from user input:
```
FOCUS=$1           # library | best-practices | general
TOPIC="..."        # from --topic
DEPTH="shallow"    # from --depth (default: shallow)
OUTPUT="doc"       # from --output (default: doc)
LIBRARY="..."      # from --library (optional)
REGISTRY="npm"     # from --registry (default: npm)
```

### Step 2: Execute Research by Focus

#### Focus: `library`

Primary tool: **nia-docs** - Find API documentation, usage patterns, code examples.

```bash
# Semantic search in package
(cd $CLAUDE_OPC_DIR && uv run python -m runtime.harness scripts/mcp/nia_docs.py \
  --package "$LIBRARY" \
  --registry "$REGISTRY" \
  --query "$TOPIC" \
  --limit 10)

# If thorough depth, also grep for specific patterns
(cd $CLAUDE_OPC_DIR && uv run python -m runtime.harness scripts/mcp/nia_docs.py \
  --package "$LIBRARY" \
  --grep "$TOPIC")

# Supplement with official docs if URL known
(cd $CLAUDE_OPC_DIR && uv run python -m runtime.harness scripts/mcp/firecrawl_scrape.py \
  --url "https://docs.example.com/api/$TOPIC" \
  --format markdown)
```

**Thorough depth additions:**
- Multiple semantic queries with variations
- Grep for specific function/class names
- Scrape official documentation pages

#### Focus: `best-practices`

Primary tool: **perplexity-search** - Find recommended approaches, patterns, anti-patterns.

```bash
# AI-synthesized research (sonar-pro)
(cd $CLAUDE_OPC_DIR && uv run python scripts/mcp/perplexity_search.py \
  --research "$TOPIC best practices 2024 2025")

# If comparing alternatives
(cd $CLAUDE_OPC_DIR && uv run python scripts/mcp/perplexity_search.py \
  --reason "$TOPIC vs alternatives - which to choose?")
```

**Thorough depth additions:**
```bash
# Chain-of-thought for complex decisions
(cd $CLAUDE_OPC_DIR && uv run python scripts/mcp/perplexity_search.py \
  --reason "$TOPIC tradeoffs and considerations 2025")

# Deep comprehensive research
(cd $CLAUDE_OPC_DIR && uv run python scripts/mcp/perplexity_search.py \
  --deep "$TOPIC comprehensive guide 2025")

# Recent developments
(cd $CLAUDE_OPC_DIR && uv run python scripts/mcp/perplexity_search.py \
  --search "$TOPIC latest developments" \
  --recency month --max-results 5)
```

#### Focus: `general`

Use ALL available MCP tools - comprehensive multi-source research.

**Step 2a: Library documentation (nia-docs)**
```bash
(cd $CLAUDE_OPC_DIR && uv run python -m runtime.harness scripts/mcp/nia_docs.py \
  --search "$TOPIC")
```

**Step 2b: Web research (perplexity)**
```bash
(cd $CLAUDE_OPC_DIR && uv run python scripts/mcp/perplexity_search.py \
  --research "$TOPIC")
```

**Step 2c: Specific documentation (firecrawl)**
```bash
# Scrape relevant documentation pages found in perplexity results
(cd $CLAUDE_OPC_DIR && uv run python -m runtime.harness scripts/mcp/firecrawl_scrape.py \
  --url "$FOUND_DOC_URL" \
  --format markdown)
```

**Thorough depth additions:**
- Run all three tools with expanded queries
- Cross-reference findings between sources
- Follow links from initial results for deeper context

### Step 3: Synthesize Findings

Combine results from all sources:

1. **Key Concepts** - Core ideas and terminology
2. **Code Examples** - Working examples from documentation
3. **Best Practices** - Recommended approaches
4. **Pitfalls** - Common mistakes to avoid
5. **Alternatives** - Other options considered
6. **Sources** - URLs for all citations

### Step 4: Write Output

#### Output: `doc` (default)

Write to: `thoughts/shared/research/YYYY-MM-DD-{topic-slug}.md`

```markdown
---
date: {ISO timestamp}
type: external-research
topic: "{topic}"
focus: {focus}
sources: [nia, perplexity, firecrawl]
status: complete
---

# Research: {Topic}

## Summary
{2-3 sentence summary of findings}

## Key Findings

### Library Documentation
{From nia-docs - API references, usage patterns}

### Best Practices (2024-2025)
{From perplexity - recommended approaches}

### Code Examples
```{language}
// Working examples found
```

## Recommendations
- {Recommendation 1}
- {Recommendation 2}

## Pitfalls to Avoid
- {Pitfall 1}
- {Pitfall 2}

## Alternatives Considered
| Option | Pros | Cons |
|--------|------|------|
| {Option 1} | ... | ... |

## Sources
- [{Source 1}]({url1})
- [{Source 2}]({url2})
```

#### Output: `handoff`

Write to: `thoughts/shared/handoffs/{session}/research-{topic-slug}.yaml`

```yaml
---
type: research-handoff
ts: {ISO timestamp}
topic: "{topic}"
focus: {focus}
status: complete
---

goal: Research {topic} for implementation planning
sources_used: [nia, perplexity, firecrawl]

findings:
  key_concepts:
    - {concept1}
    - {concept2}

  code_examples:
    - pattern: "{pattern name}"
      code: |
        // example code

  best_practices:
    - {practice1}
    - {practice2}

  pitfalls:
    - {pitfall1}

recommendations:
  - {rec1}
  - {rec2}

sources:
  - title: "{Source 1}"
    url: "{url1}"
    type: {documentation|article|reference}

for_plan_agent: |
  Based on research, the recommended approach is:
  1. {Step 1}
  2. {Step 2}
  Key libraries: {lib1}, {lib2}
  Avoid: {pitfall1}
```

### Step 5: Return Summary

```
Research Complete

Topic: {topic}
Focus: {focus}
Output: {path to file}

Key findings:
- {Finding 1}
- {Finding 2}
- {Finding 3}

Sources: {N} sources cited

{If handoff output:}
Ready for plan-agent to continue.
```

## Error Handling

If an MCP tool fails (API key missing, rate limited, etc.):

1. **Log the failure** in output:
   ```yaml
   tool_status:
     nia: success
     perplexity: failed (rate limited)
     firecrawl: skipped
   ```

2. **Continue with other sources** - partial results are valuable

3. **Set status appropriately:**
   - `complete` - All requested tools succeeded
   - `partial` - Some tools failed, findings still useful
   - `failed` - No useful results obtained

4. **Note gaps** in findings:
   ```markdown
   ## Gaps
   - Perplexity unavailable - best practices section limited to nia results
   ```

## Examples

### Library Research (Shallow)
```
/research-external library --topic "dependency injection" --library fastapi --registry py_pi
```

### Best Practices (Thorough)
```
/research-external best-practices --topic "error handling in Python async" --depth thorough
```

### General Research for Handoff
```
/research-external general --topic "OAuth2 PKCE flow implementation" --depth thorough --output handoff
```

### Quick Library Lookup
```
/research-external library --topic "useEffect cleanup" --library react
```

## Integration with Other Skills

| After Research | Use Skill | For |
|----------------|-----------|-----|
| `--output handoff` | `plan-agent` | Create implementation plan |
| Code examples found | `implement_task` | Direct implementation |
| Architecture decision | `create_plan` | Detailed planning |
| Library comparison | Present to user | Decision making |

## Required Environment

- `NIA_API_KEY` or `nia` server in mcp_config.json
- `PERPLEXITY_API_KEY` in environment or `~/.claude/.env`
- `FIRECRAWL_API_KEY` and `firecrawl` server in mcp_config.json

## Notes

- **NOT for codebase exploration** - Use `research-codebase` or `scout` for that
- **Always cite sources** - Include URLs for all findings
- **2024-2025 timeframe** - Focus on current best practices
- **Graceful degradation** - Partial results better than no results

© parcadei · MIT · parcadei/Continuous-Claude-v3

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

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

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