WorkBuddy 自动任务去重守护。当用户自动化任务出现重复时,自动检测并清理。适用场景:自动化任务重复、任务列表膨胀、需要清理重复任务。支持 Windows/macOS/Linux,纯 Python 标准库,零依赖。
WorkBuddy 的自动化任务系统没有防重机制,每次新会话创建同名任务时不会检查是否已存在,导致同名任务不断累积。本 Skill 提供一个一键去重脚本,自动检测并清理重复的自动化任务,每组同名任务只保留最新创建的版本。
scripts/automation_dedup_guard.py is the main executable.
bash
# Safe preview (dry-run, no deletions)
python scripts/automation_dedup_guard.py --dry-run
# Execute cleanup
python scripts/automation_dedup_guard.py
# Specify custom database path
python scripts/automation_dedup_guard.py --db /custom/path/automations.db
# Verbose mode for debugging
python scripts/automation_dedup_guard.py --dry-run -v
0 — No duplicates found, all clean1 — Duplicates detected (after cleanup, still returns 1 if any were found)The script automatically locates the WorkBuddy automations database:
PrioritySourceNotes1--db CLI argumentManual override2WORKBUDDY_DB_PATH env varFor advanced users3OS default pathAuto-detected
Default paths by OS:
%APPDATA%\WorkBuddy\automations\automations.db~/Library/Application Support/WorkBuddy/automations\automations.db~/.config/WorkBuddy\automations\automations.dbname field are considered duplicatescreated_at is preservedautomation_runs records are also cleaned upTo run automatically, register it as a WorkBuddy automation:
Name: Automation Dedup Guard
Schedule: Weekly (e.g., FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=55)
Prompt: text
Run the dedup guard script: python [path-to]/scripts/automation_dedup_guard.py
If output contains "[OK]" — no action needed.
If output contains "[!]" — duplicates were auto-cleaned, confirm the count.
If script errors — log the error, no other action.
sqlite3, sys, os, datetime, collections)