OpenClaw/clawhub-security-signals huggingface dataset:
Skill: yang1002378395-cmyk/openclaw-troubleshoot-cn (version 1.0.1)

--- name: openclaw-troubleshoot-cn version: 1.0.0 description: OpenClaw 故障排查 - 常见问题解决方案。适合：遇到问题的用户、运维人员。 metadata: openclaw: emoji: "🔧" requires: bins: [] --- # OpenClaw 故障排查 常见问题快速解决。 ## 安装问题 ### Node 版本过低 ```bash # 检查版本 node -v # 需要 18+ # 升级方法 brew upgrade node # macOS ``` ### 权限错误 ```bash # 修复 npm 权限 sudo chown -R $(whoami) ~/.npm sudo chown -R $(whoami) /usr/local/lib/node_modules ``` ### 网络超时 ```bash # 使用国内镜像 npm config set registry https://registry.npmmirror.com ``` ## 连接问题 ### Telegram 连接失败 检查清单： 1. Bot Token 是否正确 2. Bot 是否已启动（/start） 3. 网络是否需要代理 ```bash # 测试连接 curl https://api.telegram.org/bot<YOUR_TOKEN>/getMe ``` ### Discord 连接失败 检查清单： 1. Bot Token 是否正确 2. Bot 是否已加入服务器 3. intents 是否开启 ### 钉钉连接失败 检查清单： 1. Client ID/Secret 是否正确 2. 机器人是否已创建 3. 回调地址是否配置 ## 模型问题 ### API Key 无效 ```bash # 验证 DeepSeek Key curl -H "Authorization: Bearer YOUR_KEY" \ https://api.deepseek.com/v1/models ``` ### 余额不足 - DeepSeek：platform.deepseek.com 充值 - Claude：console.anthropic.com 充值 - OpenAI：platform.openai.com 充值 ### 响应超时 ```bash # 增加超时时间 openclaw config set timeout 60000 ``` ## 运行问题 ### 内存不足 ```bash # 增加 Node 内存 export NODE_OPTIONS="--max-old-space-size=4096" ``` ### 端口被占用 ```bash # 查找占用进程 lsof -i :3000 # 终止进程 kill -9 <PID> ``` ### 日志查看 ```bash # 实时日志 openclaw logs -f # 日志位置 ~/.openclaw/logs/ ``` ## 高级问题 ### 数据库损坏 ```bash # 备份数据 cp -r ~/.openclaw/data ~/.openclaw/data.bak # 重建数据库 openclaw db reset ``` ### 配置丢失 ```bash # 查看当前配置 openclaw config list # 重置配置 openclaw config reset ``` ## 需要帮助？ 如果以上方案都无法解决： - 📖 文档：https://docs.openclaw.ai - 💬 社区：https://discord.gg/clawd - 🔧 远程支持： - 基础诊断：¥99 - 深度排查：¥299 - 企业支持：¥999 联系：微信 yang1002378395 或 Telegram @yangster151

path: skill.json
content: {
  "name": "openclaw-troubleshoot-cn",
  "version": "1.0.0",
  "description": "OpenClaw故障排查中文版 - 常见问题解决方案",
  "author": "yang1002378395-cmyk",
  "license": "MIT",
  "keywords": ["openclaw", "troubleshoot", "debug", "fix", "问题", "故障", "中文"]
}


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: dinghaibin/realpath-tool (version 1.0.0)

--- name: realpath-tool description: Resolve relative paths and symbolic links to absolute canonical paths. Use for getting the full, unambiguous file path. --- # Realpath - Absolute Path Resolver Convert relative paths and symlinks to absolute canonical paths. Useful for scripts that need the full path of files, directories, or symlinked resources. ## Usage ```bash realpath-tool [options] <path...> ``` ## Options - `-s`: Don't expand symlinks (show logical path) - `-m`: Path doesn't need to exist - `--relative-to=DIR`: Show path relative to DIR ## Examples ```bash realpath-tool ./relative/path realpath-tool -s symlink_path realpath-tool --relative-to=/home file.txt ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: dtsiomo/presale-service-bootstrap (version 0.1.0)

