OpenClaw/clawhub-security-signals huggingface dataset:
Skill: jason2be/ppt-ooxml-tool (version 0.1.0)

--- name: ppt-ooxml-translator description: "AI-agent Skill for PPTX OOXML localization workflows. Use it to unpack PPTX, extract and apply text translations, normalize terminology, enforce language-specific fonts, validate XML integrity, and repack outputs with machine-readable JSON interfaces for automation." --- # ppt-ooxml-translator ## 中文 这是一个面向 AI Agent 的 Skill，用于将 PPTX（OOXML）翻译与本地化流程标准化： - 解包与回包 - 文本抽取与回填 - 术语统一 - 按语言自动字体规范 - XML 结构校验 - JSON 输出，便于外部系统自动化集成 ## English This is an AI-agent Skill for standardized PPTX (OOXML) translation and localization workflows: - unpack and repack - extract and apply translated text - terminology normalization - language-aware font standardization - XML integrity validation - JSON outputs for external automation and orchestration

path: src/ppt_ooxml_tool/__init__.py
content: __all__ = ["__version__"]
__version__ = "0.1.0"


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: edwardrodriguez703-design/book-event-planner (version 1.0.1)

--- name: book-event-planner description: Book event-planner services through Lokuli MCP. Use when user needs to find and book event-planner. Triggers on requests like "book a event-planner", "find event-planner near me", or any event-planner service request. --- # uook event planner Book event-planner services through Lokuli's MCP server. ## MCP Endpoint ``` https://lokuli.com/mcp/sse ``` Transport: SSE | JSON-RPC 2.0 | POST requests ## Tools ### search ```json { "method": "tools/call", "params": { "name": "search", "arguments": { "query": "event-planner", "zipCode": "90640", "maxResults": 20 } } } ``` ### check_availability ```json { "method": "tools/call", "params": { "name": "check_availability", "arguments": { "providerId": "xxx", "serviceId": "yyy", "date": "2025-02-10" } } } ``` ### create_booking ```json { "method": "tools/call", "params": { "name": "create_booking", "arguments": { "providerId": "xxx", "serviceId": "yyy", "timeSlot": "2025-02-10T14:00:00-08:00", "customerName": "John Doe", "customerEmail": "[REDACTED_SECRET]", "customerPhone": "+13105551234" } } } ```


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: saokiritokun/feishu-voice-bubble (version 1.1.0)

--- name: feishu-voice-bubble description: | Send native voice bubble messages (语音气泡) in Feishu/Lark chats using Edge TTS. Converts text to opus audio via Microsoft Edge TTS (free, no API key needed), then sends as Feishu audio message type which renders as a native voice bubble — not a file attachment. Supports 30+ Chinese voices, 400+ voices across all languages, adjustable speech rate and pitch, and auto-splitting for long text. Use when: user asks to send voice message, voice bubble, 语音, 发语音, TTS in Feishu, or wants audio replies in Feishu chats. --- # Feishu Voice Bubble Send native voice bubble messages in Feishu using Edge TTS + opus format. ## Why This Exists Feishu bot API only renders voice bubbles for `audio` message type with opus format. Standard TTS outputs mp3 → Feishu shows it as a file attachment, not a voice bubble. This skill: Edge TTS → opus → Feishu audio → native voice bubble. ## Prerequisites ```bash npm install node-edge-tts ``` No API keys required. Edge TTS is free. ## Usage ### Basic ```bash node scripts/gen_voice.js "你好世界" output.opus ``` ### With Options ```bash node scripts/gen_voice.js "播报内容" output.opus --voice zh-CN-YunxiNeural --rate +15% --pitch -5% ``` ### Long Text Auto-Split ```bash node scripts/gen_voice.js "很长的文本..." output.opus --split 500 ``` Produces `output_1.opus`, `output_2.opus`, etc. Split at sentence boundaries. ### Send to Feishu ```json { "action": "send", "filePath": "output.opus" } ``` The `.opus` extension triggers Feishu's native audio message type automatically. ## Arguments | Arg | Description | Default | |-----|-------------|---------| | `<text>` | Text to convert | required | | `<output>` | Output .opus path | required | | `--voice` | Edge TTS voice name | zh-CN-XiaoxiaoNeural | | `--rate` | Speech rate (+20%, -10%) | +0% | | `--pitch` | Pitch adjust (+5%, -5%) | +0% | | `--split` | Auto-split at N chars | 0 (disabled) | ## Chinese Voices | Voice | Gender | Style | |-------|--------|-------| | zh-CN-XiaoxiaoNeural | F | Warm, versatile (default) | | zh-CN-XiaoyiNeural | F | Gentle, storytelling | | zh-CN-YunxiNeural | M | Young, energetic | | zh-CN-YunjianNeural | M | Broadcast, professional | | zh-CN-YunyangNeural | M | News anchor, authoritative | | zh-CN-liaoning-XiaobeiNeural | F | Northeastern dialect | | zh-CN-shaanxi-XiaoniNeural | F | Shaanxi dialect | ## How It Works 1. Edge TTS converts text → `webm-24khz-16bit-mono-opus` 2. Saved as `.opus` file 3. Feishu plugin detects `.opus` → uploads as `opus` type → sends as `audio` message 4. Feishu client renders native voice bubble with play button ## Limitations - Requires internet (Microsoft hosted service) - No SLA (free public service) - ~10 min max audio per request - `node-edge-tts` must be installed in the working directory or globally


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: m1ss-cell/upload-file (version 1.0.0)

