@@ -19,6 +19,8 @@ Sometimes AI finishes tasks too quickly, declaring "done" before thoroughly expl
1919- 🔄 ** Persistent timer** - Survives across messages
2020- 📊 ** Status checking** - Always knows remaining time
2121- 💪 ** Strong behavioral prompts** - Reinforces workaholic mindset
22+ - 🔐 ** Checkout system** - AI must call checkout to officially end (only works at timer = 0)
23+ - 🎲 ** Random prompt rotation** - 6 different prompt styles prevent AI from adapting
2224
2325## Usage
2426
@@ -40,18 +42,22 @@ Use workaholic.start with minutes=30
4042Call workaholic.status to see remaining time
4143```
4244
43- ### Stop Early (if needed )
45+ ### End Task (Checkout )
4446
4547```
46- Call workaholic.stop to end workaholic mode
48+ Call workaholic.checkout to officially end the task
49+ - Only works when timer = 0
50+ - If time remains, checkout will be rejected
4751```
4852
4953## How It Works
5054
51551 . ** Timer starts** when you invoke ` /workaholic ` in OpenCode
52562 . ** Every response** - AI automatically checks remaining time via system prompt injection
53573 . ** Sleep forbidden** - Any attempt to use ` sleep ` throws an error
54- 4 . ** Only ends when** - Timer shows 0 remaining seconds
58+ 4 . ** End detection** - If AI says "done", a warning is appended forcing continuation
59+ 5 . ** Checkout required** - AI must call ` workaholic.checkout ` to officially end
60+ 6 . ** Only ends when** - Timer shows 0 remaining seconds AND checkout is called
5561
5662### Custom Tools
5763
@@ -60,6 +66,7 @@ Call workaholic.stop to end workaholic mode
6066| ------------------- | ------------------------------------------------------------------ |
6167| ` workaholic.start ` | Start timer with duration in minutes (supports decimals: 2.5, 3.5) |
6268| ` workaholic.status ` | Check remaining time |
69+ | ` workaholic.checkout ` | End task - only succeeds when timer = 0 |
6370| ` workaholic.stop ` | Stop workaholic mode early |
6471
6572
0 commit comments