--- name: presale-service-bootstrap description: Scaffold a new presale service foundation (docs/config/plans/readiness) before coding. Use when starting a new presale automation service, rebuilding project context, or preparing reusable one-pass execution artifacts. --- Create the service foundation before any implementation. ## Execute 1. Create the minimal repo structure: `docs/`, `config/`, `src/`, `tests/`, `prompts/`, `scripts/`. 2. Build canonical context docs from templates. 3. Build at least one implementation plan with gap-check, acceptance scenarios, verification matrix, and summary snapshots. 4. Build one-pass launch docs and readiness checklist. 5. Freeze non-goals and constraints in writing. ## Use deterministic scaffold tool first Run `tools/new-presale-service.ps1` from this skill pack when possible. ## Then fill definitions Read and apply: - `references/workflow.md` - `references/artifacts.md` ## Required quality gates - No definitions -> no coding. - No readiness checklist -> no one-pass launch. - No verification matrix template in plans -> no implementation approval.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: suspicious | SkillSpector: clean (LOW)
Skill: mattdotroberts/veed-skill (version 0.1.0)

--- name: veed-fabric description: Generate talking head videos from a photo using VEED Fabric 1.0. Triggers on mentions of "veed", "fabric", or "talking video". Turns a headshot + audio or text script into a lip-synced MP4 video via fal.ai. metadata: tags: veed, fabric, video, talking-head, lip-sync, avatar, fal --- # VEED Fabric — Talking Video Generator Create realistic talking head videos from a single photo. Built for founders and non-video-makers who need professional video content without video editing skills. ## When to Use Activate this skill when the user mentions: - "veed" or "fabric" (the product/model name) - "talking video" or "talking head video" - "lip sync" or "lipsync" with a photo - "animate my photo" to speak **MUST NOT** activate on generic video requests like "make a video" or "create content" unless they specifically mention VEED or Fabric. ## Prerequisites **MUST** check that the `FAL_KEY` environment variable is set before doing anything else. If it is not set, show the user: ``` FAL_KEY environment variable not found. 1. Get your API key at https://fal.ai/dashboard/keys 2. Set it: export FAL_KEY=your_key_here ``` **MUST NOT** proceed without a valid key. **MUST NOT** ask the user to provide the key inline. ## Lip-sync from audio When the user has a photo and an audio file (recorded voiceover, podcast clip, etc.), load [./rules/lip-sync.md](./rules/lip-sync.md) for the full workflow. ## Text-to-video When the user has a photo and a written script (text they want spoken aloud), load [./rules/text-to-video.md](./rules/text-to-video.md) for the full workflow. ## Uploading local files When the user provides a local file path instead of a URL, load [./rules/file-upload.md](./rules/file-upload.md) for the upload procedure. ## Queue and polling Video generation is async. Load [./rules/queue.md](./rules/queue.md) for the queue submission, polling, and result retrieval flow. ## How to use Read individual rule files for detailed explanations and working code: - [rules/lip-sync.md](rules/lip-sync.md) - Image + audio lip-sync workflow, supported formats, API parameters - [rules/text-to-video.md](rules/text-to-video.md) - Image + text workflow, voice presets, text limits - [rules/file-upload.md](rules/file-upload.md) - Uploading local files to fal.ai CDN for use as inputs - [rules/queue.md](rules/queue.md) - Async queue submission, status polling, result retrieval - [rules/output.md](rules/output.md) - Downloading and saving the generated video - [rules/errors.md](rules/errors.md) - Error handling, validation, and troubleshooting


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: zvirb/gmail-modify-labels (version 1.0.3)

--- name: Gmail Modify Labels description: Atomic node skill to modify email labels in Gmail using the gog CLI. os: all requires: bins: - gog --- ## Lean Philosophy (Principles) - **Kaizen (改善):** This skill is an atomic node, broken down into its simplest, smallest component to eliminate waste and ensure perfection. - **Standardized Work (Hyojun Sagyo):** This node represents the most efficient, standardized path for this specific task before automation. - **Jidoka (自働化):** This node includes autonomous defect detection. It relies on the CLI's self-healing loop and will report errors if the modification fails. # Gmail Modify Labels This skill allows the agent to add or remove labels from an email or thread using the native CLI. ## Cognitive Directives WHEN [Labels on an email need to be changed, added, or removed] THEN [ Execute the following Jidoka-validated loop: 1. **Execute Node:** Execute the native terminal command `gog gmail messages modify <messageId> ...` or equivalent label command. 2. **Verification Step (Jidoka):** Verify the command returns a successful confirmation. IF it fails or returns an error message, wait 3 seconds and retry (max 3 times). IF it still fails, report the error to the user and STOP. ] ## Schema Example ```json { "command": "gog gmail messages modify msg_id_123 --add-label INBOX --remove-label UNREAD --json" } ``` ## Expected Output Confirmation that the labels were updated.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: paudyyin/n8n-workflow-cn (version 1.0.0)

