x-filter

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

X Filter

X 选题筛选工具

Score and filter collected materials for X content creation. Topics scoring ≥7 points enter the creation pool.
为X内容创作对收集到的素材进行打分与筛选。评分≥7分的选题将进入创作池。

Scoring System (满分10分)

评分体系(满分10分)

CriteriaWeightDescription
热度/趋势4分Current popularity and trend momentum
争议性2分Discussion potential and debate value
高价值3分Information density and actionable insights
账号定位相关1分Alignment with account positioning
Threshold: ≥7分 enters creation pool
评估维度权重说明
热度/趋势4分当前受欢迎程度与趋势势头
争议性2分讨论潜力与辩论价值
高价值3分信息密度与可落地洞察
账号定位相关1分与账号定位的匹配度
入选阈值:≥7分进入创作池

Prerequisites

前置条件

  • Materials from x-collect (or manual input)
  • User profile from x-create/references/user-profile.md (for relevance scoring)
  • 来自x-collect的素材(或手动输入)
  • 来自x-create/references/user-profile.md的用户画像(用于相关性评分)

Optional State (Feedback Loop)

可选状态(反馈循环)

If available, use persisted state to improve filtering:
  • State dir:
    ~/.claude/skills/x-create/state/
  • Negative samples:
    rejected_topics.json
    (SimilarityFilter)
  • Events log:
    events.jsonl
    (optional analytics)
If state files don't exist, proceed normally.
若存在持久化状态,可用于优化筛选效果:
  • 状态目录:
    ~/.claude/skills/x-create/state/
  • 负向样本:
    rejected_topics.json
    (相似度过滤器)
  • 事件日志:
    events.jsonl
    (可选分析)
若状态文件不存在,正常执行即可。

Workflow

工作流程

Input

输入

Accept materials from:
  1. x-collect output - Structured material report
  2. Manual list - User-provided topics/URLs
  3. Raw text - Unstructured content to evaluate
接受以下来源的素材:
  1. x-collect输出 - 结构化素材报告
  2. 手动列表 - 用户提供的选题/URL
  3. 原始文本 - 待评估的非结构化内容

Scoring Process

评分流程

For each material/topic, score multiple dimensions and combine with weights.
Weighted score (recommended):
FinalScore = Σ(w_i × s_i) - NegPenalty
Where:
  • s_i
    are per-dimension scores (0..max)
  • w_i
    come from
    references/user-profile.md
    (fallback to defaults)
  • NegPenalty
    is derived from similarity to rejected topics and other negative signals
1. 热度/趋势 (Trending Score: 0-4)
4分: 当前热门话题,大量讨论
3分: 近期热点,关注度上升
2分: 稳定话题,持续有人讨论
1分: 小众话题,关注度有限
0分: 过时话题,几乎无人讨论
(Optional) 新鲜度 (Freshness)
  • If you can infer recency from sources, either:
    • fold it into Trending score, or
    • add a small bonus/penalty (e.g., +0.5 for <72h, -0.5 for >30d)
2. 争议性 (Controversy Score: 0-2)
2分: 明显争议,多方观点对立
1分: 存在不同看法,可引发讨论
0分: 共识性话题,难以引发讨论
3. 高价值 (Value Score: 0-3)
3分: 硬核干货,可直接指导行动
2分: 有价值信息,提供新视角
1分: 一般信息,了解即可
0分: 低价值,无实质内容
4. 账号定位相关 (Relevance Score: 0-1)
1分: 与账号定位高度相关
0分: 与账号定位关联较弱
Check user profile at:
~/.claude/skills/x-create/references/user-profile.md
If not found, assume domains: [AI/科技, 创业, 个人成长]
SimilarityFilter (Negative Samples):
  • If
    ~/.claude/skills/x-create/state/rejected_topics.json
    exists, compare each candidate topic to rejected items.
  • If max similarity ≥ 0.85: mark as likely duplicate/low-value → strong penalty or direct reject.
  • If 0.75 ≤ similarity < 0.85: apply soft penalty (e.g., -2 points) and explain why.
(Implementation via script):
  • python ~/.claude/skills/x-create/scripts/x_state.py similarity --against rejected --text "{topic}" --topk 3
对每个素材/选题,从多个维度评分并结合权重计算总分。
加权评分(推荐)
FinalScore = Σ(w_i × s_i) - NegPenalty
其中:
  • s_i
    为各维度得分(0..最大值)
  • w_i
    来自
    references/user-profile.md
    (默认值为 fallback)
  • 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/科技, 创业, 个人成长]
相似度过滤器(负向样本)
  • ~/.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

Output Format

输出格式

markdown
undefined
markdown
undefined

选题筛选报告

选题筛选报告

筛选时间

筛选时间

{timestamp}
{timestamp}

用户定位

