Skip to main content

x-ai-topic-selector

Generates topic recommendation reports by analyzing tweets from Twitter using AI and data metrics for content creators.

Install this skill

or
0/100

Security score

The x-ai-topic-selector skill was audited on Jun 5, 2026 and we found 38 security issues across 3 threat categories, including 2 high-severity. Review the findings below before installing.

Categories Tested

Security Issues

medium line 96

Template literal with variable interpolation in command context

SourceSKILL.md
96```
medium line 142

Template literal with variable interpolation in command context

SourceSKILL.md
142{ label: `X 列表 (List)${config?.sourceType === 'list' ? ' (上次选择)' : ''}`, description: "扫描指定的 Twitter 列表,选择后需要输入列表 URL" },
medium line 143

Template literal with variable interpolation in command context

SourceSKILL.md
143{ label: `推荐 (For You)${config?.sourceType === 'home' ? ' (上次选择)' : ''}`, description: "扫描 X 推荐的内容" },
medium line 144

Template literal with variable interpolation in command context

SourceSKILL.md
144{ label: `书签 (Bookmarks)${config?.sourceType === 'bookmarks' ? ' (上次选择)' : ''}`, description: "扫描你收藏的推文(自动进入 AI 深度分析模式,全量提取)" }
medium line 152

Template literal with variable interpolation in command context

SourceSKILL.md
152{ label: `数据分析模式 (Recommended)${config?.scoreMode === 'data-only' ? ' (上次选择)' : ''}`, description: "基于互动数据评分,无需 API Key" },
medium line 153

Template literal with variable interpolation in command context

SourceSKILL.md
153{ label: `AI 分析模式${config?.scoreMode === 'ai-only' ? ' (上次选择)' : ''}`, description: "基于 AI 内容分析,需要 Gemini API Key" }
medium line 161

Template literal with variable interpolation in command context

SourceSKILL.md
161{ label: `自动检测 (Recommended)${config?.aiProvider === 'auto' || !config?.aiProvider ? ' (上次选择)' : ''}`, description: "按优先级自动选择:Gemini → OpenAI 兼容接口" },
medium line 162

Template literal with variable interpolation in command context

SourceSKILL.md
162{ label: `Gemini${config?.aiProvider === 'gemini' ? ' (上次选择)' : ''}`, description: "使用 Google Gemini API(需要 GEMINI_API_KEY)" },
medium line 163

Template literal with variable interpolation in command context

SourceSKILL.md
163{ label: `OpenAI 兼容${config?.aiProvider === 'openai' ? ' (上次选择)' : ''}`, description: "使用 OpenAI 兼容接口(需要 OPENAI_API_KEY + OPENAI_MODEL)如 DeepSeek" }
medium line 171

Template literal with variable interpolation in command context

SourceSKILL.md
171{ label: `不限 (Recommended)${config?.topicCategory === 'all' ? ' (上次选择)' : ''}`, description: "显示所有类型的选题" },
medium line 172

Template literal with variable interpolation in command context

SourceSKILL.md
172{ label: `AI 工具/产品发布${config?.topicCategory === 'ai-tools' ? ' (上次选择)' : ''}`, description: "新工具、新功能、产品更新" },
medium line 173

Template literal with variable interpolation in command context

SourceSKILL.md
173{ label: `行业新闻/动态${config?.topicCategory === 'industry-news' ? ' (上次选择)' : ''}`, description: "公司动态、融资、并购等" },
medium line 174

Template literal with variable interpolation in command context

SourceSKILL.md
174{ label: `技术突破/论文${config?.topicCategory === 'tech-breakthroughs' ? ' (上次选择)' : ''}`, description: "新研究、技术创新" },
medium line 175

Template literal with variable interpolation in command context

SourceSKILL.md
175{ label: `教程/实用技巧${config?.topicCategory === 'tutorials' ? ' (上次选择)' : ''}`, description: "使用指南、最佳实践" },
medium line 176

Template literal with variable interpolation in command context

SourceSKILL.md
176{ label: `争议/讨论话题${config?.topicCategory === 'controversial' ? ' (上次选择)' : ''}`, description: "行业争论、热点讨论" }
medium line 184

Template literal with variable interpolation in command context

SourceSKILL.md
184{ label: `100 条${config?.maxTweets === 100 ? ' (上次选择)' : ''}`, description: "快速扫描" },
medium line 185

Template literal with variable interpolation in command context

SourceSKILL.md
185{ label: `200 条 (Recommended)${config?.maxTweets === 200 ? ' (上次选择)' : ''}`, description: "标准扫描" },
medium line 186

Template literal with variable interpolation in command context

SourceSKILL.md
186{ label: `500 条${config?.maxTweets === 500 ? ' (上次选择)' : ''}`, description: "深度扫描" }
medium line 194

Template literal with variable interpolation in command context

SourceSKILL.md
194{ label: `5 条${config?.topN === 5 ? ' (上次选择)' : ''}`, description: "精选推荐" },
medium line 195

Template literal with variable interpolation in command context

SourceSKILL.md
195{ label: `10 条 (Recommended)${config?.topN === 10 ? ' (上次选择)' : ''}`, description: "标准推荐" },
medium line 196

Template literal with variable interpolation in command context

SourceSKILL.md
196{ label: `20 条${config?.topN === 20 ? ' (上次选择)' : ''}`, description: "扩展推荐" }
medium line 227

Template literal with variable interpolation in command context

SourceSKILL.md
227```
medium line 248

