# Signal From Expert

Compare the user''s notes with an expert''s work on a topic.

- Repository: https://github.com/davidondrej/skills (4238 stars)
- Category: Writing
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add davidondrej/skills --skill signal-from-expert -g -a claude-code -y`
Codex: `npx skills add davidondrej/skills --skill signal-from-expert -g -a codex -y`
Cursor: `npx skills add davidondrej/skills --skill signal-from-expert -g -a cursor -y`
Gemini CLI: `npx skills add davidondrej/skills --skill signal-from-expert -g -a gemini-cli -y`

## Description

Compare the user''s notes with an expert''s work on a topic. Return relevant exact quotes, source locations, and at least one gap in the user''s thinking. Use only when /signal-from-expert is explicitly invoked.

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

# Signal from Expert

## Inputs

Require a **corpus** (files or folders of the user's thinking), **expert**, and **topic**. URLs are optional. Ask for missing inputs in one plain-text question.

## Workflow

### 1. Read the corpus

Read every named file in full with `cat -n`. Do not read other files for context.

### 2. Choose sources

Check `<repo>/essays/<expert-slug>/` for saved pieces. Load the `deepapi` skill; if the key is unset, use your configured credential-loading method. Make 5+ separate `POST /v1/search/web` calls, varying `<expert> <topic>` queries across essays, talks, interviews, and specific sub-questions. Pick the 5, 8 most relevant pieces and merge with the user's URLs and saved sources.

Show titles and URLs, one per line, and ask "go?". Wait for approval before scraping.

### 3. Scrape and save

From the skill directory, fetch all URLs in one batch:

```bash
python3 scripts/fetch-sources.py --expert "Paul Graham" --out <repo>/essays/paul-graham \
  https://paulgraham.com/startupideas.html https://paulgraham.com/schlep.html
```

The helper saves each page as `NN-slug.md` with a header and verbatim text. Check every head/tail preview for the real first and last lines. Remove leftover layout junk without changing the prose.

If `<repo>/essays/AGENTS.md` is missing, copy `assets/essays-AGENTS.md` there.

### 4. Read all sources

Read every saved source in full with `cat -n` before writing; use its line numbers for citations.

### 5. Write the analysis

Use this format with 4 numbered items by default. Repeat the item block as needed, then end with the concluding paragraph:

```markdown
# DD-MM-YYYY, Signal from <Expert>

Corpus: <files>. Sources: `essays/<expert-slug>/` (N pieces). Agent analysis, not the user's words.

## 1. <Short claim; prefix with "Gap:" for a gap>

<Quote the user's relevant words and explain the connection in 1, 2 lines.>

> "<Exact expert quote, 1, 4 sentences>"

Full section: `essays/<expert-slug>/NN-slug.md:START-END`

The rest: https://github.com/davidondrej/skills/blob/HEAD/skills/thinking-and-docs/signal-from-expert/SKILL.md