用户定位

  • 领域: {domains}
  • 人设: {persona_style}
  • 领域: {domains}
  • 人设: {persona_style}

筛选结果

筛选结果

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

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

1. {Topic Title} - {final_score}分

1. {Topic Title} - {final_score}分

热度争议性高价值相关性负向惩罚
{trending}/4{controversy}/2{value}/3{relevance}/1-{neg_penalty}
  • 推荐类型: [短推文/Thread/评论回复]
  • 推荐风格: [高价值干货/犀利观点/热点评论/故事洞察/技术解析]
  • 创作角度: 建议的切入点
  • 核心观点: 可提炼的关键论点
  • 相似度命中(可选): {max_similarity} - matched: {matched_ids}
热度争议性高价值相关性负向惩罚
{trending}/4{controversy}/2{value}/3{relevance}/1-{neg_penalty}
  • 推荐类型: [短推文/Thread/评论回复]
  • 推荐风格: [高价值干货/犀利观点/热点评论/故事洞察/技术解析]
  • 创作角度: 建议的切入点
  • 核心观点: 可提炼的关键论点
  • 相似度命中(可选): {max_similarity} - matched: {matched_ids}

2. ...

2. ...

Tier B:待定 (5-6分)

Tier B:待定 (5-6分)

  • {Topic} - {final_score}分 - {原因}
  • {Topic} - {final_score}分 - {原因}

Tier C:淘汰 (<5分)

Tier C:淘汰 (<5分)

  • {Topic} - {final_score}分 - {原因}
  • {Topic} - {final_score}分 - {原因}

创作建议

创作建议

入选 {n} 个选题,建议优先级:
  1. {最高分选题} - 理由
  2. {次高分选题} - 理由
下一步:运行
/x-create {选题}
开始创作

Append a machine-readable block for hooks/state ingestion:

```json
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":"..."}]
      }
    }
  ]
}
入选 {n} 个选题,建议优先级:
  1. {最高分选题} - 理由
  2. {次高分选题} - 理由
下一步:运行
/x-create {选题}
开始创作

添加机器可读块用于钩子/状态导入:

```json
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":"..."}]
      }
    }
  ]
}

Execution Steps

执行步骤

  1. Load materials from x-collect or user input
  2. Read user profile for relevance scoring and weights
  3. (Optional) SimilarityFilter against rejected topics
  4. Score each material on criteria and compute
    FinalScore
  5. Diversity adjustments (recommended):
    • Apply source/domain attenuation:
      score *= 0.6^(N-1)
      for repeated sources
    • Dedup per topic cluster: keep best-scoring item per cluster
  6. Categorize: Tier A ≥7, Tier B 5-6, Tier C <5
  7. Output report +
    FILTER_JSON
  8. (Optional) Persist feedback-loop state:
    • Write Tier C items to rejected set:
      • python ~/.claude/skills/x-create/scripts/x_state.py reject --topic-json '{"title":"...","reason":"...","stage":"filter"}'
    • Append event:
      • python ~/.claude/skills/x-create/scripts/x_state.py event --event filter.scored --payload-json '{"accepted":3,"maybe":2,"rejected":7}'
  1. 加载素材 从x-collect或用户输入获取
  2. 读取用户画像 用于相关性评分与权重设置
  3. (可选)相似度过滤 对比已淘汰选题
  4. 为每个素材评分 按评估维度打分并计算
    FinalScore
  5. 多样性调整(推荐):
    • 应用来源/领域衰减:重复来源的选题评分乘以
      0.6^(N-1)
    • 按选题聚类去重:保留每个聚类中得分最高的选题
  6. 分类: Tier A ≥7分,Tier B 5-6分,Tier C <5分
  7. 输出报告 +
    FILTER_JSON
  8. (可选)持久化反馈循环状态:
    • 将Tier 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}'

Example

示例

Input from x-collect:
素材1: Claude 4.5 Opus发布
素材2: AI编程助手对比评测
素材3: OpenAI最新裁员新闻
Scoring:
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 × 待定
来自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 × 待定

Customization

自定义设置

Users can customize weights in user-profile.md:
yaml
scoring:
  trending: 4      # 热度权重
  controversy: 2   # 争议性权重
  value: 3         # 高价值权重
  relevance: 1     # 相关性权重
  threshold: 7     # 入选阈值
用户可在user-profile.md中自定义权重:
yaml
scoring:
  trending: 4      # 热度权重
  controversy: 2   # 争议性权重
  value: 3         # 高价值权重
  relevance: 1     # 相关性权重
  threshold: 7     # 入选阈值

Integration

集成

After filtering, suggest:
筛选完成!{n} 个选题入选创作池。

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

下一步:运行 /x-create {top_topic} 开始创作
筛选完成后,建议提示:
筛选完成!{n} 个选题入选创作池。

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

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