--- name: browser-file-upload description: > MUST be used for any browser file upload task. Provides reliable, step-by-step automation for uploading files via agent-browser CLI. Includes strict execution protocol, fallback strategies, and path normalization. --- # Browser File Upload (Industrial-Grade) Automates file uploads to web pages using agent-browser CLI with high reliability. --- # 🔥 Execution Protocol (MANDATORY) You MUST follow strict state-machine execution: 1. Execute ONLY ONE command at a time 2. WAIT for result before next step 3. VERIFY success before continuing 4. If failed → retry or fallback 5. DO NOT skip steps 6. DO NOT batch commands 7. DO NOT assume elements exist --- # 🔥 Standard Upload Pipeline (REQUIRED) Follow this exact sequence: ## Step 1 — Open Page agent-browser open <url> ## Step 2 — Wait for Load agent-browser wait 2000 If page is slow: agent-browser wait --load networkidle --- ## Step 3 — Trigger File Input Try in order: 1. agent-browser find text "选择文件" click 2. agent-browser find text "上传" click 3. agent-browser click "[type=file]" If all fail: agent-browser snapshot --- ## Step 4 — Upload File Preferred selector: agent-browser upload "[type=file]" <file-path> If selector known: agent-browser upload "<selector>" <file-path> --- ## Step 5 — Verify Upload (IMPORTANT) agent-browser snapshot Check: - File name appears - No error message - Input is not empty If failed → retry upload once --- # 🔥 Strategy Selection Priority: 1. ✅ Python script (MOST STABLE) 2. ⚠️ agent-browser commands (when selector known) --- # 🔥 Python Script Mode (Recommended) Use for robust execution: ```bash python scripts/upload_file.py <url> <file-path> [selector] [wait_ms]


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: by123/objects-detection (version 1.0.0)

# OpenClaw Skill + iOS 集成示例：ObjectVision ## 一、Skill 信息 - **Skill 名称**: ObjectVision - **版本**: 1.0.0 - **类型**: 视觉识别 / 物体识别 - **作者**: YourName - **描述**: 专业物体识别技能。输入图片，返回场景、物体名称、类别、品牌、材质、价格和置信度。 - **标签**: object recognition, vision, ai, 物体识别 - **License**: MIT --- ## 二、Skill 配置 JSON ```json { "name": "ObjectVision", "description": "专业物体识别技能。输入图片，返回场景、物体名称、类别、品牌、材质、价格和置信度。", "version": "1.0.0", "input_schema": { "type": "object", "properties": { "image_url": { "type": "string", "description": "要识别的图片 URL" }, "detection_level": { "type": "string", "enum": ["basic", "full", "professional"], "default": "full", "description": "识别精度等级，basic: 基础物体, full: 品牌材质, professional: 包含小物件/抽屉内部" } }, "required": ["image_url"] }, "output_schema": { "type": "object", "properties": { "scene": { "type": "string", "description": "图片场景描述，例如卧室桌面、办公室" }, "objects": { "type": "array", "description": "检测到的物体列表", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "物体名称" }, "category": { "type": "string", "description": "物体类别" }, "confidence": { "type": "number", "description": "识别置信度，0-1" }, "bounding_box": { "type": "array", "description": "[x, y, width, height] 物体框坐标", "items": { "type": "number" } }, "brand": { "type": "string", "description": "品牌，可推理" }, "material": { "type": "string", "description": "材质，可推理" }, "estimated_price_range": { "type": "string", "description": "估算价格区间" } }, "required": ["name", "category", "confidence", "bounding_box"] } } }, "required": ["scene", "objects"] }, "prompt": "You are a professional object recognition engine. Analyze the image provided in 'image_url' and return a JSON with the following: 1. Detect all objects. 2. For each object output: name, category, confidence (0-1), bounding_box [x, y, width, height], brand (if identifiable), material (if inferable), estimated_price_range (if known). 3. Provide scene description. 4. Return only JSON, no explanations. 5. If uncertain, lower confidence score instead of hallucinating.", "examples": [ { "input": { "image_url": "https://example.com/photo.jpg", "detection_level": "full" }, "output": { "scene": "office desk", "objects": [ { "name": "iPhone 15 Pro", "category": "Electronics", "confidence": 0.95, "bounding_box": [100, 50, 200, 400], "brand": "Apple", "material": "Titanium", "estimated_price_range": "$999-$1299" }, { "name": "MacBook Pro 16", "category": "Electronics", "confidence": 0.92, "bounding_box": [300, 60, 600, 400], "brand": "Apple", "material": "Aluminum", "estimated_price_range": "$2499-$2999" } ] } } ] }


