[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71HM1S31D4F3A3F1RKCWXYF":3,"skill-same:01M71HM1S31D4F3A3F1RKCWXYF":150},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":16,"sourceHtmlUrl":17,"categories":18,"keywords":29,"publishedAt":50,"linkOnly":51,"markdownContent":52,"markdownBody":53,"frontMatter":54,"refName":55,"commitSha":56,"skillDirectory":57,"forksCount":14,"repositoryHtmlUrl":58,"repositoryHomepageUrl":6,"ownerHtmlUrl":59,"ownerBlogUrl":60,"ownerDescription":61,"updatedAt":62,"install":63,"resources":76},"01M71HM1S31D4F3A3F1RKCWXYF","x-article-publisher",null,"Publish Markdown articles to X (Twitter) Articles editor with proper formatting. Use when user wants to publish a Markdown file\u002FURL to X Articles, or mentions \"publish to X\", \"post article to Twitter\", \"X article\", or wants help with X Premium article publishing. Handles cover image upload and converts Markdown to rich text automatically.","agency-black\u002FSkills","agency-black","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F234862658?v=4","01M6HWVFPNGNR5N2CX9ECSAD57","agencia.black","01M719WF77BF3HN0N9FK1APEFY",0,"MIT","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fqiaomu-x-article-publisher\u002Fqiaomu-x-article-publisher-github\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fqiaomu-x-article-publisher\u002Fqiaomu-x-article-publisher-github\u002FSKILL.md",[19,24],{"categoryNo":20,"categoryName":21,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":25,"categoryName":26,"taxonomyType":27,"taxonomyTypeDesc":28},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49],"x article","x article publisher","article","publisher","upload","when","rich","URL","with","post","image","x articles","publishing","use","twitter","text","markdown","publish","file","editor","2026-11-10 10:12:30",false,"---\nname: x-article-publisher\ndescription: Publish Markdown articles to X (Twitter) Articles editor with proper formatting. Use when user wants to publish a Markdown file\u002FURL to X Articles, or mentions \"publish to X\", \"post article to Twitter\", \"X article\", or wants help with X Premium article publishing. Handles cover image upload and converts Markdown to rich text automatically.\n---\n\n# X Article Publisher\n\nPublish Markdown content to X (Twitter) Articles editor, preserving formatting with rich text conversion.\n\n## Prerequisites\n\n- X Premium Plus subscription\n- Python 3.9+ with dependencies: `pip install Pillow pyobjc-framework-Cocoa patchright`\n\n## 🎉 首次使用：一次认证，告别重复登录\n\n**X Article Publisher 现在支持持久化认证，无需每次手动登录！**\n\n### 🔧 初始化认证（仅需一次）\n\n首次使用前，运行认证设置：\n\n```bash\ncd ~\u002F.claude\u002Fskills\u002Fx-article-publisher\u002Fscripts\npython auth_manager.py setup\n```\n\n**流程：**\n1. ✅ 浏览器窗口自动打开 X 登录页面\n2. 🔐 手动登录你的 X 账号（需 Premium+ 订阅）\n3. ✅ 完成 2FA 验证（如已启用）\n4. 🏠 登录成功后自动跳转到 Home 时间线\n5. 💾 认证状态自动保存（有效期 7 天）\n\n### 📋 认证管理命令\n\n```bash\n# 检查认证状态\npython auth_manager.py status\n\n# 验证认证是否有效\npython auth_manager.py validate\n\n# 清除认证数据（需重新登录）\npython auth_manager.py clear\n\n# 重新认证（清除 + 设置）\npython auth_manager.py reauth\n```\n\n### 🚀 自动化工作流\n\n认证设置完成后，skill 执行时会自动：\n1. ✅ 检查认证状态\n2. 🔓 如已认证，直接使用保存的浏览器状态（无需登录）\n3. ⚠️ 如未认证，提示运行 `auth_manager.py setup`\n\n**注意**：认证数据存储在 `~\u002F.claude\u002Fskills\u002Fx-article-publisher\u002Fdata\u002Fbrowser_state\u002F`，已通过 .gitignore 排除，不会提交到 Git。\n\n---\n\n## Scripts\n\nLocated in `~\u002F.claude\u002Fskills\u002Fx-article-publisher\u002Fscripts\u002F`:\n\n### publish_article.py (主脚本 - 一键发布)\n**推荐使用** - 自动完成所有发布步骤：\n```bash\n# 基本用法\npython publish_article.py --file article.md\n\n# 显示浏览器（调试用）\npython publish_article.py --file article.md --show-browser\n\n# 自定义标题\npython publish_article.py --file article.md --title \"自定义标题\"\n```\n\n### parse_markdown.py\nParse Markdown and extract structured data:\n```bash\npython parse_markdown.py \u003Cmarkdown_file> [--output json|html] [--html-only]\n```\nReturns JSON with: title, cover_image, content_images (with block_index for positioning), html, total_blocks\n\n### copy_to_clipboard.py\nCopy image or HTML to system clipboard:\n```bash\n# Copy image (with optional compression)\npython copy_to_clipboard.py image \u002Fpath\u002Fto\u002Fimage.jpg [--quality 80]\n\n# Copy HTML for rich text paste\npython copy_to_clipboard.py html --file \u002Fpath\u002Fto\u002Fcontent.html\n```\n\n## Workflow (简化版)\n\n**前提**：已完成认证设置（`python auth_manager.py setup`）\n\n### 🚀 一键发布（推荐）\n\n直接运行 publish_article.py，自动完成所有步骤：\n\n```bash\ncd ~\u002F.claude\u002Fskills\u002Fx-article-publisher\u002Fscripts\npython publish_article.py --file \u002Fpath\u002Fto\u002Farticle.md\n```\n\n脚本会自动：\n1. ✅ 检查认证状态\n2. 📄 解析 Markdown 文件\n3. 🌐 启动已认证的浏览器\n4. 📍 导航到 X Articles 编辑器\n5. 🔘 点击 create 按钮\n6. 🖼️ 上传封面图（如有）\n7. 📝 填写标题\n8. 📋 粘贴 HTML 内容\n9. ✅ 保存草稿（**不会自动发布**）\n\n### 手动工作流（高级用户）\n\n如需更精细控制，可分步执行：\n1. Parse Markdown: `python parse_markdown.py article.md`\n2. 手动操作浏览器发布\n\n---\n\n## 🧠 智能增强功能\n\n### 智能标题生成\n\n当文章没有 H1 标题时，`parse_markdown.py` 会返回 `needs_title_generation: true`。\n\n**Claude 应该自动：**\n1. 阅读文章内容，理解核心观点\n2. 生成一个吸引人点击的标题（15-25字为佳）\n3. 使用 `--title \"生成的标题\"` 参数发布\n\n**好标题的特点：**\n- 包含数字或具体细节（\"3个方法\"、\"90%的人不知道\"）\n- 激发好奇心（\"为什么...\"、\"如何...\"、\"...的真相\"）\n- 与读者切身相关\n- 避免标题党，但要有吸引力\n\n**示例：**\n```bash\n# 解析文章\npython parse_markdown.py article.md\n\n# 如果 needs_title_generation: true，Claude 生成标题后：\npython publish_article.py --file article.md --title \"AI时代，普通人的3个生存法则\"\n```\n\n### 智能封面图生成\n\n当文章没有封面图时，`parse_markdown.py` 会返回 `needs_cover_generation: true`。\n\n**Claude 应该自动：**\n1. 阅读文章，提炼核心概念（1-3个关键词）\n2. 调用 `gemini-image-generator` 或 `jimeng-image-generator` skill 生成封面图\n3. 封面图风格建议：\n   - 简洁大气，避免复杂细节\n   - 可以是抽象概念的可视化\n   - 或是带有核心关键词的文字海报\n4. 将生成的图片路径插入到文章开头作为封面\n\n**封面图生成提示词模板：**\n```\n为一篇关于「{文章主题}」的文章生成封面图。\n风格：简洁、现代、科技感\n元素：{1-3个核心视觉元素}\n文字：可选，如果加文字只放{1-3个关键词}\n尺寸：16:9 横版\n```\n\n**工作流示例：**\n```bash\n# 1. 解析文章\npython parse_markdown.py article.md\n# 输出: needs_cover_generation: true\n\n# 2. Claude 调用生图 skill 生成封面（假设保存到 \u002Ftmp\u002Fcover.png）\n\n# 3. 将封面图插入文章开头，或手动上传\n```\n\n**注意**：封面图上传目前需要在浏览器中手动操作，脚本会打开编辑器后等待用户操作。\n\n---\n\n## 技术细节\n\n### parse_markdown.py 输出格式\n\n```json\n{\n  \"title\": \"Article Title\",\n  \"title_source\": \"h1\",           \u002F\u002F \"h1\", \"h2\", \"first_line\", or \"none\"\n  \"needs_title_generation\": false, \u002F\u002F true if no H1 title\n  \"cover_image\": \"\u002Fpath\u002Fto\u002Ffirst-image.jpg\",\n  \"needs_cover_generation\": false, \u002F\u002F true if no cover image\n  \"content_images\": [\n    {\"path\": \"\u002Fpath\u002Fto\u002Fimg2.jpg\", \"block_index\": 5}\n  ],\n  \"html\": \"\u003Cp>Content...\u003C\u002Fp>\u003Ch2>Section\u003C\u002Fh2>...\",\n  \"total_blocks\": 45\n}\n```\n\n**字段说明：**\n- `title_source`: 标题来源\n  - `h1`: 来自 H1 标题（最理想）\n  - `h2`: 来自第一个 H2 标题\n  - `first_line`: 来自第一行文本\n  - `none`: 无法提取标题\n- `needs_title_generation`: 是否需要 Claude 生成更好的标题\n- `needs_cover_generation`: 是否需要 Claude 生成封面图\n\n## Critical Rules\n\n1. **NEVER auto-publish** - Only save as draft\n2. **NO automatic cover images** - User adds cover manually, never insert first image as cover\n3. **Clean placeholders** - Remove all remaining `@@@IMG_X@@@` markers after image insertion\n4. **H1 title handling** - H1 is used as title only, not included in body\n\n## Supported Formatting\n\n- H2 headers (## )\n- Blockquotes (> )\n- Code blocks (converted to blockquotes)\n- Bold text (**)\n- Hyperlinks ([text](url))\n- Ordered\u002FUnordered lists\n- Paragraphs\n\n## Example\n\nUser: \"Publish \u002Fpath\u002Fto\u002Farticle.md to X\"\n\n```bash\ncd ~\u002F.claude\u002Fskills\u002Fx-article-publisher\u002Fscripts\npython publish_article.py --file \u002Fpath\u002Fto\u002Farticle.md\n```\n\nOutput:\n```\n📄 解析文件：\u002Fpath\u002Fto\u002Farticle.md\n  📝 标题：文章标题\n  🖼️  封面图：\u002Fpath\u002Fto\u002Fcover.jpg\n  📷 内容图：2 张\n\n🌐 启动浏览器...\n  📍 导航到 X Articles...\n  🔘 点击 create 按钮...\n  📝 填写标题...\n  📋 粘贴内容...\n\n✅ 草稿已创建！\n  💡 请在浏览器中检查并手动发布\n  🖥️  浏览器保持打开，请检查草稿并手动发布\n  ⏎  完成后按回车键关闭浏览器...\n```\n\n\n\n**技术经验参考**: 浏览器自动化调试技巧详见 [skill-development-guide](..\u002Fskill-development-guide\u002Ftechnical-lessons.md)\n","# X Article Publisher\n\nPublish Markdown content to X (Twitter) Articles editor, preserving formatting with rich text conversion.\n\n## Prerequisites\n\n- X Premium Plus subscription\n- Python 3.9+ with dependencies: `pip install Pillow pyobjc-framework-Cocoa patchright`\n\n## 🎉 首次使用：一次认证，告别重复登录\n\n**X Article Publisher 现在支持持久化认证，无需每次手动登录！**\n\n### 🔧 初始化认证（仅需一次）\n\n首次使用前，运行认证设置：\n\n```bash\ncd ~\u002F.claude\u002Fskills\u002Fx-article-publisher\u002Fscripts\npython auth_manager.py setup\n```\n\n**流程：**\n1. ✅ 浏览器窗口自动打开 X 登录页面\n2. 🔐 手动登录你的 X 账号（需 Premium+ 订阅）\n3. ✅ 完成 2FA 验证（如已启用）\n4. 🏠 登录成功后自动跳转到 Home 时间线\n5. 💾 认证状态自动保存（有效期 7 天）\n\n### 📋 认证管理命令\n\n```bash\n# 检查认证状态\npython auth_manager.py status\n\n# 验证认证是否有效\npython auth_manager.py validate\n\n# 清除认证数据（需重新登录）\npython auth_manager.py clear\n\n# 重新认证（清除 + 设置）\npython auth_manager.py reauth\n```\n\n### 🚀 自动化工作流\n\n认证设置完成后，skill 执行时会自动：\n1. ✅ 检查认证状态\n2. 🔓 如已认证，直接使用保存的浏览器状态（无需登录）\n3. ⚠️ 如未认证，提示运行 `auth_manager.py setup`\n\n**注意**：认证数据存储在 `~\u002F.claude\u002Fskills\u002Fx-article-publisher\u002Fdata\u002Fbrowser_state\u002F`，已通过 .gitignore 排除，不会提交到 Git。\n\n---\n\n## Scripts\n\nLocated in `~\u002F.claude\u002Fskills\u002Fx-article-publisher\u002Fscripts\u002F`:\n\n### publish_article.py (主脚本 - 一键发布)\n**推荐使用** - 自动完成所有发布步骤：\n```bash\n# 基本用法\npython publish_article.py --file article.md\n\n# 显示浏览器（调试用）\npython publish_article.py --file article.md --show-browser\n\n# 自定义标题\npython publish_article.py --file article.md --title \"自定义标题\"\n```\n\n### parse_markdown.py\nParse Markdown and extract structured data:\n```bash\npython parse_markdown.py \u003Cmarkdown_file> [--output json|html] [--html-only]\n```\nReturns JSON with: title, cover_image, content_images (with block_index for positioning), html, total_blocks\n\n### copy_to_clipboard.py\nCopy image or HTML to system clipboard:\n```bash\n# Copy image (with optional compression)\npython copy_to_clipboard.py image \u002Fpath\u002Fto\u002Fimage.jpg [--quality 80]\n\n# Copy HTML for rich text paste\npython copy_to_clipboard.py html --file \u002Fpath\u002Fto\u002Fcontent.html\n```\n\n## Workflow (简化版)\n\n**前提**：已完成认证设置（`python auth_manager.py setup`）\n\n### 🚀 一键发布（推荐）\n\n直接运行 publish_article.py，自动完成所有步骤：\n\n```bash\ncd ~\u002F.claude\u002Fskills\u002Fx-article-publisher\u002Fscripts\npython publish_article.py --file \u002Fpath\u002Fto\u002Farticle.md\n```\n\n脚本会自动：\n1. ✅ 检查认证状态\n2. 📄 解析 Markdown 文件\n3. 🌐 启动已认证的浏览器\n4. 📍 导航到 X Articles 编辑器\n5. 🔘 点击 create 按钮\n6. 🖼️ 上传封面图（如有）\n7. 📝 填写标题\n8. 📋 粘贴 HTML 内容\n9. ✅ 保存草稿（**不会自动发布**）\n\n### 手动工作流（高级用户）\n\n如需更精细控制，可分步执行：\n1. Parse Markdown: `python parse_markdown.py article.md`\n2. 手动操作浏览器发布\n\n---\n\n## 🧠 智能增强功能\n\n### 智能标题生成\n\n当文章没有 H1 标题时，`parse_markdown.py` 会返回 `needs_title_generation: true`。\n\n**Claude 应该自动：**\n1. 阅读文章内容，理解核心观点\n2. 生成一个吸引人点击的标题（15-25字为佳）\n3. 使用 `--title \"生成的标题\"` 参数发布\n\n**好标题的特点：**\n- 包含数字或具体细节（\"3个方法\"、\"90%的人不知道\"）\n- 激发好奇心（\"为什么...\"、\"如何...\"、\"...的真相\"）\n- 与读者切身相关\n- 避免标题党，但要有吸引力\n\n**示例：**\n```bash\n# 解析文章\npython parse_markdown.py article.md\n\n# 如果 needs_title_generation: true，Claude 生成标题后：\npython publish_article.py --file article.md --title \"AI时代，普通人的3个生存法则\"\n```\n\n### 智能封面图生成\n\n当文章没有封面图时，`parse_markdown.py` 会返回 `needs_cover_generation: true`。\n\n**Claude 应该自动：**\n1. 阅读文章，提炼核心概念（1-3个关键词）\n2. 调用 `gemini-image-generator` 或 `jimeng-image-generator` skill 生成封面图\n3. 封面图风格建议：\n   - 简洁大气，避免复杂细节\n   - 可以是抽象概念的可视化\n   - 或是带有核心关键词的文字海报\n4. 将生成的图片路径插入到文章开头作为封面\n\n**封面图生成提示词模板：**\n```\n为一篇关于「{文章主题}」的文章生成封面图。\n风格：简洁、现代、科技感\n元素：{1-3个核心视觉元素}\n文字：可选，如果加文字只放{1-3个关键词}\n尺寸：16:9 横版\n```\n\n**工作流示例：**\n```bash\n# 1. 解析文章\npython parse_markdown.py article.md\n# 输出: needs_cover_generation: true\n\n# 2. Claude 调用生图 skill 生成封面（假设保存到 \u002Ftmp\u002Fcover.png）\n\n# 3. 将封面图插入文章开头，或手动上传\n```\n\n**注意**：封面图上传目前需要在浏览器中手动操作，脚本会打开编辑器后等待用户操作。\n\n---\n\n## 技术细节\n\n### parse_markdown.py 输出格式\n\n```json\n{\n  \"title\": \"Article Title\",\n  \"title_source\": \"h1\",           \u002F\u002F \"h1\", \"h2\", \"first_line\", or \"none\"\n  \"needs_title_generation\": false, \u002F\u002F true if no H1 title\n  \"cover_image\": \"\u002Fpath\u002Fto\u002Ffirst-image.jpg\",\n  \"needs_cover_generation\": false, \u002F\u002F true if no cover image\n  \"content_images\": [\n    {\"path\": \"\u002Fpath\u002Fto\u002Fimg2.jpg\", \"block_index\": 5}\n  ],\n  \"html\": \"\u003Cp>Content...\u003C\u002Fp>\u003Ch2>Section\u003C\u002Fh2>...\",\n  \"total_blocks\": 45\n}\n```\n\n**字段说明：**\n- `title_source`: 标题来源\n  - `h1`: 来自 H1 标题（最理想）\n  - `h2`: 来自第一个 H2 标题\n  - `first_line`: 来自第一行文本\n  - `none`: 无法提取标题\n- `needs_title_generation`: 是否需要 Claude 生成更好的标题\n- `needs_cover_generation`: 是否需要 Claude 生成封面图\n\n## Critical Rules\n\n1. **NEVER auto-publish** - Only save as draft\n2. **NO automatic cover images** - User adds cover manually, never insert first image as cover\n3. **Clean placeholders** - Remove all remaining `@@@IMG_X@@@` markers after image insertion\n4. **H1 title handling** - H1 is used as title only, not included in body\n\n## Supported Formatting\n\n- H2 headers (## )\n- Blockquotes (> )\n- Code blocks (converted to blockquotes)\n- Bold text (**)\n- Hyperlinks ([text](url))\n- Ordered\u002FUnordered lists\n- Paragraphs\n\n## Example\n\nUser: \"Publish \u002Fpath\u002Fto\u002Farticle.md to X\"\n\n```bash\ncd ~\u002F.claude\u002Fskills\u002Fx-article-publisher\u002Fscripts\npython publish_article.py --file \u002Fpath\u002Fto\u002Farticle.md\n```\n\nOutput:\n```\n📄 解析文件：\u002Fpath\u002Fto\u002Farticle.md\n  📝 标题：文章标题\n  🖼️  封面图：\u002Fpath\u002Fto\u002Fcover.jpg\n  📷 内容图：2 张\n\n🌐 启动浏览器...\n  📍 导航到 X Articles...\n  🔘 点击 create 按钮...\n  📝 填写标题...\n  📋 粘贴内容...\n\n✅ 草稿已创建！\n  💡 请在浏览器中检查并手动发布\n  🖥️  浏览器保持打开，请检查草稿并手动发布\n  ⏎  完成后按回车键关闭浏览器...\n```\n\n\n\n**技术经验参考**: 浏览器自动化调试技巧详见 [skill-development-guide](..\u002Fskill-development-guide\u002Ftechnical-lessons.md)\n",{"name":5,"description":7},"main","681496e0662f4c45c4758fae9d4510ae87311bf2","qiaomu-x-article-publisher\u002Fqiaomu-x-article-publisher-github","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills","https:\u002F\u002Fgithub.com\u002Fagency-black","http:\u002F\u002Fwww.dogma.black","Las grandes ideas merecen una ejecución impecable. Construimos plataformas web, aplicaciones y ecosistemas digitales completos. Esta Trinidad es nuestro dogma.","2026-05-29 16:13:55",{"source":8,"skillName":5,"commands":64,"prompt":74,"zipAvailable":75},[65,68,71],{"tool":66,"command":67},"npx","npx skills add agency-black\u002FSkills --skill x-article-publisher",{"tool":69,"command":70},"bunx","bunx skills add agency-black\u002FSkills --skill x-article-publisher",{"tool":72,"command":73},"pnpm","pnpm dlx skills add agency-black\u002FSkills --skill x-article-publisher","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fqiaomu-x-article-publisher\u002Fqiaomu-x-article-publisher-github\u002FSKILL.md",true,[77,83,89,93,97,100,104,108,112,116,120,126,130,134,138,142,146],{"path":78,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":81,"sourceHtmlUrl":82},".gitignore","OTHER","其他",392,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fqiaomu-x-article-publisher\u002Fqiaomu-x-article-publisher-github\u002F.gitignore",{"path":84,"resourceType":85,"resourceTypeDesc":86,"sizeBytes":87,"sourceHtmlUrl":88},"CHANGELOG.md","REFERENCE","参考文档",1505,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fqiaomu-x-article-publisher\u002Fqiaomu-x-article-publisher-github\u002FCHANGELOG.md",{"path":90,"resourceType":85,"resourceTypeDesc":86,"sizeBytes":91,"sourceHtmlUrl":92},"CONTRIBUTING.md",2502,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fqiaomu-x-article-publisher\u002Fqiaomu-x-article-publisher-github\u002FCONTRIBUTING.md",{"path":94,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":95,"sourceHtmlUrl":96},"data\u002F.gitignore",701,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fqiaomu-x-article-publisher\u002Fqiaomu-x-article-publisher-github\u002Fdata\u002F.gitignore",{"path":98,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":14,"sourceHtmlUrl":99},"data\u002F.gitkeep","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fqiaomu-x-article-publisher\u002Fqiaomu-x-article-publisher-github\u002Fdata\u002F.gitkeep",{"path":101,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":102,"sourceHtmlUrl":103},"data\u002Fbrowser_state\u002F.gitkeep",53,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fqiaomu-x-article-publisher\u002Fqiaomu-x-article-publisher-github\u002Fdata\u002Fbrowser_state\u002F.gitkeep",{"path":105,"resourceType":105,"resourceTypeDesc":106,"sizeBytes":107,"sourceHtmlUrl":16},"LICENSE","许可证",1063,{"path":109,"resourceType":85,"resourceTypeDesc":86,"sizeBytes":110,"sourceHtmlUrl":111},"metadata.json",702,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fqiaomu-x-article-publisher\u002Fqiaomu-x-article-publisher-github\u002Fmetadata.json",{"path":113,"resourceType":85,"resourceTypeDesc":86,"sizeBytes":114,"sourceHtmlUrl":115},"README_FULL.md",5132,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fqiaomu-x-article-publisher\u002Fqiaomu-x-article-publisher-github\u002FREADME_FULL.md",{"path":117,"resourceType":85,"resourceTypeDesc":86,"sizeBytes":118,"sourceHtmlUrl":119},"README.md",3469,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fqiaomu-x-article-publisher\u002Fqiaomu-x-article-publisher-github\u002FREADME.md",{"path":121,"resourceType":122,"resourceTypeDesc":123,"sizeBytes":124,"sourceHtmlUrl":125},"scripts\u002Fauth_manager.py","SCRIPT","脚本",9153,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fqiaomu-x-article-publisher\u002Fqiaomu-x-article-publisher-github\u002Fscripts\u002Fauth_manager.py",{"path":127,"resourceType":122,"resourceTypeDesc":123,"sizeBytes":128,"sourceHtmlUrl":129},"scripts\u002Fcopy_to_clipboard.py",6185,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fqiaomu-x-article-publisher\u002Fqiaomu-x-article-publisher-github\u002Fscripts\u002Fcopy_to_clipboard.py",{"path":131,"resourceType":122,"resourceTypeDesc":123,"sizeBytes":132,"sourceHtmlUrl":133},"scripts\u002Fdebug_editor.py",5065,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fqiaomu-x-article-publisher\u002Fqiaomu-x-article-publisher-github\u002Fscripts\u002Fdebug_editor.py",{"path":135,"resourceType":122,"resourceTypeDesc":123,"sizeBytes":136,"sourceHtmlUrl":137},"scripts\u002Fdebug_page.py",2367,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fqiaomu-x-article-publisher\u002Fqiaomu-x-article-publisher-github\u002Fscripts\u002Fdebug_page.py",{"path":139,"resourceType":122,"resourceTypeDesc":123,"sizeBytes":140,"sourceHtmlUrl":141},"scripts\u002Fparse_markdown.py",17061,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fqiaomu-x-article-publisher\u002Fqiaomu-x-article-publisher-github\u002Fscripts\u002Fparse_markdown.py",{"path":143,"resourceType":122,"resourceTypeDesc":123,"sizeBytes":144,"sourceHtmlUrl":145},"scripts\u002Fpublish_article.py",40414,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fqiaomu-x-article-publisher\u002Fqiaomu-x-article-publisher-github\u002Fscripts\u002Fpublish_article.py",{"path":147,"resourceType":122,"resourceTypeDesc":123,"sizeBytes":148,"sourceHtmlUrl":149},"scripts\u002Fsite_config.py",1743,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fqiaomu-x-article-publisher\u002Fqiaomu-x-article-publisher-github\u002Fscripts\u002Fsite_config.py",[151,177,205,235,259,283],{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":157,"publishedAt":50},"01M71JZVZ0TVW7Z5DQBRWSBG8A","zarr-python","Chunked N-D arrays for cloud storage (Zarr-Python 3). Compressed arrays, parallel I\u002FO, S3\u002FGCS via fsspec, NumPy\u002FDask\u002FXarray compatible, for large-scale scientific computing pipelines.","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fzarr-python\u002FSKILL.md",[],[158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,43,173,174,175,176],"zarr python","python","zarr","arrays","Cloud Storage","remote","workflows","scientific","read","write","edit","parallel","dask","for","s3fs","numpy","s3","scientific computing","scale",{"skillNo":178,"name":179,"nameZh":6,"description":180,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":181,"sourceHtmlUrl":182,"categories":183,"keywords":187,"publishedAt":50},"01M71JYXC5VAEJT8KXN5GRK32S","xvary-stock-research","Thesis-driven equity analysis from public SEC EDGAR and market data; \u002Fanalyze, \u002Fscore, \u002Fcompare workflows with bundled Python tools (Claude Code, Cursor, Codex).","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fxvary-stock-research\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fxvary-stock-research\u002FSKILL.md",[184],{"categoryNo":185,"categoryName":186,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000021","资料检索与研究",[188,189,190,191,192,193,194,159,195,164,196,197,198,199,200,201,38,202,203,204],"xvary","stock","research","xvary stock research","sec edgar","community","equity","thesis","analysis","code","Market","compare","market data","analyze","codex","cursor","2026",{"skillNo":206,"name":207,"nameZh":6,"description":208,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":209,"licenseFileUrl":210,"sourceHtmlUrl":211,"categories":212,"keywords":219,"publishedAt":50},"01M71JVSDPDQ5040YBN6J1ASKY","webapp-testing","Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fwebapp-testing\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fwebapp-testing\u002FSKILL.md",[213,216],{"categoryNo":214,"categoryName":215,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":217,"categoryName":218,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000009","前端开发",[220,221,222,171,223,224,225,226,227,228,229,38,230,231,232,233,234],"webapp","testing","webapp testing","applications","local","frontend","debugging","toolkit","logs","browser","playwright","web","behavior","ui","screenshots",{"skillNo":236,"name":237,"nameZh":6,"description":238,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":209,"licenseFileUrl":239,"sourceHtmlUrl":240,"categories":241,"keywords":243,"publishedAt":50},"01M71JV64CW7R6FYYK9JWWGW0X","web-artifacts-builder","Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn\u002Fui). Use for complex artifacts requiring state management, routing, or shadcn\u002Fui components - not for simple single-file HTML\u002FJSX artifacts.","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fweb-artifacts-builder\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fweb-artifacts-builder\u002FSKILL.md",[242],{"categoryNo":217,"categoryName":218,"taxonomyType":22,"taxonomyTypeDesc":23},[244,245,246,231,247,248,249,171,250,251,225,252,43,48,253,254,255,256,257,258],"builder","artifacts builder","artifacts","web artifacts builder","single-file","css","Tailwind","ui components","single","components","react","multi","state","routing","state management",{"skillNo":260,"name":261,"nameZh":6,"description":262,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":263,"categories":264,"keywords":266,"publishedAt":50},"01M71JS4X2FRY41DE84DEP06MN","vercel-react-view-transitions","Guide for implementing smooth, native-feeling animations using React's View Transition API (`\u003CViewTransition>` component, `addTransitionType`, and CSS view transition pseudo-elements). Use this skill whenever the user wants to add page transitions, animate route changes, create shared element animations, animate enter\u002Fexit of components, animate list reorder, implement directional (forward\u002Fback) navigation animations, or integrate view transitions in Next.js. Also use when the user mentions view transitions, `startViewTransition`, `ViewTransition`, transition types, or asks about animating between UI states in React without third-party animation libraries.","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fvercel-react-view-transitions\u002FSKILL.md",[265],{"categoryNo":217,"categoryName":218,"taxonomyType":22,"taxonomyTypeDesc":23},[254,267,268,269,270,271,272,273,274,249,275,276,277,278,35,253,279,280,281,282],"vercel react view transitions","view","react view transitions","vercel","transitions","shared","back","Animation","types","states","element","implementing","api","route","create","libraries",{"skillNo":284,"name":285,"nameZh":6,"description":286,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":287,"categories":288,"keywords":290,"publishedAt":50},"01M71JS1WZ1J4F9YVC2203JBJW","vercel-react-native-skills","React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fvercel-react-native-skills\u002FSKILL.md",[289],{"categoryNo":217,"categoryName":218,"taxonomyType":22,"taxonomyTypeDesc":23},[270,291,254,292,293,294,295,296,297,171,298,278,299,43,300,301,35,302,303,253],"vercel react native skills","react native","native","react native skills","modules","platform","animations","performance","triggers","react native components","apps","best practices","tasks"]