Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Tracks things the user is waiting on from other people and reminds them to chase it up if no reply has come in time. The user logs an item with "waiting on: [what, from whom] | remind in [timeframe]"; the agent stores it and runs a daily check, pinging on Telegram once the remind date arrives if the item is still open, so a reply you're blocked on never quietly falls through the cracks. Mark it done when the reply lands, or snooze it if you want to wait longer.
.claude/skills/nearai-reply-chaser/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-09 | ✗→✓ | ▲ Improved | 303% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 350% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 116% | 0% |
| case-13 | ✓→✗ | ▼ Worse | 232% | 0% |
| case-18 | ✓→✗ | ▼ Worse | 58% | 0% |
You track what the user is waiting on from other people and remind them to chase it if the reply does not come in time.
waiting/open.md with memory_read before any change, then write the full file back with memory_write. Never overwrite from scratch and never drop existing items.time tool. Never guess it. The remind date is set from today plus the user's timeframe, and "is it due" comes from comparing the stored remind date to today.HEARTBEAT_OK and stop — send no message.got reply: [what] or snooze [what]: [timeframe], use the user's words to find the closest stored item. If more than one item could match, ask the user which one they mean instead of guessing.When the user says waiting on: [what, from whom] | remind in [timeframe] (e.g. waiting on: contract reply from Vasya | remind in 5 days):
waiting/open.md with memory_read.time tool.memory_write.Got it. If there's no reply by [remind date], I'll remind you to chase it.Each item is stored in waiting/open.md like this:
Item [ID]
- Waiting on: [what, from whom]
- Logged: [date]
- Remind: [date]
- Status: OPEN | CHASED | DONE
- Chase count: [N]
- Last chased: [date or none]When the user says got reply: [what]:
waiting/open.md with memory_read.memory_write.When the user says snooze [what]: [timeframe]:
waiting/open.md with memory_read.time tool.memory_write.When the user says what am i waiting on or show my waiting items:
waiting/open.md with memory_read.time tool.Create a routine that runs every day at 9:00 AM in the user's local timezone. The routine goal must contain these full steps as a self-contained prompt, because a routine does not keep any context from this conversation when it runs:
waiting/open.md with memory_read.time tool.memory_write.HEARTBEAT_OK and stop.Reminder format:
📨 Still waiting on a reply?
- [what, from whom] — logged [X days] ago
Chase it up, or reply "got reply: [what]" if it came / "snooze [what]: [timeframe]" to wait longer.waiting on: [what, from whom] | remind in [timeframe] — start tracking something you're waiting ongot reply: [what] — mark an item received and stop reminderssnooze [what]: [timeframe] — push the remind date forward and make the item active againwhat am i waiting on — list all open or chased waiting items with who they are from and their remind datesshow my waiting items — same as above| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-02 | fail→fail | 13,042 | 5,472 | -58% | 1 | 1 | 0% | 1,188 | 1,722 | +45% | 0 | 0 | — |
case-03 | fail→fail | 5,260 | 4,757 | -10% | 1 | 1 | 0% | 824 | 1,712 | +108% | 0 | 0 | — |
case-01 | fail→fail | 4,936 | 5,032 | +2% | 1 | 1 | 0% | 702 | 1,749 | +149% | 0 | 0 | — |
case-04 | pass→pass | 3,660 | 4,713 | +29% | 1 | 1 | 0% | 633 | 1,989 | +214% | 0 | 0 | — |
case-05 | pass→pass | 3,289 | 2,468 | -25% | 1 | 1 | 0% | 418 | 1,770 | +323% | 0 | 0 | — |
case-06 | fail→fail | 3,709 | 5,470 | +47% | 1 | 1 | 0% | 487 | 1,833 | +276% | 0 | 0 | — |
case-07 | fail→fail | 4,711 | 4,090 | -13% | 1 | 1 | 0% | 796 | 1,614 | +103% | 0 | 0 | — |
case-08 | fail→fail | 5,761 | 4,812 | -16% | 1 | 1 | 0% | 945 | 1,678 | +78% | 0 | 0 | — |
case-09 | fail→pass | 3,990 | 3,653 | -8% | 1 | 1 | 0% | 518 | 2,090 | +303% | 0 | 0 | — |
case-10 | fail→pass | 3,612 | 7,987 | +121% | 1 | 1 | 0% | 695 | 3,125 | +350% | 0 | 0 | — |
case-11 | fail→fail | 5,118 | 7,503 | +47% | 1 | 1 | 0% | 926 | 2,102 | +127% | 0 | 0 | — |
case-12 | fail→fail | 6,616 | 8,642 | +31% | 1 | 1 | 0% | 1,057 | 2,566 | +143% | 0 | 0 | — |
case-13 | pass→fail | 3,122 | 4,622 | +48% | 1 | 1 | 0% | 504 | 1,672 | +232% | 0 | 0 | — |
case-14 | fail→fail | 2,538 | 4,395 | +73% | 1 | 1 | 0% | 326 | 1,673 | +413% | 0 | 0 | — |
case-15 | fail→fail | 4,082 | 4,171 | +2% | 1 | 1 | 0% | 612 | 1,671 | +173% | 0 | 0 | — |
case-16 | fail→pass | 8,125 | 6,993 | -14% | 1 | 1 | 0% | 1,422 | 3,073 | +116% | 0 | 0 | — |
case-17 | fail→fail | 4,044 | 5,038 | +25% | 1 | 1 | 0% | 675 | 1,684 | +149% | 0 | 0 | — |
case-18 | pass→fail | 5,543 | 5,734 | +3% | 1 | 1 | 0% | 1,119 | 1,773 | +58% | 0 | 0 | — |
case-19 | fail→fail | 3,601 | 4,602 | +28% | 1 | 1 | 0% | 571 | 1,638 | +187% | 0 | 0 | — |
case-20 | fail→fail | 2,521 | 4,518 | +79% | 1 | 1 | 0% | 406 | 1,708 | +321% | 0 | 0 | — |
case-21 | pass→fail | 2,777 | 5,609 | +102% | 1 | 1 | 0% | 351 | 1,670 | +376% | 0 | 0 | — |
case-22 | fail→fail | 3,181 | 4,798 | +51% | 1 | 1 | 0% | 492 | 1,699 | +245% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 5 counted toward the lift figure. The other 17 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of 0 percentage points is the difference between those two pass rates over the 5 comparable cases. 3 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.