Security scan verdicts — ClawScan: clean | static analysis:  | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: clawkk/ml-ops (version 1.0.0)

--- name: ml-ops description: Deep MLOps workflow—reproducible training, experiment tracking, packaging, deployment, monitoring (drift, performance), governance, and rollback for ML. Use when shipping models to production or hardening ML pipelines. --- # MLOps (Deep Workflow) MLOps connects **research velocity** to **production reliability**: version **data**, **code**, and **artifacts** together; monitor **behavior** after deploy. ## When to Offer This Workflow **Trigger conditions:** - First production model; batch or online serving - Drift, bias, or latency SLO misses - Compliance needs for lineage and explainability **Initial offer:** Use **six stages**: (1) problem & risk class, (2) data & reproducibility, (3) training & evaluation, (4) packaging & deployment, (5) monitoring & feedback, (6) governance & rollback). Confirm batch vs real-time and regulatory tier. --- ## Stage 1: Problem & Risk Class **Goal:** Align ML to decision risk (credit, health vs recommendation). **Exit condition:** Offline and online success metrics defined. --- ## Stage 2: Data & Reproducibility **Goal:** Snapshot training data; deterministic pipelines; PII handling. ### Practices - Feature stores optional but valuable for consistency - Secrets not in notebooks; orchestrated jobs **Exit condition:** Run id reproduces artifact hash within agreed bounds. --- ## Stage 3: Training & Evaluation **Goal:** Train/val/test without leakage; time-series splits careful. ### Practices - Model card with limits and metrics - Fairness slices where policy requires --- ## Stage 4: Packaging & Deployment **Goal:** Immutable artifacts; canary or shadow before full cutover. ### Practices - Model + preprocessing code version pinned together **Exit condition:** Rollback to previous artifact id documented. --- ## Stage 5: Monitoring & Feedback **Goal:** Data drift, concept drift, latency; business KPIs tied to model decisions. ### Practices - Human review queue for low-confidence predictions when needed --- ## Stage 6: Governance & Rollback **Goal:** Approvals for retrain/deploy; audit trail; A/B for big changes. --- ## Final Review Checklist - [ ] Offline metrics aligned with business risk - [ ] Data and code reproducibility - [ ] Packaged artifacts with versioning and rollback - [ ] Online monitoring and drift strategy - [ ] Governance and approval path ## Tips for Effective Guidance - Training-serving skew is a top bug—feature parity tests help. - Offline accuracy ≠ online business outcome. - Fairness needs explicit slices—not one headline number. ## Handling Deviations - LLM-heavy products: lean on eval harnesses and prompt versioning (see **llm-evaluation**). - Tiny teams: start with artifact registry + dashboards before a full feature store.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: bddiudiu/cpa-codex-auth-sweep-cliproxy (version 1.0.3)

