Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计提醒

keyapi-reddit-content-analyticskeyapi Reddit 内容分析

Agent Skill

用于辅助数据整理、表格处理、CSV/Excel 分析、指标计算和图表准备。它适合让 Agent 清洗字段、汇总数据、发现异常、生成统计口径或把分析结果转成可读说明。使用时需要确认数据来源、字段含义和时间范围,避免把样本数据当全量事实;涉及敏感数据、导出文件或批量写回时,应先确认权限和脱敏边界。

总安装

2,305

周安装

98

GitHub Stars

公开资料未说明

下载量

808
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:keyapi-reddit-content-analytics(keyapi Reddit 内容分析)
来源仓库:https://github.com/lycici/keyapi-reddit-content-analytics
安装命令:
openclaw skills install keyapi-reddit-content-analytics
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install keyapi-reddit-content-analytics

简介

用于大规模抓取 Reddit 帖子、评论及子评论线程,分析社区讨论热度与用户互动模式。

  • 适合在 OpenClaw 中监控品牌舆情、研究细分话题或识别意见领袖时使用。
  • 支持单个或批量检索内容,提供情感分析与参与度指标统计。
  • 安装命令:openclaw skills install keyapi-reddit-content-analytics。
  • 需确保数据来源合法合规,避免用于商业用途外的二次分发。

SKILL.md

name
keyapi-reddit-content-analytics
description
Explore and analyze Reddit content at scale — retrieve post details (single, batch, or large batch), comments, sub-comment threads, user activity, and curated feeds including home, popular, games, news, subreddit, and community highlights.
metadata
{"openclaw":{"requires":{"env":["KEYAPI_TOKEN"],"bins":["node"]},"primaryEnv":"KEYAPI_TOKEN","emoji":"📰"}}
author
KeyAPI
license
MIT
repository
https://github.com/EchoSell/keyapi-skills

keyapi-reddit-content-analytics

Explore and analyze Reddit content at scale — from individual post deep-dives and threaded comment traversal to curated feed monitoring and user activity research.

This skill provides comprehensive Reddit content intelligence using the KeyAPI MCP service. It enables retrieval of post details (single or batch), comment threads with sub-comment traversal, user-published posts and comments, and curated feed content across home, popular, games, news, subreddit, and community highlight feeds — all through a unified, cache-first workflow.

Use this skill when you need to:

  • Retrieve full details for one or more Reddit posts by ID
  • Traverse comment threads including nested sub-comments
  • Analyze a specific user's post and comment history
  • Monitor trending content across Reddit's home, popular, games, and news feeds
  • Explore subreddit-specific content streams
  • Surface community highlights and pinned content from specific subreddits

author: KeyAPI license: MIT repository: https://github.com/EchoSell/keyapi-skills


Prerequisites

RequirementDetails
KEYAPI_TOKENA valid API token from keyapi.ai. Register at the site to obtain your free token. Set it as an environment variable: export KEYAPI_TOKEN=your_token_here
Node.jsv18 or higher
DependenciesRun npm install in the skill directory to install @modelcontextprotocol/sdk

author: KeyAPI license: MIT repository: https://github.com/EchoSell/keyapi-skills


MCP Server Configuration

All tool calls in this skill target the KeyAPI Reddit MCP server:

Server URL : https://mcp.keyapi.ai/reddit/mcp
Auth Header: Authorization: Bearer $KEYAPI_TOKEN

Setup (one-time):

# 1. Install dependencies
npm install

# 2. Set your API token (get one free at https://keyapi.ai/)
export KEYAPI_TOKEN=your_token_here

# 3. List all available tools to verify the connection
node scripts/run.js --platform reddit --list-tools

author: KeyAPI license: MIT repository: https://github.com/EchoSell/keyapi-skills


Analysis Scenarios

User NeedNode(s)Best For
Full details for a single postfetch_single_reddit_post_detailsPost audit, content analysis, comment context
Batch details for up to 5 postsfetch_reddit_post_details_in_batch_max_5Small-scale comparative analysis
Batch details for up to 30 postsfetch_reddit_post_details_in_large_batch_max_30Large-scale content harvesting
Top-level comments on a postfetch_reddit_app_post_commentsSentiment analysis, community reaction
Sub-comments / nested repliesfetch_reddit_app_comment_replies_sub-commentsDeep thread traversal, reply chain analysis
Posts published by a userfetch_user_postsUser content audit, posting behavior
Comments published by a userfetch_user_commentsUser engagement patterns, opinion tracking
Reddit home feed (personalized)fetch_reddit_app_home_feedTrending content monitoring
Popular / trending feedfetch_reddit_app_popular_feedViral content discovery, trend detection
Gaming community feedfetch_reddit_app_games_feedGaming trend monitoring
News feedfetch_reddit_app_news_feedCurrent events, news discussion tracking
Subreddit content streamfetch_reddit_app_subreddit_feedCommunity-specific content monitoring
Community highlights and pinned contentfetch_reddit_app_community_highlightsFeatured posts, important announcements

