Skill: rotbit/creator-alpha-feed (version 1.0.8)

--- name: creator-alpha-feed description: Collect and rank daily AI content for creator-focused publishing workflows. Use when users ask for AI topic scouting, KOL tracking (especially X/Twitter), practical tutorial picks, industry updates, or automated Feishu/Obsidian briefing pushes with configurable templates and time windows. --- # Creator Alpha Feed 1. Read config first: - `${OBSIDIAN_CONFIG_PATH:-<your_obsidian_vault>/OpenClaw/项目/AI内容日报/采集配置.md}` 2. Execute collection in this order for X: - homepage feed → whitelist accounts → keywords 3. Prefer API where available; fallback to browser when unavailable. 4. Enforce browser tab cap: - max 7 concurrent tabs; close finished tabs first; end with 0 tabs (close all temporary tabs before finishing). 5. Build ranked outputs by configured structure (default): - KOL TOP3 (last 6h) - Practical/Tutorial/Opinion TOP10 - Industry TOP3 (last 6h) 6. Push concise results to group channel; write full report to Obsidian path. 7. Name report files with timestamp format: `YYYY-MM-DD_HHMM.md`. 8. Prefer real Obsidian Vault path (not workspace mirror) when available. 9. Use structured Obsidian directories: - `OpenClaw/项目/AI内容日报/01-日报/` for final reports - `OpenClaw/项目/AI内容日报/02-运行记录/` for verification/debug runs - `OpenClaw/项目/AI内容日报/03-文档/` for installation/operational docs 10. If login is required for a source, pause and notify user to log in; wait up to 3 minutes with periodic checks, then continue remaining sources if still unavailable. ## Bundled scripts Use `scripts/collect-v4.sh` and related scripts for deterministic fallback/automation when needed. ## Required output checks - Include must-track account status for `@xiaohu @dotey @marclou` - Include fallback/degradation notes - Include final report path - In group replies, mention the question asker (`@who asked`) when channel supports mentions

path: references/cron-prompt-template.md
content: 执行每日 AI 内容采集、评分、报告和飞书群推送。

先读取配置：${OBSIDIAN_CONFIG_PATH:-<your_obsidian_vault>/OpenClaw/项目/AI内容日报/采集配置.md}
严格按配置执行：
1) 数据源：能API走API；X(Twitter)优先browser。
2) X抓取顺序：先 x.com 首页推荐流，再必抓账号，再关键词。
3) 浏览器资源管理：最多同时7个tab；达到上限先关已完成tab再开新tab；任务结束必须关闭到0个tab。

输出结构（必须）：
A. 头部KOL TOP3（仅统计最近6小时内容）
B. 实操/教程/观点 TOP10（默认时间窗）
C. 行业最新信息 TOP3（仅统计最近6小时内容）

群内推送格式（必须）：
- 推送精简版：KOL TOP3 + 实操TOP10 + 行业TOP3（标题+一句理由）
- 详细完整版（含候补、降级明细）写入 Obsidian 文档并附路径
- 正式日报写入：`OpenClaw/项目/AI内容日报/01-日报/`
- 调试/验证写入：`OpenClaw/项目/AI内容日报/02-运行记录/`
- Obsidian 报告文件名统一：`YYYY-MM-DD_HHMM.md`

报告中需包含：
- 必抓账号状态（含抓取异常说明）
- 候补清单（最多5条）
- 各数据源API/browser方式与降级明细

保存路径：
- ${WORKSPACE_DIR:-~/.openclaw/workspace}/ai-content-pipeline/filtered/$(date +%Y-%m-%d)/TOP10-daily-report.md
- ${OBSIDIAN_REPORT_DIR:-<your_obsidian_vault>/OpenClaw/项目/AI内容日报}/$(date +%Y-%m-%d).md

推送到群：${FEISHU_CHAT_ID:-chat:REPLACE_ME}

path: references/data-collection-rules.md
content: # 数据采集规则

## 总原则
- 能用 API 就用 API
- API 不可用时，降级 browser 抓取
- 报告中必须记录降级原因

## X(Twitter)
- 采集顺序：首页流 → 白名单账号 → 关键词
- 优先 browser 抓取（x.com）
- 评论抓取：只保留高价值评论（有数据/链接/实操洞察）

## 其他源
- Hacker News：API优先，失败则页面抓取
- TechCrunch：RSS/API优先，失败则页面抓取
- Reddit/ProductHunt/GitHub：按可用性 API 或 browser

## 质量过滤
- 优先：可复用方法论、实操步骤、副业变现相关
- 降权：纯热度、纯情绪、无信息增量内容

## 浏览器性能
- 同时 tab 不超过 7
- 抓完即关，结束保留 0~1 tab


path: references/push-format.md
content: # 推送格式规范（群内）

## 精简推送（默认）
- A) 头部KOL TOP3（6小时）
- B) 实操/教程/观点 TOP10
- C) 行业最新 TOP3（6小时）

每条格式：
- 标题
- 一句理由（不超过30字）

## 完整推送（不建议群内）
- 含详细字段、候补、降级明细
- 建议写入 Obsidian 文档并在群里给路径

## 失败兜底
- 若消息过长：自动降级到 TOP5 版本
- 若发送失败：立即在群里回报失败原因与重试状态


path: scripts/analyze.sh
content: #!/bin/bash
###############################################################################
# AI内容分析脚本 - 调用OpenClaw进行智能筛选
# 用法: ./analyze.sh [日期，格式YYYY-MM-DD，默认为今天]
###############################################################################

set -e

# 配置
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PIPELINE_DIR="$(dirname "$SCRIPT_DIR")"
DATE="${1:-$(date +%Y-%m-%d)}"

