← Back to Skills Marketplace
mcbaivn

Content Research - MCB AI

by MCB AI · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
92
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install content-research-mcbai
Description
Research and discover trending content sources for any topic using web search. Use this skill whenever the user wants to find articles, news, blog posts, or...
README (SKILL.md)

\r \r

Content Research Skill\r

Installation

npx clawhub@latest install content-research-mcbai

\r Search the web for trending articles, news, and content sources on any topic. This skill powers the MCB AI content research pipeline — finding, filtering, scoring, and organizing source material for content creation.\r \r

Search Strategy: Brave + Tavily Dual-Engine\r

\r This skill uses TWO search providers in parallel for maximum coverage:\r \r

  • Brave Search — via web_search tool (built-in OpenClaw tool)\r
  • Tavily — via direct API call using TAVILY_API_KEY from ~/.openclaw/.env\r \r

Tavily API Call\r

\r

POST https://api.tavily.com/search\r
Headers: Content-Type: application/json\r
Body:\r
{\r
  "api_key": "\x3CTAVILY_API_KEY>",\r
  "query": "\x3Cquery>",\r
  "search_depth": "advanced",\r
  "include_answer": false,\r
  "include_raw_content": false,\r
  "max_results": 10,\r
  "topic": "news"   // use "general" for non-news searches\r
}\r
```\r
\r
Run Tavily via `exec` with PowerShell:\r
```powershell\r
$body = @{\r
  api_key = $env:TAVILY_API_KEY\r
  query = "\x3Cquery>"\r
  search_depth = "advanced"\r
  include_answer = $false\r
  include_raw_content = $false\r
  max_results = 10\r
  topic = "news"\r
} | ConvertTo-Json\r
\r
Invoke-RestMethod -Uri "https://api.tavily.com/search" -Method Post -ContentType "application/json" -Body $body\r
```\r
\r
### Fallback Logic\r
\r
- Run Brave (`web_search`) and Tavily in parallel\r
- If Brave fails → use Tavily results only\r
- If Tavily fails → use Brave results only\r
- If both succeed → merge and deduplicate by URL\r
\r
## When to Use\r
\r
- User wants to research a topic before writing content\r
- User needs to find recent articles, news, or data about a subject\r
- User wants to discover trending content sources for LinkedIn/social media\r
- User needs to curate sources for a toplist, POV, case study, or how-to post\r
\r
## Core Workflow\r
\r
### Step 1: Understand the Research Request\r
\r
Extract from the user's message:\r
1. **Topic** — the subject to research (required)\r
2. **Source filter** — where to search (default: all sources)\r
   - `all` — All web sources\r
   - `news` — News publications only\r
   - `linkedin` — LinkedIn posts/articles (append `site:linkedin.com`)\r
   - `youtube` — YouTube videos (append `site:youtube.com`)\r
   - `blogs` — Blog posts and articles (append `blog OR article OR guide`)\r
3. **Freshness** — how recent (default: past month for web, past week for news)\r
4. **Count** — how many results to return (default: 10-15)\r
\r
If the user doesn't specify these, use sensible defaults and mention what you chose.\r
\r
### Step 2: Execute Dual Search (Brave + Tavily)\r
\r
Run BOTH providers. Each provider runs TWO queries when possible.\r
\r
#### Brave Search (web_search tool)\r
\r
**Query 1 — Web:**\r
```\r
Query: {topic} {source_filter_query}\r
count: 10\r
freshness: month\r
```\r
\r
**Query 2 — News:**\r
```\r
Query: {topic} news\r
count: 10\r
freshness: week\r
```\r
\r
#### Tavily Search (exec PowerShell)\r
\r
**Query 1 — General:**\r
```powershell\r
$env:TAVILY_API_KEY = (Get-Content "$env:USERPROFILE\.openclaw\.env" | Select-String "TAVILY_API_KEY" | ForEach-Object { $_ -replace "TAVILY_API_KEY=", "" })\r
\r
$body = @{\r
  api_key = $env:TAVILY_API_KEY.Trim()\r
  query = "{topic}"\r
  search_depth = "advanced"\r
  include_answer = $false\r
  include_raw_content = $false\r
  max_results = 10\r
  topic = "general"\r
} | ConvertTo-Json\r
\r
Invoke-RestMethod -Uri "https://api.tavily.com/search" -Method Post -ContentType "application/json" -Body $body\r
```\r
\r
**Query 2 — News:**\r
```powershell\r
# Same as above but topic = "news"\r
```\r
\r
### Step 3: Merge and Deduplicate\r
\r
1. Collect all results from Brave (web + news) and Tavily (general + news)\r
2. **Deduplicate** by URL — keep one copy per URL, prefer Tavily version (richer content)\r
3. **Sort** by relevance:\r
   - News articles first (most time-sensitive)\r
   - Then by freshness (most recent first)\r
4. **Limit** to requested count (default 15)\r
5. **Label source engine** in metadata: `[Brave]` or `[Tavily]`\r
\r
### Step 4: Process and Organize Results\r
\r
For each result, extract and structure:\r
\r
```\r
Article:\r
  - Title: [article title]\r
  - Source: [publication/website name]\r
  - URL: [full URL]\r
  - Date: [relative date, e.g. "2 hours ago", "3 days ago"]\r
  - Summary: [description/snippet from search]\r
  - Type: [News / Blog / Report / Video / LinkedIn]\r
  - Tag: [auto-detected tag, see Tag Rules below]\r
  - Engine: [Brave / Tavily / Both]\r