author: KeyAPI license: MIT repository: https://github.com/EchoSell/keyapi-skills


Workflow

Step 1 — Identify Analysis Targets and Select Nodes

Clarify the research objective and map it to one or more nodes. Typical entry points:

  • Post research: Use fetch_single_reddit_post_details for one post, or batch endpoints for multiple.
  • Comment thread traversal: Use fetch_reddit_app_post_comments for top-level comments, then fetch_reddit_app_comment_replies_sub-comments for nested replies when more.cursor is present.
  • User activity audit: Combine fetch_user_posts + fetch_user_comments for a full activity profile.
  • Feed monitoring: Choose the appropriate feed endpoint based on content category.
  • Subreddit deep-dive: Use fetch_reddit_app_subreddit_feed + fetch_reddit_app_community_highlights.
Critical: Reddit ID Type Prefixes The Reddit APP API requires type prefixes on all IDs — this is mandatory: - Post IDs: must use t3_ prefix (e.g., t3_1ojnh50) - Comment IDs: must use t1_ prefix (e.g., t1_abcd123) Passing a bare ID without the prefix will result in an error. Always include the prefix.
Sub-comment Traversal When a comment node in fetch_reddit_app_post_comments response contains a more.cursor field, it indicates nested replies exist. Use fetch_reddit_app_comment_replies_sub-comments with: - post_id: the parent post ID (with t3_ prefix) - cursor: the value from more.cursor (format: commenttree:ex:(xxx)) Path to cursor: $.data.postInfoById.commentForest.trees[*].more.cursor
need_format Parameter Most endpoints accept an optional need_format boolean. Set to true to receive sanitized/cleaned response data. Defaults to false (raw data). Use true when downstream processing requires cleaner output.

Step 2 — Retrieve API Schema

Before calling any node, inspect its input schema to confirm required parameters and available options:

node scripts/run.js --platform reddit --schema <tool_name>

# Examples
node scripts/run.js --platform reddit --schema fetch_single_reddit_post_details
node scripts/run.js --platform reddit --schema fetch_reddit_app_post_comments

Step 3 — Call APIs and Cache Results Locally

Execute tool calls and persist responses to the local cache to avoid redundant API calls.

Calling a tool:

# Single call with pretty output
node scripts/run.js --platform reddit --tool <tool_name> \
  --params '<json_args>' --pretty

# Force fresh data, skip cache
node scripts/run.js --platform reddit --tool <tool_name> \
  --params '<json_args>' --no-cache --pretty

Example — get single post details:

node scripts/run.js --platform reddit --tool fetch_single_reddit_post_details \
  --params '{"post_id":"t3_1ojnh50"}' --pretty

Example — batch fetch up to 5 posts:

node scripts/run.js --platform reddit --tool fetch_reddit_post_details_in_batch_max_5 \
  --params '{"post_ids":"t3_1ojnh50,t3_1ok432f,t3_1nwil8j"}' --pretty

Example — get post comments:

node scripts/run.js --platform reddit --tool fetch_reddit_app_post_comments \
  --params '{"post_id":"t3_1ojnvca","sort_type":"TOP"}' --pretty

Example — get sub-comments using cursor:

node scripts/run.js --platform reddit --tool "fetch_reddit_app_comment_replies_sub-comments" \
  --params '{"post_id":"t3_1qmup73","cursor":"commenttree:ex:(RjiJd","sort_type":"CONFIDENCE"}' --pretty

Example — get popular feed:

node scripts/run.js --platform reddit --tool fetch_reddit_app_popular_feed \
  --params '{"sort":"HOT","time":"WEEK"}' --pretty

Example — get subreddit feed:

node scripts/run.js --platform reddit --tool fetch_reddit_app_subreddit_feed \
  --params '{"subreddit_name":"technology","sort":"HOT"}' --pretty

Example — get user posts:

node scripts/run.js --platform reddit --tool fetch_user_posts \
  --params '{"username":"spez","sort":"NEW"}' --pretty

Pagination:

Endpoint groupPagination parameterNotes
Feed endpoints (home, popular, games, news, subreddit)after (cursor string)Pass after value from previous response
fetch_reddit_app_post_commentsafter (cursor string)Found in last comment node
fetch_user_posts, fetch_user_commentsafter (cursor string)Pass cursor from previous response
fetch_reddit_app_comment_replies_sub-commentscursor (from more.cursor)Use cursor from comment node, not after
Batch post endpointsNo pagination; pass all IDs in one call