# 目录
COLLECTED_DIR="$PIPELINE_DIR/collected/$DATE"
FILTERED_DIR="$PIPELINE_DIR/filtered/$DATE"
mkdir -p "$FILTERED_DIR"

# 文件
RAW_JSON="$COLLECTED_DIR/raw-content.json"
OUTPUT_JSON="$FILTERED_DIR/analyzed-content.json"
OUTPUT_MD="$FILTERED_DIR/wechat-worthy.md"
LOG_FILE="$FILTERED_DIR/analysis.log"

# 初始化日志
log() {
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE"
}

# 检查原始数据是否存在
if [[ ! -f "$RAW_JSON" ]]; then
    echo "❌ 错误: 未找到原始数据文件 $RAW_JSON"
    echo "请先运行 collect.sh 收集数据"
    exit 1
fi

log "========== AI内容分析开始 =========="
log "日期: $DATE"
log "输入: $RAW_JSON"
log "输出: $FILTERED_DIR"

# 统计原始数据
TOTAL_RAW=$(jq '[.sources[].items | length] | add' "$RAW_JSON")
log "待分析内容: $TOTAL_RAW 条"

# 提取所有内容项，准备分析
jq '[.sources[].items[] | {
    title: .title,
    url: (.url // .hn_url // .permalink),
    source: (.source // .domain // "unknown"),
    author: (.author // "unknown"),
    hotness: (.points // .upvotes // 0),
    comments: (.comments // 0)
}]' "$RAW_JSON" > "$FILTERED_DIR/extracted-items.json"

log "已提取内容到 extracted-items.json"

# 创建分析任务说明
cat > "$FILTERED_DIR/analysis-task.md" << 'EOF'
# AI内容分析任务

你是一个资深的新媒体内容策划专家，专门负责判断AI内容是否适合公众号文章。

## 分析维度

请从以下5个维度评分（1-10分）：

1. **时效性** (Timeliness)
   - 10分: 当天/24小时内的新内容
   - 7-9分: 2-3天内的内容
   - 4-6分: 一周内
   - 1-3分: 较旧的内容

2. **话题性** (Topic Value)
   - 是否会引起读者兴趣和讨论
   - 社交传播潜力
   - 争议度适中（不要太有争议）

3. **专业性/深度** (Profundity)
   - 信息量是否充足
   - 是否有独特见解或数据
   - 是否经得起深度解读

4. **公众号适合度** (WeChat Fit)
   - 是否适合写成公众号文章格式
   - 是否有明确的观点/结论
   - 配图/案例是否丰富

5. **中文受众相关性** (Chinese Relevance)
   - 对中国读者是否有价值
   - 是否有国内应用场景
   - 是否能引发共鸣

## 推荐标准

- **强烈推荐** (8-10分): 值得立即写
- **推荐** (7-8分): 可以考虑写
- **不推荐** (<7分): 暂不考虑

## 输出格式

对每条内容输出：

```
### {序号}. {标题}
- **综合评分**: {平均分}/10
- **各维度评分**:
  - 时效性: {分}
  - 话题性: {分}
  - 专业性: {分}
  - 公众号适合度: {分}
  - 中文受众相关性: {分}
- **原链接**: {url}
- **推荐理由**: {一句话说明为什么推荐}
- **建议写作角度**: {从什么角度写这篇文章}
- **目标受众**: {适合哪些读者}
- **是否推荐**: {是/否}
```

## 待分析内容

EOF

# 将提取的内容附加到任务文件
cat >> "$FILTERED_DIR/analysis-task.md" << EOF

共 $TOTAL_RAW 条内容：

EOF

jq -r '.[] | "### \(.title)\n- 链接: \(.url)\n- 来源: \(.source)\n- 热度: \(.hotness)"' "$FILTERED_DIR/extracted-items.json" >> "$FILTERED_DIR/analysis-task.md"

log "分析任务文件已生成: $FILTERED_DIR/analysis-task.md"
log "内容已准备好，等待AI分析..."

# 创建输出模板
cat > "$OUTPUT_MD" << EOF
# 公众号选题推荐 - $DATE

> 分析时间: $(date '+%Y-%m-%d %H:%M:%S')  
> 数据来源: Hacker News, Reddit  
> 原始条目: $TOTAL_RAW 条  
> 筛选状态: 等待AI分析完成

---

## 🏆 Top 推荐

*分析完成后将显示推荐内容*

---

## 📋 分析说明

此文件由AI自动分析生成。要查看分析结果，请：

1. 使用 OpenClaw 的 \\\`sessions_spawn\\\` 工具调用AI分析
2. 或手动分析 \\\`$FILTERED_DIR/analysis-task.md\\\`

---

**自动分析命令示例**:

\\\`\\\`\\\`
任务: 请分析 $FILTERED_DIR/analysis-task.md 中的内容，
按照评分标准筛选出适合公众号的AI选题，
输出格式化的推荐列表到 $OUTPUT_MD
\\\`\\\`\\\`

EOF

log "输出模板已生成: $OUTPUT_MD"
log "========== 准备完成，等待AI分析 =========="

echo ""
echo "✅ 分析准备完成!"
echo "📁 输出目录: $FILTERED_DIR"
echo "📄 分析任务: $FILTERED_DIR/analysis-task.md"
echo "📊 待分析内容: $TOTAL_RAW 条"
echo ""
echo "下一步: 使用 OpenClaw 的 sessions_spawn 工具执行AI分析"
echo "  或运行: openclaw agent --message \"分析 $FILTERED_DIR/analysis-task.md 并输出到 $OUTPUT_MD\""


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: suspicious | SkillSpector: suspicious (CRITICAL)