--- name: n8n-workflow-automation version: 1.0.0 description: n8n工作流自动化工具包，包含上百种常用工作流模板，支持一键导入、批量管理、定时任务配置、工作流备份恢复等功能，开箱即用。 metadata: author: kowl64 category: productivity capabilities: - 常用工作流模板一键导入到n8n - 工作流批量导出备份、一键恢复 - 定时任务批量配置管理 - 工作流运行状态监控、异常告警 - 支持企业微信/钉钉/飞书/邮件等常用节点模板 - 内置数据同步、消息推送、自动化办公等场景模板 --- # n8n 工作流自动化工具包 内置上百种开箱即用的工作流模板，不需要从零开始搭建工作流，一键导入即可使用，覆盖日常办公、数据处理、消息推送、系统集成等绝大多数场景。 ## 📦 内置工作流模板 ### 1. 办公自动化类 | 模板名称 | 功能说明 | |---------|---------| | **邮件自动处理** | 自动收邮件、分类、提取附件、自动回复、转发到指定群 | | **日报/周报自动生成** | 自动汇总工作记录、生成日报周报、定时发送给上级 | | **会议纪要自动整理** | 自动识别会议录音转文字、提取核心要点、生成结构化纪要、发送给参会人 | | **考勤自动统计** | 自动汇总打卡数据、计算迟到早退、生成考勤报表 | | **报销自动审核** | 自动识别报销单信息、校验规则、自动通过/驳回、生成报销统计 | ### 2. 消息推送类 | 模板名称 | 功能说明 | |---------|---------| | **企业微信消息推送** | 支持文本、图片、文件、卡片消息推送，支持@指定人、群机器人 | | **钉钉/飞书消息推送** | 同企业微信功能，适配钉钉/飞书接口 | | **多渠道消息聚合** | 自动把邮件、系统通知、监控告警统一推送到指定渠道 | | **定时提醒任务** | 支持自定义时间提醒，比如生日提醒、待办提醒、还款提醒等 | ### 3. 数据同步类 | 模板名称 | 功能说明 | |---------|---------| | **Excel数据自动同步到数据库** | 定时读取Excel文件、自动同步到MySQL/Oracle等数据库 | | **多系统数据自动同步** | 支持OA/CRM/ERP等系统之间数据自动同步、字段映射转换 | | **数据备份自动化** | 定时备份数据库、文件、工作流配置，自动上传到云存储 | | **数据报表自动生成** | 定时从多数据源拉取数据、生成报表、发送给指定人员 | ### 4. 监控告警类 | 模板名称 | 功能说明 | |---------|---------| | **网站/接口监控** | 定时监控网站/接口可用性，异常时自动推送告警 | | **服务器监控** | 监控CPU/内存/磁盘/网络使用率，异常告警 | | **业务指标监控** | 自定义业务指标阈值，异常时自动告警 | | **日志监控告警** | 自动扫描日志关键词，匹配到异常时推送告警 | ## 🚀 使用方法 ### 基础命令 ```powershell # 查看所有可用模板 n8n-cli list-templates # 导入指定模板到n8n n8n-cli import --template "邮件自动处理" --url "http://localhost:5678" --api-key "你的n8n API Key" # 导出所有工作流备份 n8n-cli export --output "D:\n8n备份" --url "http://localhost:5678" --api-key "你的n8n API Key" # 批量配置定时任务 n8n-cli schedule --workflow "数据同步" --cron "0 0 * * *" --url "http://localhost:5678" --api-key "你的n8n API Key" # 监控工作流运行状态 n8n-cli monitor --url "http://localhost:5678" --api-key "你的n8n API Key" --alarm-channel "企业微信" --webhook "你的群机器人webhook地址" ``` ### 获取n8n API Key的方法 1. 打开n8n界面，点击右上角头像 → 「个人资料」 2. 找到「API密钥」→ 点击「创建新密钥」 3. 复制生成的密钥即可使用 ## 📝 示例：导入邮件自动处理工作流 ```powershell n8n-cli import --template "邮件自动处理" --url "http://localhost:5678" --api-key "n8n_api_xxxxxx" ``` 导入完成后，直接在n8n界面修改邮箱账号密码、接收人等配置即可使用，不需要重新搭建流程。


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: financial-ai-analyst/industry-stock-tracker (version 1.0.2)