--- name: cpa-codex-auth-sweep-cliproxy description: 通过 CLI Proxy Management API 拉取 Codex 认证文件并高并发探活扫描。适用于「扫号」「清死号」「清理 Codex 401」场景；仅在用户明确确认后可删除 401。执行前必须提供 base_url 与 management_key。安全限制：默认仅允许 https://chatgpt.com 作为 probe 主机，非白名单目标需显式危险确认。 --- # 技能说明 此技能用于： 1. 通过 **CLI Proxy Management API 的认证文件接口** 获取授权（`/v0/management/auth-files`） 2. 使用 **管理端 API Call 能力**（`/v0/management/api-call` + `auth_index + $TOKEN$`）探测每个 Codex 授权状态（对齐 CLI Proxy 的刷新/代理链路） 3. 识别 401/失效凭证并在用户明确要求时清理 ## 交互要求（必须） 在每次准备执行扫描前，必须先主动向用户询问并确认： - `base_url`（CLI Proxy 管理端地址） - `management_key`（管理密钥） 如果用户未提供这两个参数，禁止开始扫描；应先提示用户补全。 ## 安全提示（必须阅读） 本技能通过管理 API 的 `api-call` 发起探测，请求头中使用 `Authorization: Bearer $TOKEN$`。这意味着 **管理端会把真实 token 转发到 `probe-url` 指向的主机**。 因此必须遵守： 1. 默认仅允许 `https://chatgpt.com/...` 作为探测目标。 2. 扫描前必须向用户确认 `probe-url`（若用户改过）。 3. 若要使用非白名单主机，必须得到用户明确授权，并显式传 `--allow-unsafe-probe-host`。 4. 禁止默认使用 `--insecure`；仅在内网排障且用户明确授权时，才可同时传 `--insecure --allow-insecure-tls`。 ## 执行入口 ```bash python3 <SKILL目录>/scripts/cliproxy_scanner.py \ --base-url "<CLI_PROXY_BASE_URL>" \ --management-key "<MANAGEMENT_KEY>" \ --output-json ``` 常见用法： ```bash # 只扫描，不删除 python3 <SKILL目录>/scripts/cliproxy_scanner.py \ --base-url "<CLI_PROXY_BASE_URL>" \ --management-key "<MANAGEMENT_KEY>" \ --output-json # 扫描 + 删除 401（需要明确删除意图） python3 <SKILL目录>/scripts/cliproxy_scanner.py \ --base-url "<CLI_PROXY_BASE_URL>" \ --management-key "<MANAGEMENT_KEY>" \ --output-json --delete-401 --yes ``` ## 必要环境变量（Required） - `CLIPROXY_BASE_URL`：CLI Proxy API 管理端地址（例：`http://localhost:8317`） - `CLIPROXY_MANAGEMENT_KEY`：管理密钥（Management Key，主凭据 / primary credential） > 两者缺一不可。 可选： - `CLIPROXY_AUTH_FILES_ENDPOINT`：认证文件列表接口（默认：`/v0/management/auth-files`） - `CLIPROXY_API_CALL_ENDPOINT`：管理 API Call 接口（默认：`/v0/management/api-call`） - `CLIPROXY_AUTH_DELETE_ENDPOINT`：认证文件删除接口（默认：`/v0/management/auth-files`，通过 `?name=` 删除） - `CODEX_PROBE_URL`：Codex 探活 URL（默认：`https://chatgpt.com/backend-api/codex/responses`） - `CLIPROXY_ALLOWED_PROBE_HOSTS`：允许的 probe host 白名单（默认：`chatgpt.com`） - `SCAN_WORKERS`：并发数（默认：80） ## 判定口径（已对齐） - 失效：HTTP 401 / invalid auth / revoked - 额度为 0：**仅指周限额为 0**（weekly/week/周限额 等语义 + quota/limit exhausted） - 同时输出管理端视角指标：`management_quota_exhausted`（来自 `/auth-files` 的 `unavailable + status_message(quota)`） - 网络错误、超时、解析错误：不归类为失效或周限额 0 ## 执行纪律 - 用户只说“看看/扫一下”时：只扫描，不删除。 - 只有在用户明确表达“删掉/清理/扬了”等意图时，才允许 `--delete-401`。 - 汇报优先给出汇总统计（total / ok / 401 / exceeded / error）。 - 执行时必须开启 `--progress` 并持续反馈进度： 1) 开始执行 2) 已获取 auth file 总数 3) 校验过程中按 `--progress-every`（默认 10）输出“第 N 条 / 共 M 条”直到完成


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: ewankeynes/lay-summary-gen (version 0.1.0)

