关于 add-x-tweet
add-x-tweet 是用于在首页网格中添加、替换或调整推文评价顺序的仓库技能。它获取推文元数据、更新评价数据,并运行 TypeScript 检查。
主要功能
- 01从 URL 获取推文元数据
- 02添加或替换评价条目
- 03按规则设置顺序和优先级
- 04规范化头像 URL
- 05运行 TypeScript 检查
适用场景
- 01添加作为社会证明的推文
- 02替换首页现有评价
- 03调整网格中的评价优先顺序
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ bklit/ bklit-ui --skill add-x-tweet安装后在 Claude Code 中输入/add-x-tweet确认已加载。
附带文件scripts/fetch-tweet.mjs
详细介绍
添加 X 推文推荐
在主页的推荐内容网格中添加社交证明推文。
使用场景
- 用户提供一个或多个
https://x.com/.../status/...URL - 用户要求替换、优先展示或重新排列推荐内容
- 用户说“添加推文”“新增推荐”或类似内容
工作流
1. 获取推文元数据
在仓库根目录运行获取脚本(需要网络连接):
node .agents/skills/add-x-tweet/scripts/fetch-tweet.mjs "https://x.com/user/status/123..."
如果有多个 URL,可传入每个 URL,也可以针对每个 URL 分别运行一次。
脚本会输出 JSON:
{
"id": "123...",
"url": "https://x.com/user/status/123...",
"author": { "name": "...", "handle": "@user", "avatar": "https://pbs.twimg.com/...", "verified": true },
"content": "tweet text without @uixmat prefix"
}
备用方案: 如果脚本失败,请使用 Twitter oEmbed:
curl -sL "https://publish.twitter.com/oembed?url=TWEET_URL&omit_script=1"
解析 author_name 和 HTML <p> 中的文本。头像仍需通过 fxtwitter 获取,或手动提供个人资料图片 URL。
2. 编辑 apps/web/lib/testimonials.ts
- 使用状态 ID作为
id(URL 中的数字字符串) - 将
url设为规范的推文 URL(不含查询参数) - 通过
twitterAvatarUrl()处理头像(将任何尺寸后缀规范为_bigger;头像为 73×73,显示尺寸为 40px) - 从内容开头移除
@uixmat;清除首尾空白 - 如果很长的推文末尾带有推广链接,则适当缩短(保留赞扬内容,删除纯链接的结尾)
3. 排序规则
Masonry 使用 CSS 分栏(每列从上到下排列)。在 lg 屏幕上,索引 0–2 = 第 1 列顶部 3 项,3–5 = 第 2 列顶部 3 项,6–8 = 第 3 列顶部 3 项。
- 用户要求优先展示时:在索引 0–8 中下一个空位放入该条目,且不得重复 ID
- 用户要求替换时:添加新条目之前先移除旧条目(按用户名或旧 ID 匹配)
- 根据脚本输出设置
author.verified(通过 FxTwitter 获取author.verification.verified)
4. 折叠网格
主页在显示 查看更多之前会展示 testimonialCollapsedCount(6)张卡片。添加推文时无需更改,除非用户要求调整可见行数。
5. 验证
cd apps/web && npx tsc --noEmit -p tsconfig.json
打开主页——网格应为 3 列,并带有底部渐隐效果;点击查看更多后,最大高度会展开。
数据来源
主要来源:FxTwitter API https://api.fxtwitter.com/{user}/status/{id}——返回作者姓名、screen_name、avatar_url 和文本。
请勿提交 API 密钥;脚本仅在添加推文时使用公共端点。
示例条目
{
id: "2056717453816729751",
url: "https://x.com/jordienr/status/2056717453816729751",
author: {
name: "jordi",
handle: "@jordienr",
avatar: twitterAvatarUrl(
"https://pbs.twimg.com/profile_images/2053541405121769475/TUDez6zL_200x200.jpg"
),
verified: true,
},
content: "bklit saved my marriage",
},
评论
支持 Markdown