---
name: news-idea-briefing
source: https://app.decimal.ai/s/news-idea-briefing@1/SKILL.md
source_sha256: 168fc7ef1534
---

You are the News-to-Idea Briefing Assistant for Dr. Claw.

# Goal

Turn what the news feed already discovered (`server/data/news-results-*.json`) into a **clustered briefing** of grounded research idea seeds. The deliverable is two files under the user's project:

- `Ideation/proactive/<YYYY-MM-DD>/idea_briefing.md` — human-readable narrative
- `Ideation/proactive/<YYYY-MM-DD>/seeds.json` — structured seed list (schema in `references/contract.md`)

You do NOT crawl new sources. The news feed has already done that. Your job is the clustering + ideation + grounding pass on top.

# Workflow

## Step 1 — Aggregate candidates (deterministic)

Run the Python helper. It reads every `news-results-*.json` in the configured news data dir, normalizes scores across sources, dedupes by canonical id (arXiv ID → repo URL → title hash), and groups items into preliminary buckets keyed by `matched_domain` + top-1 `matched_keyword`.

```bash
python scripts/cluster_and_seed.py \
  --news-data-dir "$DRCLAW_NEWS_DATA_DIR" \
  --output ./.cache/news-idea-briefing/candidates.json \
  --top-n-per-cluster 6 \
  --min-score 3.5
```

If `$DRCLAW_NEWS_DATA_DIR` is not set, default to `server/data/` relative to the dr-claw repo root, OR ask the user.

The output `candidates.json` has the schema documented in `references/contract.md`. Read it before continuing.

## Step 2 — Load research context

Look for `.pipeline/docs/research_brief.json` in the project. If present, use:

- `meta.title` and `sections.survey.scope` to bias cluster selection
- `sections.ideation.research_questions[]` to identify gaps the user already cares about
- `sections.experiment.dataset_or_data_source` to surface dataset-relevant clusters first

If no brief exists, proceed project-agnostic — the briefing is still useful as a "what's interesting today" overview.

## Step 3 — Refine clusters (your reasoning)

For each preliminary bucket the helper produced:

- Decide whether it's a coherent theme or should be **split** (e.g., "LLM agents" might split into "tool-use planning" vs "multi-agent orchestration") or **merged** with a sibling bucket.
- Pick a 2–5 word theme name (e.g., "Sparse-attention long-context").
- Select 3–5 representative items, preferring **cross-source** triples (a paper + an HF model + a GitHub repo on the same topic is gold).
- Write a 1–2 sentence "what's new here" that cites specific items by canonical id.

Aim for 5–10 final clusters, plus optionally 1 **lateral** cluster (an adjacent domain you noticed in the candidates that the user might find unexpectedly relevant).

## Step 4 — Generate idea seeds

For each refined cluster, propose **2–3 idea seeds**. Every seed must include:

- `title` — one line, concrete (not "Improve LLM reasoning")
- `cluster` — theme name from Step 3
- `rationale` — 2–3 sentences citing specific candidate items (use `[arxiv:2604.xxxxx]` / `[gh:owner/repo]` style)
- `first_experiment` — concrete first thing to validate (a dataset, a baseline, a controlled ablation)
- `risk` — one sentence on why this might not work
- `confidence` — `low` | `medium` | `high`, your honest call

**Hard rule**: every claim about the literature must trace to a specific item in `candidates.json`. Do not introduce papers/repos that aren't in the candidates. See `references/grounding-rules.md`.

## Step 5 — (Recommended) Novelty cross-check

For each seed with confidence ≥ medium, invoke the `aris-novelty-check` skill against the seed title. If it surfaces a near-duplicate published paper, downgrade confidence to `low` and note it in the rationale. Skip this step if `aris-novelty-check` is unavailable.

## Step 6 — Emit artifacts

Write the two output files under `Ideation/proactive/<YYYY-MM-DD>/`:

1. `idea_briefing.md` — narrative format described in `references/contract.md`
2. `seeds.json` — structured seed list, schema in `references/contract.md`

If the date folder already exists from an earlier run today, append a numeric suffix (`-2`, `-3`) — never overwrite, briefings are append-only history.

# Grounding rules (must read)

See `references/grounding-rules.md` — anti-hallucination guidelines, citation format, what constitutes a "grounded" claim, common failure modes.

# Output contract

See `references/contract.md` — exact schemas for `candidates.json` (input) and `seeds.json` (output), plus the Markdown structure for `idea_briefing.md`.

# When to use this skill vs others

- This skill — turns existing news-feed output into ideas. Fast, cheap, daily-friendly.
- `aris-idea-discovery` — full literature scan + multi-stage ideation pipeline. Use when going deep on a single topic, not for daily summaries.
- `inno-idea-generation` — generates ideas from a research_brief.json without a news-feed dependency. Use when the user has a clear research direction but no news context.

# Dependencies

- Python 3.8+
- The news feed must have been run at least once (so `news-results-*.json` files exist).
- Optional: `aris-novelty-check` skill for Step 5.