---
name: public-trend-radar
description: Use when an agent needs public-channel trend discovery, trend cards, AI/technical trend signals, product/business trend signals, or open public sources as upstream context.
---

# Public Trend Radar

## Overview

Use this skill to discover public-channel trend signals and produce trend cards. Keep trend discovery separate from ordinary RSS daily reports, source governance, publishing, and final research synthesis.

## Workflow Selection

- For public trend discovery, run `subscription-research trend scan`.
- For AI and technical trends, use `--profile ai-tech`.
- For product, launch, market, or product-management trends, use `--profile product-business`.
- For ordinary subscribed RSS daily news, use `rss-ai-digest`.
- For source quality and registry maintenance, use `rss-source-curator`.
- For deep research synthesis from evidence, use `subscription-research-agent`.

## Runtime Command

Examples use `subscription-research` as a compatibility command. Before running commands, resolve the runtime command:

- Use `DIGESTPILOT_RUNTIME_CMD` when the environment provides a custom runtime command.
- Use `digestpilot-runtime` when it is available on `PATH`.
- Use `subscription-research` when only the legacy compatibility command is available on `PATH`.
- From a repository checkout without a linked command, replace `subscription-research` with `node packages/research-cli/dist/src/cli.js`.
- Run `node scripts/doctor.mjs` from the repository root to diagnose local runtime setup.
- If no runtime command is available but this repository or plugin package includes runtime source, run `node scripts/bootstrap-runtime.mjs`, then retry the command.

## Core Command

Fetch live public-channel inputs into a local workspace:

```bash
subscription-research trend fetch-public \
  --profile ai-tech \
  --source-profile ai-models \
  --output-dir research-workspace/public-trend-radar/latest
```

Default public fetch coverage is intentionally small and reviewable. For `ai-tech`, it samples Hacker News discussion signals, GitHub repository search/topic activity, Hugging Face Daily Papers, and arXiv Atom results. For `product-business`, it samples product-leaning repository activity and public launch/discussion inputs; paper channels can be enabled explicitly when needed. Public fetch includes bounded fault handling: arXiv rate-limit or temporary-unavailable responses can retry once using `Retry-After`. Pass explicit public input files to `trend scan` when the user provides a custom source set.

For GitHub trend discovery, use repository search, topic search, and activity snapshots. Do not use GitHub releases as a Trend Radar input; releases belong to future Release Watch and upgrade-monitoring workflows.

Use `--source-profile` to select a public ingestion preset:

- `ai-models`: model releases, inference, benchmarks, model tooling, papers.
- `ai-products`: product launches, AI assistants, integrations, changelogs, product repos.
- `industry`: industry, infrastructure, regulation, market, and company signals.
- `paper`: Hugging Face Daily Papers, arXiv, paper discussions, benchmark papers.
- `tip`: practical engineering tips, workflows, HN discussions, agent/RAG usage.

Use `--source-profile-file source-profiles.json` when the user provides custom public source profiles. The file must be JSON:

```json
{
  "profiles": [
    {
      "id": "custom-labs",
      "title": "Custom Labs",
      "category": "paper",
      "hackerNewsQueries": ["custom lab"],
      "githubRepoQueries": ["topic:custom-lab stars:>100"],
      "githubTopics": ["custom-lab"],
      "webUrls": ["https://example.com/lab/changelog"],
      "huggingFacePapers": true,
      "arxivPapers": false,
      "arxivQueries": [],
      "sourceWeights": {
        "web-url-list": 1.4,
        "hugging-face-papers": 1.2
      },
      "sourceRoles": {
        "web-url-list": "official",
        "hugging-face-papers": "primary"
      }
    }
  ]
}
```

Use `githubRepoQueries` and `githubTopics` for GitHub repository search and topic discovery. Use `webUrls` for official changelog, newsroom, research, launch, or documentation pages. These URLs are written into `web-url-list.md` alongside public discussion URLs, then consumed by `trend scan`.

Use `sourceWeights` and `sourceRoles` to tune how `trend scan` scores public signals for that profile. Source roles can be `official`, `primary`, `secondary`, `community`, or `derived`; official and primary sources carry stronger authority than community discussion or derived aggregators.

Generate trend cards from prepared public inputs:

```bash
subscription-research trend scan \
  --profile ai-tech \
  --source-profile ai-models \
  --web-url-list research-workspace/public-trend-radar/latest/web-url-list.md \
  --hacker-news-items research-workspace/public-trend-radar/latest/hn-items.json \
  --github-repo-signals research-workspace/public-trend-radar/latest/github-repo-signals.json \
  --hugging-face-papers research-workspace/public-trend-radar/latest/hugging-face-papers.json \
  --arxiv-papers research-workspace/public-trend-radar/latest/arxiv-papers.xml \
  --window 7d \
  --format markdown \
  --output research-workspace/public-trend-radar/latest/trend-cards.md
```

Generate product/business trend cards:

```bash
subscription-research trend scan \
  --profile product-business \
  --source-profile ai-products \
  --web-url-list launch-pages.md \
  --window 7d \
  --format json \
  --output trend-cards.json
```

When fixture or exported public data is available, `trend scan` can also consume public Hacker News item JSON, GitHub repository search signal JSON, Hugging Face Daily Papers JSON, and arXiv Atom XML:

```bash
subscription-research trend scan \
  --profile ai-tech \
  --source-profile paper \
  --hacker-news-items hn-items.json \
  --github-repo-signals github-repo-signals.json \
  --hugging-face-papers hugging-face-papers.json \
  --arxiv-papers arxiv-papers.xml \
  --format markdown
```

## Output Guidance

Trend cards are upstream signals. They should explain what appears to be rising, why it matters, which public evidence supports it, and what downstream action is reasonable.

Use the structured card fields when writing summaries:

- `what_changed`: concise description of the observed public movement.
- `why_it_matters`: why the signal may matter to the target audience.
- `suggested_action`: downstream routing such as `include-in-digest` or `add-to-watchlist`.
- `confidence_reason`: short explanation of source count and primary/official evidence.

Do not rewrite trend cards into a daily report unless the user asks for a digest. If the user asks for a daily report, pass trend cards to `rss-ai-digest` or the active Agent as one input section.

Do not include private channels, personal browser history, private email, or private community data in this skill. Keep the first implementation limited to public channels.

Do not publish, notify, or update watchlists automatically. Use trend cards as reviewable output.

## Profiles

- `ai-tech`: AI systems, models, agents, LLM infrastructure, papers, repos, datasets, benchmarks, developer tools, and engineering signals.
- `product-business`: AI products, launches, pricing, packaging, product positioning, company updates, integrations, growth signals, and product-management context.

## Boundaries

This skill does not maintain RSS source registries, generate final research conclusions, or send notifications. It creates trend cards from public-channel signals for downstream Agent workflows.
