mcpField
X
x-filter

x-filter

github.com/kangarooking营销与增长342341 次安装36 周前更新
代码仓库

关于 x-filter

用于为 X 内容创作评分和筛选选题的技能,可处理收集结果、手动列表或原始文本。它按加权标准评估选题,并可参考已拒绝选题,形成创作池。

主要功能

  1. 01按权重为选题评分
  2. 02评估热度、争议、价值和相关性
  3. 03可选的重复选题检测
  4. 04来源与主题多样性调整
  5. 05分级筛选报告
  6. 06输出机器可读的 FILTER_JSON

适用场景

  1. 01筛选 x-collect 的结果
  2. 02为手动选题列表排序
  3. 03从原始文本筛出创作选题
  4. 04利用拒绝记录减少重复

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/kangarooking/x-skills --skill x-filter

安装后在 Claude Code 中输入/x-filter确认已加载。

详细介绍

X Filter

为 X 内容创作评分并筛选收集到的素材。得分 ≥7 分的主题将进入创作池。

评分体系(满分 10 分)

标准权重描述
热度/趋势4 分当前受欢迎程度和趋势势头
争议性2 分讨论潜力和辩论价值
高价值3 分信息密度和可执行的见解
账号定位相关1 分与账号定位的一致性

门槛:≥7 分进入创作池

前提条件

  • 来自 x-collect 的素材(或手动输入)
  • 用户资料来自 x-create/references/user-profile.md(用于相关性评分)

可选状态(反馈循环)

如果有持久化状态可用,请使用它来改进筛选:

  • 状态目录:~/.claude/skills/x-create/state/
  • 负面样本:rejected_topics.json (SimilarityFilter)
  • 事件日志:events.jsonl(可选分析)

如果状态文件不存在,则按正常流程继续。

工作流

输入

接受以下来源的素材:

  1. x-collect 输出 - 结构化素材报告
  2. 手动列表 - 用户提供的主题/URL
  3. 原始文本 - 要评估的非结构化内容
评分流程

针对每项素材/主题,对多个维度评分并按权重合并。

加权得分(推荐):

FinalScore = Σ(w_i × s_i) - NegPenalty

其中:

  • s_i 是各维度的得分(0..max)
  • w_i 来自 references/user-profile.md(不存在时使用默认值)
  • NegPenalty 根据与被拒绝主题的相似度及其他负面信号计算

1. 热度/趋势(趋势得分:0-4)

4分: 当前热门话题,大量讨论
3分: 近期热点,关注度上升
2分: 稳定话题,持续有人讨论
1分: 小众话题,关注度有限
0分: 过时话题,几乎无人讨论

(可选)新鲜度

  • 如果能根据来源推断内容新近程度,可以:
    • 将其纳入趋势得分,或
    • 增加少量加分/扣分(例如:<72h 加 0.5 分,>30d 扣 0.5 分)

2. 争议性(争议得分:0-2)

2分: 明显争议,多方观点对立
1分: 存在不同看法,可引发讨论
0分: 共识性话题,难以引发讨论

3. 高价值(价值分:0-3)

3分: 硬核干货,可直接指导行动
2分: 有价值信息,提供新视角
1分: 一般信息,了解即可
0分: 低价值,无实质内容

4. 账号定位相关(相关性得分:0-1)

1分: 与账号定位高度相关
0分: 与账号定位关联较弱

检查用户资料:~/.claude/skills/x-create/references/user-profile.md 如果未找到,则默认领域为:[AI/科技, 创业, 个人成长]

SimilarityFilter(负面样本):

  • 如果 ~/.claude/skills/x-create/state/rejected_topics.json 存在,则将每个候选主题与被拒绝的条目进行比较。
  • 如果最高相似度 ≥ 0.85:标记为可能重复/低价值 → 大幅扣分或直接拒绝。
  • 如果 0.75 ≤ 相似度 < 0.85:施加轻微扣分(例如:-2 分)并说明原因。

(通过脚本实现):

  • python ~/.claude/skills/x-create/scripts/x_state.py similarity --against rejected --text "{topic}" --topk 3
输出格式
# 选题筛选报告

## 筛选时间
{timestamp}

## 用户定位
- 领域: {domains}
- 人设: {persona_style}

## 筛选结果