--- name: lay-summary-gen description: Converts complex medical abstracts into plain language summaries for patients, caregivers, and the general public. Ensures readability while maintaining scientific accuracy. version: 1.0.0 category: General tags: - patient-education - plain-language - health-literacy - communication author: AIPOCH license: MIT status: Draft risk_level: Medium skill_type: Tool/Script owner: AIPOCH reviewer: '' last_updated: '2026-02-06' --- # Lay Summary Gen Generates plain-language summaries of medical research for non-expert audiences. ## Features - Complex to simple language conversion - Jargon elimination - Reading level optimization (Grade 6-8) - Key takeaways extraction - EU CTR compliance support ## Input Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `abstract` | str | Yes | Original medical abstract | | `target_audience` | str | No | "patients", "public", "media" | | `max_words` | int | No | Maximum word count (default: 250) | ## Output Format ```json { "lay_summary": "string", "reading_level": "string", "key_takeaways": ["string"], "word_count": "int", "jargon_replaced": [{"term": "plain"}] } ``` ## Risk Assessment | Risk Indicator | Assessment | Level | |----------------|------------|-------| | Code Execution | Python/R scripts executed locally | Medium | | Network Access | No external API calls | Low | | File System Access | Read input files, write output files | Medium | | Instruction Tampering | Standard prompt guidelines | Low | | Data Exposure | Output files saved to workspace | Low | ## Security Checklist - [ ] No hardcoded credentials or API keys - [ ] No unauthorized file system access (../) - [ ] Output does not expose sensitive information - [ ] Prompt injection protections in place - [ ] Input file paths validated (no ../ traversal) - [ ] Output directory restricted to workspace - [ ] Script execution in sandboxed environment - [ ] Error messages sanitized (no stack traces exposed) - [ ] Dependencies audited ## Prerequisites No additional Python packages required. ## Evaluation Criteria ### Success Metrics - [ ] Successfully executes main functionality - [ ] Output meets quality standards - [ ] Handles edge cases gracefully - [ ] Performance is acceptable ### Test Cases 1. **Basic Functionality**: Standard input → Expected output 2. **Edge Case**: Invalid input → Graceful error handling 3. **Performance**: Large dataset → Acceptable processing time ## Lifecycle Status - **Current Stage**: Draft - **Next Review Date**: 2026-03-06 - **Known Issues**: None - **Planned Improvements**: - Performance optimization - Additional feature support


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: action2227/kuaishou-login (version 1.0.0)

你是一个自动化浏览器操作助手，请按照以下步骤完成“快手创作者平台扫码登录”流程，并在关键节点返回结果： 【任务目标】 通过二维码方式登录快手创作者平台，并向用户返回登录过程中的关键状态。 【执行步骤】 1. 打开页面 访问：https://creator.kuaishou.com/ 2. 进入登录 - 等待页面加载完成 - 点击页面中的「登录」按钮 - 在登录方式中选择「二维码登录」（或默认即为二维码） 3. 截图二维码 - 等待二维码完全加载 - 截取当前页面（必须包含完整二维码区域） - 将截图返回给用户 - 提示用户：“请使用快手APP扫码登录” 4. 等待扫码结果 - 持续监听页面状态变化（登录成功标志，如头像/用户名出现） - 设置最大等待时间（例如 120 秒） 5. 返回登录状态 - 如果检测到登录成功： 返回：“登录成功”，并附带当前页面截图 - 如果超时未登录： 返回：“登录超时，请重试” 【注意事项】 - 截图必须清晰可扫码 - 不要关闭页面，保持登录状态监听 - 若页面加载失败，请自动重试一次 工具使用规则： - 使用 browser.open 打开页面 - 使用 browser.find / click 操作按钮 - 使用 browser.screenshot 获取截图 - 使用 browser.wait_for 等待元素或状态变化 关键元素提示（如果识别困难可以用）： - 登录按钮：包含“登录”文本 - 二维码区域：canvas 或 img 标签 - 登录成功标志：头像 / 用户昵称 / 控制台区域


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: aipoch-ai/serial-dilution-calculator (version 1.0.0)