--- name: industry-stock-tracker description: > 依托东方财富数据库，面向行业或个股，产出跟踪类报告（含日报/周报/月报、研报及结构化跟踪解读）。 满足以下任一条件即触发：（1）用户明确索要「报告」「研报」「跟踪分析」或定期跟踪类文稿；（2）用户点名的行业、板块、指数、个股（名称或代码），并期望系统化、可成文的近况跟踪或梳理。 典型说法如「写一份 XX 行业报告」「跟踪 XX 股票」「生成 XX 日报」「看看 XX 最近怎么样并出报告」等。 metadata: { "openclaw": { "requires": { "env":["EM_API_KEY"] } } } --- # 行业/个股跟踪报告生成 Skill ## 概述 本 skill 用于将用户自然语言问题交给脚本 `scripts/generate_industry_stock_tracker_report.py`， 由脚本调用远程报告服务并返回统一 JSON 结果。输出包含标题、总结内容与附件本地保存路径（DOCX/PDF）。 ## 环境变量 | 变量名 | 说明 | 默认 | |---|---|---| | `EM_API_KEY` | 接口鉴权密钥（必填） | 无 | ### 配置 `EM_API_KEY` ```bash # macOS / Linux export EM_API_KEY="your_api_key_here" ``` ```powershell # Windows PowerShell $env:EM_API_KEY="your_api_key_here" ``` ## 核心工作流 1) 将用户原始问题原样作为 `query` 传入脚本。 2) 脚本调用接口生成报告并获取“总结”章节。 3) 若接口返回 `wordBase64/pdfBase64`，脚本会落地为本地附件文件并返回路径。 4) 将脚本标准输出（JSON）直接作为 skill 输出依据，不做与脚本冲突的二次改写。 命令行参数调用方式： ``` python3 {baseDir}/scripts/generate_industry_stock_tracker_report.py --query "{{query}}" ``` 注意：**禁止调用 任何「后台执行、稍后汇报」的方式跑本脚本**，只能在当前会话中同步等待到命令完成，拿到 stdout 的结果后再继续，否则会导致本 Skill 失败。 ## 输出格式规范 接口返回后，必须严格按以下模板输出，不得增删标题、不得改变顺序、不得添加额外章节： ### 标题 直接使用接口返回的 `title` 字段，单独成行。 ### 正文 如果接口返回的 `content` 字段有相关行业报告信息，则原文透传； 否则读取接口返回的附件文件内容，总结相关报告信息返回，记住保证返回的正文内容非空。 ### 附件 接口返回 pdf 以及 docx 格式文件的保存路径。 ### 分享链接 直接使用接口返回的 `share_url` 字段，单独成行。文案必须按以下固定格式输出： ``` {标题} {正文} 完整报告： - PDF：{pdf_path} - DOCX：{docx_path} 分享链接： {share_url} ``` 字段映射规则： - `{title}` = 脚本返回的 `title` - `{content}` = 脚本返回的 `content` - `{pdf_path}` = `attachments` 中 `type=PDF` 对应的 `url` - `{docx_path}` = `attachments` 中 `type=DOCX` 对应的 `url` - `{share_url}` = 脚本返回的 `share_url` 当附件缺失时： - 若仅有一种格式，仅输出存在的那一行（PDF 或 DOCX）。 - 若两种都不存在，输出：`完整报告：暂无可用附件` ## 语言要求 始终优先中文输出。若用户使用其他语言，可在交互提示中适度双语，但报告正文与字段含义保持中文语境。 ## 使用约束与建议 - 不要在 skill 层重写脚本已生成的 `content` 主体结构，避免与脚本逻辑漂移。 - 除附件路径展示外，不在 skill 层追加二次总结，正文以脚本 `content` 结果为准。 - 若脚本返回 `ok=false`，优先透传 `message`；不要自行编造错误原因。 - 该 skill 目标是“生成并返回结果”，不是在 skill 内追加长篇二次分析。 ## 常见错误处理： - 缺少 query：`BAD_REQUEST`，message 为“缺少 query 参数”。 - 不支持实体：`ERROR_ENTITY`，message 为“目前暂不支持此类实体体进行分析。” - 网络/超时/服务异常：`TIMEOUT` / `NETWORK_ERROR` / `HTTP_ERROR` / `UNEXPECTED_ERROR`，对用户统一提示“报告生成服务暂时不可用，请稍后重试。”。 错误输出强约束： - 只要接口响应或脚本标准输出（print 的 JSON）中存在 `message` 字段，模型必须输出该 `message`，不得省略、不得改写、不得替换为其他话术。 - 当 `ok=false` 时，优先输出错误 `message`；若同时存在 `error_code`，可附带展示 `error_code`，但不影响 `message` 原样透传。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: careytian-ai/web-data-extractor (version 1.0.0)