Template literal with variable interpolation in command context

SourceSKILL.md
248```
medium line 292

Template literal with variable interpolation in command context

SourceSKILL.md
292```bash
high line 373

Template literal with variable interpolation in command context

SourceSKILL.md
3732. 脚本路径 = `${SKILL_DIR}/scripts/<script-name>.ts`
high line 374

Template literal with variable interpolation in command context

SourceSKILL.md
3743. 将本文档中所有 `${SKILL_DIR}` 替换为实际路径
medium line 43

Access to hidden dotfiles in home directory

SourceSKILL.md
43配置文件路径: `~/.x-topic-selector/config.json`
medium line 84

Access to hidden dotfiles in home directory

SourceSKILL.md
84**必须执行**: Agent 先检查 `~/.x-topic-selector/config.json` 是否存在
low line 87

Access to hidden dotfiles in home directory

SourceSKILL.md
87cat ~/.x-topic-selector/config.json 2>/dev/null || echo "NO_CONFIG"
low line 326

Access to hidden dotfiles in home directory

SourceSKILL.md
326cat > ~/.x-topic-selector/config.json << 'EOF'
low line 54

External URL reference

SourceSKILL.md
54"listUrls": ["https://x.com/i/lists/xxx"],
low line 231

External URL reference

SourceSKILL.md
231question: "请输入要扫描的 X 列表 URL 地址(支持多个,用逗号分隔)\n\n示例格式:https://x.com/i/lists/1234567890\n\n💡 推荐尝试使用「AI 精选」列表,可获取高质量 AI 领域内容。${config?.listUrls?.[0] ? `\n\n📌 上次使用: ${config.listUrls.join(', ')}` : ''}",
low line 234

External URL reference

SourceSKILL.md
234{ label: "https://x.com/i/lists/2021198996157710621", description: "「AI 精选」推荐列表 — 优质 AI 内容源" }
low line 252

External URL reference

SourceSKILL.md
252question: "书签模式和 AI 模式需要 Gemini API Key\n\n获取方式:访问 https://aistudio.google.com/apikey 创建 API Key${config?.geminiApiKey ? '\n\n📌 检测到已保存的 API Key,可直接复用' : ''}",
low line 264

External URL reference

SourceSKILL.md
264- `OPENAI_API_BASE`(可选)— 自定义 API 端点(如 DeepSeek: `https://api.deepseek.com/v1`)
low line 300

External URL reference

SourceSKILL.md
300# export OPENAI_API_BASE="https://api.deepseek.com/v1" # OpenAI 兼容模式(可选)
low line 314

External URL reference

SourceSKILL.md
314"https://x.com/i/bookmarks" \
low line 471

External URL reference

SourceSKILL.md
471- `export OPENAI_API_BASE="https://api.deepseek.com/v1"` (可选,自定义端点)
Scanned on Jun 5, 2026
View Security Dashboard
Installation guide →