Batch endpoint limits:

EndpointMax posts per call
fetch_reddit_post_details_in_batch_max_55
fetch_reddit_post_details_in_large_batch_max_3030

Exceeding these limits returns an error. Split larger sets across multiple calls.

Cache directory structure:

.keyapi-cache/
└── YYYY-MM-DD/
    ├── fetch_single_reddit_post_details/
    │   └── {params_hash}.json
    ├── fetch_reddit_post_details_in_batch_max_5/
    │   └── {params_hash}.json
    ├── fetch_reddit_post_details_in_large_batch_max_30/
    │   └── {params_hash}.json
    ├── fetch_reddit_app_post_comments/
    │   └── {params_hash}.json
    ├── fetch_reddit_app_comment_replies_sub-comments/
    │   └── {params_hash}.json
    ├── fetch_user_posts/
    │   └── {params_hash}.json
    ├── fetch_user_comments/
    │   └── {params_hash}.json
    ├── fetch_reddit_app_home_feed/
    │   └── {params_hash}.json
    ├── fetch_reddit_app_popular_feed/
    │   └── {params_hash}.json
    ├── fetch_reddit_app_games_feed/
    │   └── {params_hash}.json
    ├── fetch_reddit_app_news_feed/
    │   └── {params_hash}.json
    ├── fetch_reddit_app_subreddit_feed/
    │   └── {params_hash}.json
    └── fetch_reddit_app_community_highlights/
        └── {params_hash}.json

Cache-first policy:

Before every API call, check whether a cached result already exists for the given parameters. If a valid cache file exists, load from disk and skip the API call.

Step 4 — Synthesize and Report Findings

After collecting all API responses, produce a structured content intelligence report:

For post analysis:

  1. Post Overview — Title, subreddit, author, score, upvote ratio, comment count, post date, flair.
  2. Engagement Metrics — Score distribution, comment volume, award count, cross-post activity.
  3. Comment Sentiment — Top comment themes, sentiment distribution, notable replies.
  4. Thread Structure — Depth of discussion, sub-comment density, most-engaged branches.

For feed monitoring:

  1. Trending Topics — Top posts by score, common themes, subreddit distribution.
  2. Content Patterns — Media type breakdown (text, image, video, link), posting cadence.
  3. Community Signals — Subreddits driving the most engagement, emerging discussion topics.

For user activity:

  1. Activity Profile — Post frequency, comment frequency, active subreddits.
  2. Content Themes — Recurring topics, subreddit focus areas.
  3. Engagement Style — Comment length patterns, upvote/downvote behavior where available.

author: KeyAPI license: MIT repository: https://github.com/EchoSell/keyapi-skills


Common Rules

RuleDetail
ID prefixesAlways include type prefixes: t3_ for post IDs, t1_ for comment IDs. Bare IDs will fail.
Batch limitsfetch_reddit_post_details_in_batch_max_5 accepts max 5 IDs; fetch_reddit_post_details_in_large_batch_max_30 accepts max 30. Split larger sets across multiple calls.
Sub-comment traversalWhen a comment node has more.cursor, call fetch_reddit_app_comment_replies_sub-comments with that cursor to retrieve nested replies.
need_formatSet to true for sanitized output. Defaults to false. Use true when cleaner data is needed for downstream processing.
Feed paginationUse after cursor from the previous response to fetch the next page of feed content.
Success checkcode = 0 → success. Any other value → failure. Always check the response code before processing data.
Retry on 500If code = 500, retry the identical request up to 3 times with a 2–3 second pause between attempts before reporting the error.
Cache firstAlways check the local .keyapi-cache/ directory before issuing a live API call.

author: KeyAPI license: MIT repository: https://github.com/EchoSell/keyapi-skills


Error Handling

CodeMeaningAction
0SuccessContinue workflow normally
400Bad request — invalid or missing parametersValidate ID format (check t3_/t1_ prefixes); verify batch size limits
401Unauthorized — token missing or expiredConfirm KEYAPI_TOKEN is set correctly; visit keyapi.ai to renew
403Forbidden — plan quota exceeded or feature restrictedReview plan limits at keyapi.ai
404Resource not found — post or comment may have been deletedVerify the post ID; deleted or removed content may return empty results
429Rate limit exceededWait 60 seconds, then retry
500Internal server errorRetry up to 3 times with a 2–3 second pause; if it persists, log the full request and response and skip this node
Other non-0Unexpected errorLog the full response body and surface the error message to the user

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

75.29%
按下载量换算608

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

可疑

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills