Trend Opportunity Radar is an independent, brand-neutral Agent Skill for social listening, market research, competitor-user research, content research, and product-demand validation. Give it a research topic and one platform; the Agent collects or imports signals, opens original sources, checks counterexamples, and generates a local decision report. The subject can be a product, business opportunity, idea, user problem, audience need, or project.
Why use a Skill instead of a one-line search prompt?
| A typical search summary | Trend Opportunity Radar |
|---|---|
| Uses whichever results were easiest to find | Freezes one topic, one platform, and a bounded sampling plan |
| Can skip sources or mix observation with inference | Opens sources and labels platform facts, machine extraction, and model judgment |
| Highlights supporting examples | Requires semantic review, counterexamples, and visible evidence limits |
| Ends with a generic summary | Produces local HTML, Markdown, and JSON with a concrete next test |
Current release: v0.14.1 candidate. It adds state-aware install and first-use routes, a 60-second first-study path, and a bilingual animated workflow, alongside the five-scenario synthetic case gallery and private local research workspace. External uncoached onboarding validation is deferred, so this remains a candidate rather than a validated onboarding release. It does not migrate legacy reports, create scheduled tasks, or predict virality, traffic, demand, or revenue. Compatible monitoring remains a candidate workflow, and the first real three-day forward comparison is still pending.
Start in 60 seconds
Choose the one route that matches your situation. Already-installed users should not download or reinstall anything.
| Your situation | What to do now | ZIP required? |
|---|---|---|
| Already installed | Open a new Agent task and paste the first-study request below. | No |
| Managed installer | Install from GitHub with the cross-Agent command below. Claude Code can also use its Marketplace commands in Install. | No |
| Manual fallback | Download the latest audited archive from Releases, verify its checksum, and copy its single Skill folder into your Agent. | Yes |
1. Install only if needed
npx skills add datou202307-design/trend-opportunity-radar -g
2. Start the first study in a new Agent task
Use trend-opportunity-radar to analyze AI travel planning on YouTube for product-demand validation.
The Skill needs only a topic and one platform; add the business goal when you already know it. A live run checks only the read capability needed for that target platform. It does not install tools, change login state, or ask for passwords, cookies, or tokens. If one prerequisite is actually missing, the run names that one action and keeps the research request for continuation.
3. Reopen saved research later
python skills/trend-opportunity-radar/scripts/trend_radar.py workspace --root ./trend-research --output-dir ./trend-research/workspace
Use the workspace only after at least one run has been saved. It indexes local run manifests and reports; it does not collect platform data, upload research, or create a scheduled task.
What happens after the request
The Agent preserves one current state and one next action throughout the run. A report is complete only after collection, semantic review, route proof, cross-format consistency, and local HTML inspection pass.
Try the complete report without platform login
The bundled Demo uses explicit synthetic evidence and the same report generator as a real study. It does not open a browser, read a platform, or require an account.
Windows PowerShell
py -3 skills/trend-opportunity-radar/scripts/trend_radar.py demo --output-dir ./trend-radar-demo
Ubuntu, macOS, or another Python 3 shell
python3 skills/trend-opportunity-radar/scripts/trend_radar.py demo --output-dir ./trend-radar-demo
Open trend-radar-demo/trend-report.html. The banner, Markdown, JSON, and manifest all state that this is synthetic and not a live platform conclusion. Add --language zh-CN for the Chinese report.
Start your first study
You only need two inputs:
- What you want to research.
- Which platform to research.
Use $trend-opportunity-radar to validate product demand for “an AI assistant that reduces repetitive support replies for small online shops” on X.
For a deterministic two-input setup, initialize a request and then start it:
python3 skills/trend-opportunity-radar/scripts/trend_radar.py init --topic "AI support for small online shops" --platform x --output-dir ./first-study
python3 skills/trend-opportunity-radar/scripts/trend_radar.py start --request ./first-study/research-request.json --output-dir ./first-study/run
If the decision goal is not explicit, the Agent infers it from the request and asks only when a different choice would materially change the result. A standard study targets 60–100 observed result cards, 30–50 unique retained signals, 12–18 opened sources, and at least three counterexamples. Weakly related content never fills a quota.
Five research scenarios
The evidence workflow stays stable while the business question and final action change with your goal.
| Your goal | Question answered | Main output |
|---|---|---|
| Find business opportunities | Which unsolved problems are worth testing? | A prioritized opportunity |
| Monitor brand sentiment | What are people praising, questioning, or asking for help with? | Issues that need a response |
| Study competitor users | Why do users stay, complain, or switch? | User problems worth targeting |
| Find content opportunities | What do people keep asking, and what should you cover next? | Content angles worth testing |
| Validate product demand | Do users need it, and what is the smallest useful test? | A minimum demand test |
See the result before you run it
The report leads with a direct answer, then shows collection counts, findings, opened sources, counterexamples, and next validation actions. The preview below uses synthetic data and does not represent a live platform conclusion.
Each study generates:
trend-report.html— a self-contained local page for reading and sharing;trend-report.md— a concise document for editing or handing to another Agent;opportunities.json— complete evidence, scoring, and audit fields.
Platform support
| Platform or source | Current status | Research surface | Per-run requirement |
|---|---|---|---|
| X | Validated | Search results, original posts, visible engagement | Current read-only capability check passes |
| Xiaohongshu | Validated | Search cards, content details, visible engagement | Authorized browser or structured import |
| YouTube | Validated | Search, video details, bounded comments, captions when needed | Public content; comments and captions as available |
| Validated | Community discovery, post search, detail verification | User-connected third-party MCP; comment trees disabled | |
| Hashtag topic research validated | Hashtag posts, details, bounded visible comments | Authorized, signed-in browser session | |
| Posts topic-research Beta | Public Posts search, verified details, bounded visible comments | Explicitly enabled, authorized signed-in browser session | |
| TikTok | Topic-research Beta | Topic search, video details, bounded comment enrichment | Explicitly enabled, signed-in Chrome session |
| JSON / CSV | General import | User-provided structured signals | No live connector required |
Instagram known-account research remains a separate pilot and is not part of the validated topic route. Anonymous TikTok live research is unsupported, and Douyin has not passed separate real acceptance. Every run probes the actual capability it will use; an installed tool or an apparently signed-in browser never proves that the target platform is available.
What keeps the result reviewable
The five-step path above is backed by a persistent run manifest, immutable stage receipts, source links, counterexamples, and separate observed-heat and evidence-confidence grades. High-engagement search cards do not become conclusions automatically. Captions, machine transcripts, and OCR remain labeled by source and are never rewritten as platform facts.
Install
Claude Code (marketplace-managed):
/plugin marketplace add datou202307-design/trend-opportunity-radar
/plugin install trend-opportunity-radar@trend-opportunity-radar
Codex, Cursor, GitHub Copilot, Gemini CLI, Claude Code, and other Agent Skills hosts:
npx skills add datou202307-design/trend-opportunity-radar -g
The cross-Agent command detects compatible hosts and installs the Skill for the current user. Reload the Agent session after installation, then try: Use trend-opportunity-radar to analyze AI travel planning on YouTube for product-demand validation. Bundled scripts use the Python standard library; Python 3.10 or later is recommended.
If your environment has no Node.js, npm, marketplace, or compatible installer, copy skills/trend-opportunity-radar/ into the Agent's Skill directory manually. For Codex, the global destination is $CODEX_HOME/skills/trend-opportunity-radar/.
Published v0.13+ releases also attach a manual-install ZIP, SHA-256 checksum, and complete file manifest on the Releases page. The archive has one trend-opportunity-radar/ folder and excludes tests, caches, local outputs, credentials, browser sessions, and live platform data.
The optional deterministic entry point freezes the request and reports exactly one next action:
python skills/trend-opportunity-radar/scripts/trend_radar.py start \
--prompt "Analyze AI travel planning on X for content opportunities." \
--output-dir ./trend-research/ai-travel-x
python skills/trend-opportunity-radar/scripts/trend_radar.py doctor \
--platform x
python skills/trend-opportunity-radar/scripts/trend_radar.py resume \
--run-dir ./trend-research/ai-travel-x
doctor does not install tools or change login state. A live route becomes ready only after the platform's actual read-only preflight succeeds; structured import remains available when it does not. Call resume after every stage; it automatically runs safe deterministic steps, records immutable stage receipts, and stops at live, judgment, or visual-inspection boundaries. The run is deliverable only when its manifest reaches complete.
For repeated research, freeze a completed run as a compatible monitoring baseline, append each newer completed snapshot, then generate a three-format time comparison:
python skills/trend-opportunity-radar/scripts/trend_radar.py monitor create --run-dir ./run-1 --monitor-dir ./monitor
python skills/trend-opportunity-radar/scripts/trend_radar.py monitor append --monitor-dir ./monitor --run-dir ./run-2
python skills/trend-opportunity-radar/scripts/trend_radar.py monitor compare --monitor-dir ./monitor
Monitoring defaults to four snapshots (every three days for X/TikTok, weekly elsewhere). The command records state and cadence but never claims or creates an external schedule without explicit user confirmation. Snapshot movement describes visible signal differences, not demand growth or future performance.
Reopen past studies from one local workspace
Build a local index after you have multiple runs or monitoring cycles:
python skills/trend-opportunity-radar/scripts/trend_radar.py workspace --root ./trend-research --output-dir ./trend-research/workspace
Open trend-research/workspace/index.html. It separates unfinished research, due collection recommendations, completed reports, and monitoring cycles; each action includes a prompt that can be handed back to an Agent. It also generates optional local summary cards. The workspace does not upload research content, expose absolute paths, or turn a recommended cadence into a scheduled task.
Data access and privacy
The Skill can use uploaded JSON/CSV, public web content, a controlled read-only browser, an authorized API, or historical snapshots. Chrome, OpenCLI, DokoBot, and third-party MCP services are optional adapters and are not bundled.
- Read only public or explicitly authorized data.
- Never package cookies, tokens, browser sessions, or customer data.
- Keep browser collection paced and sequential.
- Stop at CAPTCHAs, rate limits, or access controls instead of bypassing them.
- Fall back to structured import when a validated adapter is unavailable.
Users remain responsible for platform terms, account permissions, and applicable law.
What it does not claim
- A single snapshot does not prove that a trend is rising or falling.
- Engagement does not equal demand, revenue, or commercial attractiveness.
- Heat scores from different platforms are never combined.
- Search cards, machine transcripts, and model inferences are not platform facts.
- Incomplete sampling is never padded with weakly related content.
- The evidence index does not predict future virality, traffic, demand, or revenue.
Method and adapter documentation
- Sampling contract
- Unified execution entry point
- Local research workspace
- Scoring contract
- Platform adapters
- Browser collection
- Video evidence
- Output schema
Third-party compatibility
DokoBot, OpenCLI, Chrome, mcp-video-analyzer, yt-dlp, whisper-ctranslate2, X, Xiaohongshu, YouTube, Reddit, TikTok, Instagram, and Facebook are optional third-party tools or platforms. Names indicate compatibility or research targets only and do not imply affiliation, endorsement, account access, or authorization.
Repository layout
skills/trend-opportunity-radar/
├── SKILL.md
├── agents/openai.yaml
├── scripts/
├── references/
└── tests/
Release safety
The repository contains synthetic fixtures and illustrative assets only. It does not package live platform captures, browser sessions, credentials, customer material, internal brands, or local run artifacts. Before release, run:
python tools/audit_open_source_release.py
python tools/validate_skill.py skills/trend-opportunity-radar
python -m unittest discover -s skills/trend-opportunity-radar/tests -v
Maintainers can save a private, repository-level GitHub Traffic snapshot without adding telemetry to the Skill:
python tools/snapshot_github_traffic.py --repo owner/name --output-dir ../private-github-traffic
The command reads authenticated GitHub repository metrics only. It keeps same-day runs idempotent, stops without writing partial data on API errors, and records that clones are not verified installations or users. Do not commit real Traffic snapshots to this public repository.
License
MIT License. See LICENSE.
No comments yet
Be the first to share your take.