--- name: web-data-extractor description: 网页数据采集器，支持 CSS 选择器/XPath 提取、批量抓取、自动分页、数据导出（CSV/JSON/Markdown）。 metadata: openclaw: requires: bins: - web_fetch - read - write --- # 网页数据采集器 v1.0.0 从网页批量提取结构化数据，支持多种选择器和导出格式。 ## 功能特性 ### 1. CSS 选择器提取 ```javascript // 提取所有标题 web_fetch({"url": "https://example.com"}) // 使用 CSS 选择器提取特定元素 ``` ### 2. XPath 提取 ```javascript // 支持 XPath 路径提取复杂结构 ``` ### 3. 批量抓取 - 自动分页处理 - URL 列表批量处理 - 并发控制 ### 4. 数据导出 - CSV 格式 - JSON 格式 - Markdown 表格 ## 快速使用示例 ```javascript // 提取文章列表 const articles = extractData({ url: "https://blog.example.com", selector: ".article-card", fields: { title: "h2.title", link: "a[href]", date: ".publish-date" } }) // 导出为 CSV exportToCSV(articles, "output.csv") // 导出为 JSON exportToJSON(articles, "output.json") // 批量抓取多页 const allData = scrapeMultiple({ baseUrl: "https://example.com/page/", pages: 10, selector: ".item" }) ``` ## 使用场景 1. **市场调研** - 抓取竞品价格、产品信息 2. **内容聚合** - 收集多源内容 3. **数据分析** - 提取公开数据集 4. **舆情监控** - 追踪 mentions、评论 5. **SEO 分析** - 抓取关键词排名 ## 注意事项 - 遵守目标网站的 robots.txt - 控制抓取频率，避免被封 - 仅抓取公开数据 ## 定制开发 需要定制化数据采集、清洗或自动化工作流？ 📧 联系：careytian-ai@github --- ## 许可证 MIT-0

path: CHANGELOG.md
content: # 变更日志

## [1.0.0] - 2026-03-29

### 新增
- CSS 选择器数据提取
- XPath 数据提取
- 批量抓取支持
- 自动分页处理
- CSV/JSON/Markdown 导出
- 并发控制

### 说明
- 首个版本发布
- 适用于市场调研、内容聚合、数据分析


path: config.json
content: {
  "name": "web-data-extractor",
  "version": "1.0.0",
  "description": "网页数据采集器，支持 CSS 选择器/XPath 提取、批量抓取、数据导出",
  "author": "data-tools-dev",
  "license": "MIT-0",
  "engines": {
    "openclaw": ">=1.0.0"
  },
  "triggers": [
    "网页抓取",
    "数据采集",
    "web scraping",
    "data extraction",
    "批量抓取",
    "CSS selector",
    "XPath",
    "爬虫"
  ],
  "capabilities": [
    "web_fetch",
    "read",
    "write",
    "exec"
  ],
  "config": {
    "defaultFormat": "json",
    "maxConcurrency": 5,
    "delayMs": 1000
  }
}