```\r
\r
#### Source Name Extraction\r
Clean the hostname to a readable name:\r
- Remove `www.` prefix\r
- Remove `.com`, `.org`, `.net`, `.io`, `.co` suffixes\r
- Map known domains: techcrunch → TechCrunch, crunchbase → Crunchbase, forbes → Forbes, bloomberg → Bloomberg, reuters → Reuters, etc.\r
\r
#### Auto-Tag Rules\r
Scan title + summary and apply the FIRST matching tag:\r
\r
| Tag | Pattern Keywords |\r
|-----|-----------------|\r
| Funding | fund, raise, round, series A-C, seed, valuation, invest, VC, venture |\r
| AI | ai, artificial intelligence, machine learning, LLM, GPT, Claude, OpenAI |\r
| SaaS | saas, software as a service, subscription, ARR, MRR |\r
| Tools | tool, platform, app, software, stack, framework |\r
| Trends | trend, report, survey, data, statistic, forecast, prediction |\r
| Startup | startup, founder, launch, accelerator, incubator, YC |\r
| Growth | growth, marketing, GTM, acquisition, retention, conversion |\r
\r
### Step 5: Present Results\r
\r
Present the organized results in a clear, scannable format:\r
\r
```\r
## Research Results: "{topic}"\r
Found {N} articles from {sources_count} sources\r
Sources: Brave ({brave_count}) + Tavily ({tavily_count}) → merged {total} unique\r
\r
### 📰 News\r
1. **{title}** — {source} ({date}) [{engine}]\r
   {summary}\r
   🏷️ {tag} | 🔗 {url}\r
\r
### 📝 Articles & Blogs\r
2. **{title}** — {source} ({date}) [{engine}]\r
   {summary}\r
   🏷️ {tag} | 🔗 {url}\r
