# Content Search Summarization

> Use this skill when asked to search public content platforms such as Bilibili or YouTube, pick the top relevant results for a topic, and summarize each item with links and brief overviews. Uses Runtime-aware routing — opencli first, fetch second, browser last.

- **Type:** Skill
- **Install:** `agentstack add skill-allens0104-skill-browser-content-search-summarization`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [AllenS0104](https://agentstack.voostack.com/s/allens0104)
- **Installs:** 0
- **Category:** [Web & Browser](https://agentstack.voostack.com/c/web-and-browser)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [AllenS0104](https://github.com/AllenS0104)
- **Source:** https://github.com/AllenS0104/skill-browser/tree/main/skills/content-search-summarization

## Install

```sh
agentstack add skill-allens0104-skill-browser-content-search-summarization
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Content search summarization skill

Use this skill when the user asks for tasks such as:

- "Find the top 5 videos about X on Bilibili and summarize them"
- "Search YouTube for a topic and give me the best results"
- "Look up public content on a supported site and summarize the top items"

## Execution routing (critical)

Before attempting any search, classify the platform and pick the best execution path:

```text
if opencli supports the platform:
    use opencli (deterministic, zero LLM cost, session-reuse)
elif public API exists:
    use fetch (structured JSON, no rendering needed)
elif site is SSR and publicly accessible:
    use web_fetch or Playwright (metadata extraction)
else:
    require login-state browser or declare blocked
```

This is the single most important decision in this skill.

### Platform registry

| Platform | opencli command | Public API | SSR fetch | Access tier |
|----------|----------------|-----------|-----------|-------------|
| Bilibili | `opencli bilibili search --keyword ` | `api.bilibili.com` | partial | T1: opencli preferred |
| YouTube | `opencli youtube search --keyword ` | YouTube Data API | partial | T1: opencli preferred |
| 小红书 | `opencli xiaohongshu search --keyword ` | ❌ | ❌ SPA shell | T2: opencli required |
| 抖音 | `opencli tiktok search --keyword ` | ❌ | ❌ JS obfuscated | T2: opencli required |
| 知乎 | `opencli zhihu search --keyword ` | ❌ | ❌ login-gated | T2: opencli required |
| 微博 | `opencli weibo search --keyword ` | ❌ | ❌ | T2: opencli required |
| 豆瓣 | `opencli douban search --keyword ` | ❌ | partial | T2: opencli preferred |
| arXiv | ❌ | `export.arxiv.org` | ✅ SSR | T3: fetch / web_fetch |
| Wikipedia | `opencli wikipedia search --keyword ` | `en.wikipedia.org/api` | ✅ SSR | T1: any path works |
| HackerNews | `opencli hackernews top` | `hn.algolia.com/api` | ✅ SSR | T1: any path works |
| Reddit | `opencli reddit search --keyword ` | ❌ | partial | T1: opencli preferred |
| BBC | `opencli bbc news` | ❌ | ✅ SSR | T3: fetch / web_fetch |

### Access tier definitions

- **T1**: multiple working paths; opencli preferred for consistency
- **T2**: opencli required; no public fallback available; if opencli is unavailable, declare blocked with explanation
- **T3**: public fetch works reliably; opencli optional

### When opencli is unavailable

If `opencli` is not installed or Browser Bridge is not connected:

- for T1 platforms: fall back to fetch or web_fetch
- for T2 platforms: **stop immediately and tell the user** — do not attempt blind scraping
- for T3 platforms: use fetch / web_fetch directly
- always note which execution path was used in the output

## Primary strategy

1. Check the platform registry above and pick the correct execution path.
2. For opencli: run the command and parse structured output (JSON/YAML).
3. For fetch/web_fetch: construct the appropriate URL and extract metadata.
4. Rank results by practical relevance, not just raw view count:
   - exact keyword match in title
   - clarity of topic focus
   - likely tutorial / overview value
   - recency and popularity as secondary hints
5. Always include source links.

## Supported workflow

### 1. Search

For opencli-supported platforms:

```bash
opencli bilibili search --keyword "" --limit 10 -f json
opencli youtube search --keyword "" --limit 10 -f json
opencli xiaohongshu search --keyword "" --limit 10 -f json
```

For public API platforms:

```text
https://api.bilibili.com/x/web-interface/search/type?keyword=&search_type=video
https://hn.algolia.com/api/v1/search?query=
```

For SSR platforms:

```text
Use web_fetch to load the search result page and extract metadata.
```

### 2. Filter and rank

Prefer results that:

- directly match the requested topic
- are clearly about the requested concept rather than loosely related content
- look like tutorials, explainers, or practical overviews

Avoid results that:

- are generic entertainment content that only happens to mention the keyword
- are clearly unrelated despite matching a broad term like `AI`

### 3. Fetch more detail

When possible, open each selected result page and collect:

- page title
- meta description
- page description
- tags / keywords
- lightweight stat text if available

Use those fields to produce a summary that is better than title-only guessing.

### 4. Summarize

For each selected item, provide:

- rank
- original title
- optional translated / normalized title if helpful
- platform / source
- capture time when available
- source link
- author / uploader if available
- a short summary of what the item is likely about
- confidence level: `high`, `medium`, or `low`
- a brief caveat when the summary is inferred from metadata rather than full content
- execution path used (opencli / fetch / web_fetch / browser)

Be clear when the summary is inferred from metadata and page description rather than a full transcript.

## Output format

Return a compact ranked list.

Recommended structure:

1. execution path used and why
2. query keyword and capture time
3. a ranked list of top items
4. a short summary paragraph for each item

Recommended per-item fields:

- `Rank`
- `Title`
- `Platform`
- `Link`
- `Author`
- `Captured at`
- `Summary`
- `Confidence`
- `Caveat`
- `Execution path`

## Proven example patterns

### Bilibili via opencli (recommended)

```bash
opencli bilibili search --keyword "AI agent" --limit 10 -f json
```

Then filter the top 5 most relevant, open detail pages for metadata enrichment.

### arXiv via web_fetch (public SSR)

```text
web_fetch https://arxiv.org/search/?query=AI+agent&searchtype=all
```

Extract paper titles, authors, abstracts from the SSR result page.

### Xiaohongshu (opencli required)

```bash
opencli xiaohongshu search --keyword "AI skill" --limit 10 -f json
```

If opencli is not available, declare: "小红书 is a T2 platform that requires opencli with Browser Bridge. Public scraping is not reliable."

## Key cautions

- Do not claim you watched the whole video unless you actually processed a transcript or full content.
- Phrase summaries as "主要在讲 / 偏向 / 看起来聚焦于" when based on metadata.
- Keep links and titles accurate.
- For broad keywords like `AI`, narrow to the user's likely intent if enough exact-match results exist.
- If publish time or exact timestamp is unavailable, explicitly say it was not visible in the captured result.
- Add one explicit evidence note per item (for example, title keyword match, description snippet, or metadata field used).
- **Never attempt blind scraping on T2 platforms without opencli.** Declare blocked instead.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [AllenS0104](https://github.com/AllenS0104)
- **Source:** [AllenS0104/skill-browser](https://github.com/AllenS0104/skill-browser)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** yes
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-allens0104-skill-browser-content-search-summarization
- Seller: https://agentstack.voostack.com/s/allens0104
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
