Clockify unautomate
Rollback, not a pause. Confirm, then remove Cursor glue and reset only automate-owned yaml to the plugin example defaults. Everything outside entry.automated stays (workspace pin, project, timer, manual).
Temporary disable while keeping forge/platform settings: clockify-automate-disable / clockify-automate-enable.
To remove .clockify/ entirely, use clockify-uninit.
Confirm
- Inventory with tools if needed, then repeat the result in a normal chat message (markdown list of paths). Do not rely on tool snippets as the only listing.
- Chat list: rule + Clockify-owned hooks (including
.cursor/hooks/clockify-runaway.sh when present), and note empty dirs that will be removed if they become empty after cleanup. Note that entry.automated in .clockify/config.yml will be reset to example defaults (forge/settings.on_start/modes wiped). The managed .clockify/ gitignore line stays. plugin / scope / entry.timer / entry.manual are not touched.
- Then AskQuestion with only a short confirm, e.g. “Roll back Clockify automate in this repo?” — do not put the inventory in the question box.
- Do not delete
.clockify/ or the managed .clockify/ gitignore line.
- Do not uninstall the Clockify Agent Plugin unless the user explicitly asks.
Removals
Delete .cursor/rules/clockify.mdc only (leave other rules alone). Also delete leftover .cursor/rules/clockify-time.mdc if present — do not leave either file. If .cursor/rules/ is then empty, delete the empty directory. Never delete a non-empty rules/ dir or unrelated *.mdc files.
Edit .cursor/hooks.json: drop only Clockify-owned hook entries — those whose command references clockify-runaway / .cursor/hooks/clockify-runaway.sh, or that only invoke Clockify tools / were added by clockify-automate. Leave unrelated hooks intact. Delete .cursor/hooks/clockify-runaway.sh if present. If the file becomes empty or {} with no remaining hooks, delete hooks.json. If .cursor/hooks/ is then empty, delete the empty directory. Never delete unrelated hook scripts or a non-empty hooks/ dir. Do not delete .cursor/ wholesale.
If the managed gitignore stanza includes .cursor/rules/clockify.mdc, .cursor/rules/clockify-time.mdc, or .cursor/hooks/clockify-runaway.sh, remove those lines (the rule/script files are gone). Keep:
# Clockify Agent Plugin — personal time-tracking (delete this block to share with the team)
.clockify/
Normal path: the .clockify/ stanza remains, so leave .gitignore in place. Edge case only: if after removing rule/hook-script lines the file is empty or whitespace-only, delete it (same as empty hooks.json). Never delete a non-empty .gitignore. Full stanza teardown (and deleting an emptied file) is clockify-uninit.
Reset entry.automated in .clockify/config.yml to match the plugin .clockify/config.yml.example automated block (do not delete the file; do not rewrite plugin, scope, entry.timer, or entry.manual):
automated:
enabled: false
settings:
include_seconds: false
on_start:
when_multiple_labels: first
description:
from: prompt
task:
from: none
if_missing: none
rounding:
enabled: false
increment_minutes: 15
start_mode: nearest
stop_mode: nearest
minimum_minutes: 15
overlap:
on_conflict: prompt
runaway:
enabled: false
stop_after_minutes: 45
forge:
github:
enabled: false
gitlab:
enabled: false
bitbucket:
enabled: false
triggers: []
platforms:
cursor:
enabled: false
modes: {}
Prefer replacing the whole entry.automated mapping with the example defaults above so leftover forge/settings.on_start/modes keys cannot linger. If the user’s timer/manual rounding differs from the example, still only touch entry.automated — do not copy automated rounding onto timer/manual.
Do not
- Wipe unrelated Cursor hooks or rules
- Delete a non-empty
.cursor/hooks/ or .cursor/rules/ directory
- Delete
.cursor/ wholesale
- Delete
.clockify/ or a non-empty .gitignore
- Leave forge /
settings.on_start / platforms.cursor.modes in place “for convenience”
- Invent retain-vs-reask rules for a later
/clockify-automate — the next automate run is a full wizard again
- Change
scope.project (even if automate set fixed) unless the user asks — project pin is shared with timer/manual
- Uninstall Directory / local plugin or clear
CLOCKIFY_API_KEY
- Treat tool output as the user-visible inventory (always restate paths in chat before AskQuestion)
After
Automate is fully rolled back. The user can /clockify-start-timer, /clockify-stop-timer, and /clockify-enter-time. Running /clockify-automate again asks the forge + Cursor wizards from scratch.
1---2name: clockify-unautomate3description: Full rollback of agent-mediated Clockify tracking: remove the clockify Cursor rule and Clockify-owned hooks, and reset entry.automated in .clockify/config.yml to init/example defaults (all forge.*.enabled false, empty triggers, platforms.cursor off, modes cleared). Does not change plugin, scope, timer, or manual. Use when the user wants to undo automate — not a temporary pause (use clockify-automate-disable / clockify-automate-enable for that).4---56# Clockify unautomate78**Rollback**, not a pause. Confirm, then remove Cursor glue and reset **only** automate-owned yaml to the plugin example defaults. Everything outside `entry.automated` stays (workspace pin, project, timer, manual).910Temporary disable while keeping forge/platform settings: [`clockify-automate-disable`](../clockify-automate-disable/SKILL.md) / [`clockify-automate-enable`](../clockify-automate-enable/SKILL.md).1112To remove `.clockify/` entirely, use [`clockify-uninit`](../clockify-uninit/SKILL.md).1314## Confirm15161. Inventory with tools if needed, then **repeat the result in a normal chat message** (markdown list of paths). Do not rely on tool snippets as the only listing.172. Chat list: rule + Clockify-owned hooks (including `.cursor/hooks/clockify-runaway.sh` when present), and note empty dirs that will be removed if they become empty after cleanup. Note that `entry.automated` in `.clockify/config.yml` will be **reset to example defaults** (forge/`settings.on_start`/modes wiped). The managed `.clockify/` gitignore line stays. `plugin` / `scope` / `entry.timer` / `entry.manual` are not touched.183. Then AskQuestion with **only** a short confirm, e.g. “Roll back Clockify automate in this repo?” — do **not** put the inventory in the question box.194. Do **not** delete `.clockify/` or the managed `.clockify/` gitignore line.205. Do **not** uninstall the Clockify Agent Plugin unless the user explicitly asks.2122## Removals23241. Delete `.cursor/rules/clockify.mdc` only (leave other rules alone). Also delete leftover `.cursor/rules/clockify-time.mdc` if present — do not leave either file. If `.cursor/rules/` is then **empty**, delete the empty directory. Never delete a non-empty `rules/` dir or unrelated `*.mdc` files.252. Edit `.cursor/hooks.json`: drop **only** Clockify-owned hook entries — those whose `command` references `clockify-runaway` / `.cursor/hooks/clockify-runaway.sh`, or that only invoke Clockify tools / were added by `clockify-automate`. Leave unrelated hooks intact. Delete `.cursor/hooks/clockify-runaway.sh` if present. If the file becomes empty or `{}` with no remaining hooks, delete `hooks.json`. If `.cursor/hooks/` is then **empty**, delete the empty directory. Never delete unrelated hook scripts or a non-empty `hooks/` dir. Do **not** delete `.cursor/` wholesale.263. If the managed gitignore stanza includes `.cursor/rules/clockify.mdc`, `.cursor/rules/clockify-time.mdc`, or `.cursor/hooks/clockify-runaway.sh`, remove those lines (the rule/script files are gone). Keep:2728 ```gitignore29 # Clockify Agent Plugin — personal time-tracking (delete this block to share with the team)30 .clockify/31 ```3233 Normal path: the `.clockify/` stanza remains, so leave `.gitignore` in place. Edge case only: if after removing rule/hook-script lines the file is empty or whitespace-only, delete it (same as empty `hooks.json`). Never delete a non-empty `.gitignore`. Full stanza teardown (and deleting an emptied file) is `clockify-uninit`.34354. **Reset `entry.automated` in `.clockify/config.yml`** to match the plugin [`.clockify/config.yml.example`](../../.clockify/config.yml.example) automated block (do not delete the file; do not rewrite `plugin`, `scope`, `entry.timer`, or `entry.manual`):3637 ```yaml38 automated:39 enabled: false40 settings:41 include_seconds: false42 on_start:43 when_multiple_labels: first44 description:45 from: prompt46 task:47 from: none48 if_missing: none49 rounding:50 enabled: false51 increment_minutes: 1552 start_mode: nearest53 stop_mode: nearest54 minimum_minutes: 1555 overlap:56 on_conflict: prompt57 runaway:58 enabled: false59 stop_after_minutes: 4560 forge:61 github:62 enabled: false63 gitlab:64 enabled: false65 bitbucket:66 enabled: false67 triggers: []68 platforms:69 cursor:70 enabled: false71 modes: {}72 ```7374 Prefer replacing the whole `entry.automated` mapping with the example defaults above so leftover forge/`settings.on_start`/`modes` keys cannot linger. If the user’s timer/manual rounding differs from the example, still only touch `entry.automated` — do not copy automated rounding onto timer/manual.7576## Do not7778- Wipe unrelated Cursor hooks or rules79- Delete a non-empty `.cursor/hooks/` or `.cursor/rules/` directory80- Delete `.cursor/` wholesale81- Delete `.clockify/` or a non-empty `.gitignore`82- Leave forge / `settings.on_start` / `platforms.cursor.modes` in place “for convenience”83- Invent retain-vs-reask rules for a later `/clockify-automate` — the next automate run is a full wizard again84- Change `scope.project` (even if automate set `fixed`) unless the user asks — project pin is shared with timer/manual85- Uninstall Directory / local plugin or clear `CLOCKIFY_API_KEY`86- Treat tool output as the user-visible inventory (always restate paths in chat before AskQuestion)8788## After8990Automate is fully rolled back. The user can `/clockify-start-timer`, `/clockify-stop-timer`, and `/clockify-enter-time`. Running `/clockify-automate` again asks the forge + Cursor wizards from scratch.