path: metadata.json
content: {
  "slug": "web-data-extractor",
  "name": "网页数据采集器",
  "version": "1.0.0",
  "summary": "从网页批量提取结构化数据，支持 CSS/XPath 选择器、自动分页、多种导出格式。适用于市场调研、内容聚合、数据分析。",
  "author": "data-tools-dev",
  "license": "MIT-0",
  "tags": ["scraping", "data-extraction", "web", "automation", "csv", "json", "productivity"],
  "createdAt": "2026-03-29T14:25:00.000Z",
  "updatedAt": "2026-03-29T14:25:00.000Z"
}


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: clairproqc-star/french-learning (version 1.0.0)

--- name: french-learning description: "French vocab automation. Formats Excel vocab to Google Sheet, generates ElevenLabs audio, uploads to Drive. Triggers: process french vocab, generate audio, French Excel file." metadata: {"clawdbot":{"emoji":"🇫🇷","requires":{"bins":["sag","gog","gemini"],"env":["GEMINI_API_KEY","ELEVENLABS_API_KEY"]},"primaryEnv":"GEMINI_API_KEY"}} --- # French Learning Skill This skill automates the creation of French learning materials. ## Resource Locations - **Configuration**: Refer to [references/config.md](references/config.md) for target Google Sheet and Drive Folder IDs. - **Scripts**: Automation logic resides in `scripts/`. ## Prerequisites 1. **Google Sheet Setup**: Ensure you have access to the target Google Sheet: `https://docs.google.com/spreadsheets/d/1Nnwv4DbbUgfiNDiJdgCvnyxH6oPBis_99fm-2voehl4`. 2. **Google Drive Folder**: You must provide a Google Drive Folder ID where the generated audio files will be saved. 3. **ElevenLabs API Key**: The `ELEVENLABS_API_KEY` environment variable must be set to use the `sag` TTS skill for audio generation. ## Standard Workflows ### 1. Format Excel to Google Sheet `scripts/format_excel.py` — Reads source Sheet, calls Gemini for Chinese translation + example sentences, writes 6 columns (`Index`, `Fr Original`, `En Translation`, `Chinese Translation`, `Example Sentence (FR)`, `Example Sentence (CN)`) into target Sheet, then applies **wrap text** (`wrapStrategy: WRAP`) to all cells so long sentences stay within the cell. ### 2. Generate & Upload Audio `scripts/generate_audio.py` — Fetches `Example Sentence (FR)` + `Index`, chunks into batches of 20, generates MP3 via ElevenLabs (`sag` skill), uploads to specified Drive folder named `1-20.mp3`, `21-40.mp3`, etc. Requires Drive Folder ID.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: sit-in/twitter-post (version 1.0.0)

--- name: twitter-post description: Post tweets to Twitter/X via the official API v2 (OAuth 1.0a). Use when the user asks to tweet, post to Twitter/X, send a thread, reply to a tweet, or quote tweet. Supports single tweets, threads, replies, and quote tweets with automatic character weight validation. --- # Twitter Post Post tweets via the official Twitter/X API v2 using OAuth 1.0a authentication. ## Prerequisites Four environment variables must be set. Obtain them from [developer.x.com](https://developer.x.com): ``` TWITTER_CONSUMER_KEY=<API Key> TWITTER_CONSUMER_SECRET=<API Key Secret> TWITTER_ACCESS_TOKEN=<Access Token> TWITTER_ACCESS_TOKEN_SECRET=<Access Token Secret> ``` Optional: - `HTTPS_PROXY` — HTTP proxy URL (e.g. `http://127.0.0.1:7897`) for regions that need it - `TWITTER_DRY_RUN=1` — validate and print without posting ## Setup Store credentials as env vars. Recommended: add to the OpenClaw instance config or export in shell profile. **Never hardcode keys in SKILL.md or scripts.** If the user hasn't set up OAuth yet, guide them: 1. Go to [developer.x.com](https://developer.x.com) → Dashboard → Create App 2. Set **App permissions** to **Read and Write** 3. Go to **Keys and tokens** tab 4. Copy API Key, API Key Secret 5. Generate Access Token and Access Token Secret (ensure Read+Write scope) 6. If the portal only shows Read, use PIN-based OAuth flow: - Call `POST /oauth/request_token` with `oauth_callback=oob` - User opens `https://api.twitter.com/oauth/authorize?oauth_token=<token>` - User provides the PIN code - Call `POST /oauth/access_token` with the PIN as `oauth_verifier` ## Usage All commands via `exec`. Script path: `scripts/tweet.js` (relative to this skill directory). ### Single tweet ```bash node scripts/tweet.js "Your tweet content here" ``` ### Reply to a tweet ```bash node scripts/tweet.js --reply-to 1234567890 "Reply text" ``` ### Quote tweet ```bash node scripts/tweet.js --quote 1234567890 "Your commentary" ``` ### Thread (multiple tweets) ```bash node scripts/tweet.js --thread "First tweet" "Second tweet" "Third tweet" ``` ### Output JSON to stdout: ```json {"ok":true,"id":"123456789","url":"https://x.com/i/status/123456789","remaining":"99","limit":"100"} ``` On error: `{"ok":false,"error":"..."}` ## Character Limits - Max 280 weighted characters per tweet - CJK characters (Chinese/Japanese/Korean) count as **2** each - URLs count as **23** each regardless of length - Script auto-validates before posting; rejects if over limit ## Rate Limits - **100 tweets / 15 min** per user (OAuth 1.0a) - **3,000 tweets / month** on Basic plan ($200/mo) - Check `remaining` field in output to monitor quota ## Tips - For content from Notion/database: fetch the text first, then pipe to `tweet.js` - For cron-based auto-posting: use `exec` with env vars set, parse JSON output to confirm success - Thread mode posts sequentially; each tweet auto-replies to the previous one - Combine `--thread` with `--reply-to` to attach a thread under an existing tweet