--- name: serial-dilution-calculator description: Generate qPCR/ELISA dilution protocols with precise pipetting steps version: 1.0.0 category: Wet Lab tags: [] author: AIPOCH license: MIT status: Draft risk_level: Medium skill_type: Tool/Script owner: AIPOCH reviewer: '' last_updated: '2026-02-06' --- # Serial Dilution Calculator Step-by-step dilution protocol generator. ## Use Cases - qPCR standard curves - ELISA plate setup - Drug dose responses - MIC determinations ## Parameters - `starting_conc`: Stock concentration - `final_conc`: Target concentration - `dilution_factor`: Step dilution - `total_volume`: Per well volume ## Returns - Pipetting scheme table - Required volumes - Plate layout suggestion - Common pitfall warnings ## Example "Take 10uL stock + 90uL diluent for 1:10..." ## Risk Assessment | Risk Indicator | Assessment | Level | |----------------|------------|-------| | Code Execution | Python/R scripts executed locally | Medium | | Network Access | No external API calls | Low | | File System Access | Read input files, write output files | Medium | | Instruction Tampering | Standard prompt guidelines | Low | | Data Exposure | Output files saved to workspace | Low | ## Security Checklist - [ ] No hardcoded credentials or API keys - [ ] No unauthorized file system access (../) - [ ] Output does not expose sensitive information - [ ] Prompt injection protections in place - [ ] Input file paths validated (no ../ traversal) - [ ] Output directory restricted to workspace - [ ] Script execution in sandboxed environment - [ ] Error messages sanitized (no stack traces exposed) - [ ] Dependencies audited ## Prerequisites No additional Python packages required. ## Evaluation Criteria ### Success Metrics - [ ] Successfully executes main functionality - [ ] Output meets quality standards - [ ] Handles edge cases gracefully - [ ] Performance is acceptable ### Test Cases 1. **Basic Functionality**: Standard input → Expected output 2. **Edge Case**: Invalid input → Graceful error handling 3. **Performance**: Large dataset → Acceptable processing time ## Lifecycle Status - **Current Stage**: Draft - **Next Review Date**: 2026-03-06 - **Known Issues**: None - **Planned Improvements**: - Performance optimization - Additional feature support


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: steipete/apple-reminders (version 1.0.0)

--- name: apple-reminders description: Manage Apple Reminders via the `remindctl` CLI on macOS (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output. homepage: https://github.com/steipete/remindctl metadata: {"clawdbot":{"emoji":"⏰","os":["darwin"],"requires":{"bins":["remindctl"]},"install":[{"id":"brew","kind":"brew","formula":"steipete/tap/remindctl","bins":["remindctl"],"label":"Install remindctl via Homebrew"}]}} --- # Apple Reminders CLI (remindctl) Use `remindctl` to manage Apple Reminders directly from the terminal. It supports list filtering, date-based views, and scripting output. Setup - Install (Homebrew): `brew install steipete/tap/remindctl` - From source: `pnpm install && pnpm build` (binary at `./bin/remindctl`) - macOS-only; grant Reminders permission when prompted. Permissions - Check status: `remindctl status` - Request access: `remindctl authorize` View Reminders - Default (today): `remindctl` - Today: `remindctl today` - Tomorrow: `remindctl tomorrow` - Week: `remindctl week` - Overdue: `remindctl overdue` - Upcoming: `remindctl upcoming` - Completed: `remindctl completed` - All: `remindctl all` - Specific date: `remindctl 2026-01-04` Manage Lists - List all lists: `remindctl list` - Show list: `remindctl list Work` - Create list: `remindctl list Projects --create` - Rename list: `remindctl list Work --rename Office` - Delete list: `remindctl list Work --delete` Create Reminders - Quick add: `remindctl add "Buy milk"` - With list + due: `remindctl add --title "Call mom" --list Personal --due tomorrow` Edit Reminders - Edit title/due: `remindctl edit 1 --title "New title" --due 2026-01-04` Complete Reminders - Complete by id: `remindctl complete 1 2 3` Delete Reminders - Delete by id: `remindctl delete 4A83 --force` Output Formats - JSON (scripting): `remindctl today --json` - Plain TSV: `remindctl today --plain` - Counts only: `remindctl today --quiet` Date Formats Accepted by `--due` and date filters: - `today`, `tomorrow`, `yesterday` - `YYYY-MM-DD` - `YYYY-MM-DD HH:mm` - ISO 8601 (`2026-01-04T12:34:56Z`) Notes - macOS-only. - If access is denied, enable Terminal/remindctl in System Settings → Privacy & Security → Reminders. - If running over SSH, grant access on the Mac that runs the command.


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