x-filter
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseX 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分)
| Criteria | Weight | Description |
|---|---|---|
| 热度/趋势 | 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: (SimilarityFilter)
rejected_topics.json - Events log: (optional analytics)
events.jsonl
If state files don't exist, proceed normally.
若存在持久化状态,可用于优化筛选效果:
- 状态目录:
~/.claude/skills/x-create/state/ - 负向样本:(相似度过滤器)
rejected_topics.json - 事件日志:(可选分析)
events.jsonl
若状态文件不存在,正常执行即可。
Workflow
工作流程
Input
输入
Accept materials from:
- x-collect output - Structured material report
- Manual list - User-provided topics/URLs
- Raw text - Unstructured content to evaluate
接受以下来源的素材:
- x-collect输出 - 结构化素材报告
- 手动列表 - 用户提供的选题/URL
- 原始文本 - 待评估的非结构化内容
Scoring Process
评分流程
For each material/topic, score multiple dimensions and combine with weights.
Weighted score (recommended):
FinalScore = Σ(w_i × s_i) - NegPenaltyWhere:
- are per-dimension scores (0..max)
s_i - come from
w_i(fallback to defaults)references/user-profile.md - is derived from similarity to rejected topics and other negative signals
NegPenalty
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:
If not found, assume domains: [AI/科技, 创业, 个人成长]
~/.claude/skills/x-create/references/user-profile.mdSimilarityFilter (Negative Samples):
- If exists, compare each candidate topic to rejected items.
~/.claude/skills/x-create/state/rejected_topics.json - 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其中:
- 为各维度得分(0..最大值)
s_i - 来自
w_i(默认值为 fallback)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分: 与账号定位关联较弱查看用户画像路径:
若未找到,默认领域为:[AI/科技, 创业, 个人成长]
~/.claude/skills/x-create/references/user-profile.md相似度过滤器(负向样本):
- 若存在,将每个候选选题与已淘汰项目对比。
~/.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
undefinedmarkdown
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} 个选题,建议优先级:
- {最高分选题} - 理由
- {次高分选题} - 理由
下一步:运行 开始创作
/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} 个选题,建议优先级:
- {最高分选题} - 理由
- {次高分选题} - 理由
下一步:运行 开始创作
/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
执行步骤
- Load materials from x-collect or user input
- Read user profile for relevance scoring and weights
- (Optional) SimilarityFilter against rejected topics
- Score each material on criteria and compute
FinalScore - Diversity adjustments (recommended):
- Apply source/domain attenuation: for repeated sources
score *= 0.6^(N-1) - Dedup per topic cluster: keep best-scoring item per cluster
- Apply source/domain attenuation:
- Categorize: Tier A ≥7, Tier B 5-6, Tier C <5
- Output report +
FILTER_JSON - (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}'
- Write Tier C items to rejected set:
- 加载素材 从x-collect或用户输入获取
- 读取用户画像 用于相关性评分与权重设置
- (可选)相似度过滤 对比已淘汰选题
- 为每个素材评分 按评估维度打分并计算
FinalScore - 多样性调整(推荐):
- 应用来源/领域衰减:重复来源的选题评分乘以
0.6^(N-1) - 按选题聚类去重:保留每个聚类中得分最高的选题
- 应用来源/领域衰减:重复来源的选题评分乘以
- 分类: Tier A ≥7分,Tier B 5-6分,Tier C <5分
- 输出报告 +
FILTER_JSON - (可选)持久化反馈循环状态:
- 将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}'
- 将Tier C项目写入淘汰集合:
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} 开始创作