Security scan verdicts — ClawScan: clean | static analysis: suspicious | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: wangjiaocheng/universal-task-os (version 1.0.1)

--- name: universal-task-os author: 王教成 Wang Jiaocheng (波动几何) description: 通用三轴任务操作系统。将任意任务沿三个正交轴处理：执行轴（6大元操作+管线编排）管怎么做，内容轴（清单法+样本法）管造什么，创新轴（4种模式+10种元框架）管怎么不一样。执行轴必选，内容轴和创新轴按需激活。触发词：三轴、执行、内容、创新、任务系统、管线+清单+创新、全栈任务、任务操作系统。 --- # Universal Task OS - 通用三轴任务操作系统 三个轴的源技能参考文件（按需读取）：执行轴→`references/capability-pipeline-os.md`（Schema/管线编排/IPO统一/通用管线模式/身份叠加/领域校准/实例化演示/执行规则/工具策略/呈现规则/事实纪律），内容轴→`references/compose-methods.md`，创新轴→`references/innovation-os.md`（四种模式处理能力含提示词原文/10种框架提示词原文/基元嵌入vs独立对比/迁移4类型+源领域质量检验/构建完整流程/领域场景适配指引15领域/方案输出格式/工作流总览/事实纪律）。完整定义（核心理念/Step0三轴判定/执行轴完整定义/内容轴清单法与样本法/创新轴四维评估与四种模式/三轴协同5种模式/统一执行流程Step1-4/工具调用策略/呈现规则/事实纪律）在 `references/universal-task-os.md`。 三轴正交：执行轴（How/必选）+ 内容轴（What/按需）+ 创新轴（Why Different/按需）。 ## Step 0：三轴判定 ### 0-1 复杂度判定 | 复杂度 | 判定标准 | 执行路径 | |--------|----------|----------| | **简单** | 可直接完成 | 单一IPO基元执行 | | **中等** | 3-7步协调 | 单层管线编排 | | **复杂** | 8+步或多层嵌套 | 多层管线+IPO递归 | ### 0-2 创新需求判定 | 判定 | 激活 | |------|------| | 常规执行，结果可预测 | 不激活创新轴 | | 需要突破默认路径 | 激活创新轴 | ### 0-3 内容类型判定 | 判定 | 激活 | |------|------| | 简单答案、数据、操作结果 | 不激活内容轴 | | 文档、方案、报告等结构化成品 | 激活内容轴 | ### 判定组合 | 组合 | 激活轴 | |------|--------| | 简单+无创新+非结构化 | 执行轴（IPO基元） | | 中等+无创新+结构化 | 执行轴+内容轴 | | 中等+创新+非结构化 | 执行轴+创新轴 | | 复杂+创新+结构化 | 三轴全开 |


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)