### Tier A:入选创作池 (≥7分)

#### 1. {Topic Title} - **{final_score}分**
| 热度 | 争议性 | 高价值 | 相关性 | 负向惩罚 |
|------|--------|--------|--------|----------|
| {trending}/4 | {controversy}/2 | {value}/3 | {relevance}/1 | -{neg_penalty} |

- **推荐类型**: [短推文/Thread/评论回复]
- **推荐风格**: [高价值干货/犀利观点/热点评论/故事洞察/技术解析]
- **创作角度**: 建议的切入点
- **核心观点**: 可提炼的关键论点
- **相似度命中(可选)**: {max_similarity} - matched: {matched_ids}

#### 2. ...

### Tier B:待定 (5-6分)
- {Topic} - {final_score}分 - {原因}

### Tier C:淘汰 (<5分)
- {Topic} - {final_score}分 - {原因}

## 创作建议

入选 {n} 个选题,建议优先级:
1. {最高分选题} - 理由
2. {次高分选题} - 理由

下一步:运行 `/x-create {选题}` 开始创作

追加一个供钩子/状态摄取使用的机器可读区块:

FILTER_JSON
{
  "schema_version": "x_skills.filter.v1",
  "timestamp": "{timestamp}",
  "profile": {
    "domains": ["..."],
    "persona_style": "..."
  },
  "items": [
    {
      "topic": "...",
      "scores": {
        "trending": 0,
        "controversy": 0,
        "value": 0,
        "relevance": 0,
        "neg_penalty": 0
      },
      "final_score": 0,
      "tier": "A|B|C",
      "reasons": ["..."],
      "similarity": {
        "max": 0.0,
        "matched": [{"id":"rej_xxx","score":0.0,"title":"..."}]
      }
    }
  ]
}

执行步骤

  1. 加载素材,来源为 x-collect 或用户输入
  2. 读取用户资料,用于相关性评分和权重
  3. (可选)SimilarityFilter,与被拒绝的主题进行比较
  4. 为每项素材评分,根据标准计算 FinalScore
  5. 多样性调整(推荐):
    • 应用来源/领域衰减:重复来源的得分使用 score *= 0.6^(N-1)
    • 按主题簇去重:每个簇保留得分最高的条目
  6. 分类:A 级 ≥7,B 级 5-6,C 级 <5
  7. 输出报告 + FILTER_JSON
  8. (可选)持久化反馈循环状态:
    • 将 C 级条目写入被拒绝集合:
      • python ~/.claude/skills/x-create/scripts/x_state.py reject --topic-json '{"title":"...","reason":"...","stage":"filter"}'
    • 追加事件:
      • python ~/.claude/skills/x-create/scripts/x_state.py event --event filter.scored --payload-json '{"accepted":3,"maybe":2,"rejected":7}'

示例

来自 x-collect 的输入:

素材1: Claude 4.5 Opus发布
素材2: AI编程助手对比评测
素材3: OpenAI最新裁员新闻

评分:

Claude 4.5 Opus发布:
- 热度: 4/4 (刚发布,热门话题)
- 争议性: 1/2 (性能vs价格讨论)
- 高价值: 3/3 (新能力详解)
- 相关性: 1/1 (AI/科技相关)
- 总分: 9/10 ✓ 入选

AI编程助手对比评测:
- 热度: 2/4 (持续话题)
- 争议性: 2/2 (Cursor vs Copilot争论)
- 高价值: 3/3 (实用对比)
- 相关性: 1/1 (科技相关)
- 总分: 8/10 ✓ 入选

OpenAI最新裁员新闻:
- 热度: 3/4 (近期热点)
- 争议性: 1/2 (有讨论)
- 高价值: 1/3 (信息价值有限)
- 相关性: 0/1 (非核心领域)
- 总分: 5/10 × 待定

自定义

用户可以在 user-profile.md 中自定义权重:

scoring:
  trending: 4      # 热度权重
  controversy: 2   # 争议性权重
  value: 3         # 高价值权重
  relevance: 1     # 相关性权重
  threshold: 7     # 入选阈值

集成

筛选后,建议:

筛选完成!{n} 个选题入选创作池。

推荐优先创作:{top_topic}({score}分)

下一步:运行 /x-create {top_topic} 开始创作

评论

支持 Markdown