关于 x-filter
用于为 X 内容创作评分和筛选选题的技能,可处理收集结果、手动列表或原始文本。它按加权标准评估选题,并可参考已拒绝选题,形成创作池。
主要功能
- 01按权重为选题评分
- 02评估热度、争议、价值和相关性
- 03可选的重复选题检测
- 04来源与主题多样性调整
- 05分级筛选报告
- 06输出机器可读的 FILTER_JSON
适用场景
- 01筛选 x-collect 的结果
- 02为手动选题列表排序
- 03从原始文本筛出创作选题
- 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(可选分析)
如果状态文件不存在,则按正常流程继续。
工作流
输入
接受以下来源的素材:
- x-collect 输出 - 结构化素材报告
- 手动列表 - 用户提供的主题/URL
- 原始文本 - 要评估的非结构化内容
评分流程
针对每项素材/主题,对多个维度评分并按权重合并。
加权得分(推荐):
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":"..."}]
}
}
]
}
执行步骤
- 加载素材,来源为 x-collect 或用户输入
- 读取用户资料,用于相关性评分和权重
- (可选)SimilarityFilter,与被拒绝的主题进行比较
- 为每项素材评分,根据标准计算
FinalScore - 多样性调整(推荐):
- 应用来源/领域衰减:重复来源的得分使用
score *= 0.6^(N-1) - 按主题簇去重:每个簇保留得分最高的条目
- 应用来源/领域衰减:重复来源的得分使用
- 分类:A 级 ≥7,B 级 5-6,C 级 <5
- 输出报告 +
FILTER_JSON - (可选)持久化反馈循环状态:
- 将 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}'
- 将 C 级条目写入被拒绝集合:
示例
来自 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