\r
...\r
```\r
\r
Then ask the user which articles they want to use for content creation. If the user wants to proceed to writing, hand off to the `content-writer` skill with the selected articles.\r
\r
## Output Format\r
\r
Always provide results as a numbered list with:\r
- Clear title\r
- Source name and date\r
- Engine label [Brave] or [Tavily]\r
- Brief summary (1-2 lines)\r
- Auto-detected tag\r
- Source URL\r
\r
## Tips for Better Research\r
\r
- For funding/startup topics: search for specific company names + "funding" or "series"\r
- For trend pieces: include year/quarter in the search (e.g., "AI trends Q1 2026")\r
- For competitive analysis: search for specific company + "vs" or "alternative"\r
- For LinkedIn content: recent news performs best (past 1-2 weeks)\r
- Combine multiple source types for richer content\r
- Tavily `search_depth: "advanced"` digs deeper — use for complex topics\r
- If one engine returns fewer results than expected, note it in the summary\r
\r
## Integration with Content Writer\r
\r
After research, the user typically selects articles and moves to writing. Pass the selected articles to the content-writer skill in this format:\r
\r
```json\r
{\r
  "articles": [\r
    {\r
      "title": "Article title",\r
      "source": "Publication name",\r
      "url": "https://...",\r
      "date": "2 days ago",\r
      "summary": "Brief description",\r
      "tag": "AI",\r
      "engine": "Tavily"\r
    }\r
  ]\r
}\r
```\r
\r
See `references/source-filters.md` for detailed source filter configurations.\r
\r
\r
Usage Guidance
This skill appears to do what it claims (search Brave + call Tavily) but it currently omits declaring the Tavily API key and instructs the agent to read ~/.openclaw/.env and run PowerShell. Before installing, ask the publisher to: (1) update metadata to list required env vars (TAVILY_API_KEY, and any Brave key) so you know what secrets are needed; (2) avoid reading plaintext ~/.openclaw/.env — prefer the platform secret store or an explicit opt-in; (3) provide cross-platform (non-PowerShell) instructions or detect OS before running shell commands; and (4) document how Tavily responses are used and whether any user data is sent to third parties. If you are uncomfortable with an agent reading files in your home directory or sending requests to an external API using a secret, do not install. If you proceed, only provide the minimum-scoped API key and consider restricting autonomous invocation until you’ve reviewed behavior in a controlled setting.
Capability Analysis
Type: OpenClaw Skill Name: content-research-mcbai Version: 1.0.0 The skill instructs the AI agent to read sensitive credentials (TAVILY_API_KEY) directly from the local filesystem (~/.openclaw/.env) and execute arbitrary PowerShell commands via the 'exec' tool to perform network requests to an external API (api.tavily.com). While these actions are functionally aligned with the stated purpose of content research, the use of broad filesystem access and shell execution for secret retrieval and networking is a high-risk pattern. No evidence of intentional exfiltration of unrelated data or malicious persistence was found in SKILL.md or the PowerShell logic.
Capability Assessment
Purpose & Capability
The skill's stated goal (find trending content via Brave + Tavily) aligns with the instructions which use the built-in web_search and an external Tavily API. However, the skill metadata does not declare the Tavily API key or any primary credential even though SKILL.md and README instruct the agent to read and use TAVILY_API_KEY. That discrepancy suggests incomplete metadata rather than outright malicious intent.
Instruction Scope
SKILL.md explicitly instructs the agent to read ~/.openclaw/.env and extract TAVILY_API_KEY, then run PowerShell Invoke-RestMethod to call https://api.tavily.com/search. Reading a user's home .env file and executing platform-specific shell commands expands the skill's access surface beyond simple web search. While these actions are explainable for contacting Tavily, they access local files and use exec instructions that should be declared and constrained.
Install Mechanism
No install spec or bundled code is provided (instruction-only), so nothing will be downloaded or written to disk by the registry install process. This is the lower-risk install pattern.
Credentials
The skill requires an API key for Tavily (and references Brave config) in practice, but requires.env and primary credential are left empty in metadata. The instructions also show reading a plaintext ~/.openclaw/.env file to obtain the key. Requiring local access to a secrets file without declaring it is disproportionate and a transparency issue.
Persistence & Privilege
The skill is not always-enabled and is user-invocable; autonomous invocation remains enabled (platform default). That combination is normal. Note: autonomous invocation plus access to external APIs/secret material increases blast radius, but this alone is not unusual and does not change the verdict.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install content-research-mcbai
  3. After installation, invoke the skill by name or use /content-research-mcbai
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release by MCB AI
Metadata
Slug content-research-mcbai
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Content Research - MCB AI?

Research and discover trending content sources for any topic using web search. Use this skill whenever the user wants to find articles, news, blog posts, or... It is an AI Agent Skill for Claude Code / OpenClaw, with 92 downloads so far.

How do I install Content Research - MCB AI?

Run "/install content-research-mcbai" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Content Research - MCB AI free?

Yes, Content Research - MCB AI is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Content Research - MCB AI support?

Content Research - MCB AI is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Content Research - MCB AI?

It is built and maintained by MCB AI (@mcbaivn); the current version is v1.0.0.

💬 Comments