Availability Calendar
Set the hours you take bookings, with one-off blocks for holidays and busy days.
What it adds
An owner-facing editor for weekly working hours plus date-specific overrides and blocked dates.
What your agent is told to do
5
What your agent is told to do
5-
1
Model availability in two layers: a weekly pattern of open hours, and date-specific overrides that replace the pattern for a single day. Keep them separate rather than expanding the pattern into thousands of stored days.
-
2
Generate open slots lazily for the window actually being viewed, and cache the result. Slot generation is a function of the rules, existing bookings, and a bounded date range.
-
3
Store the owner's time zone on the schedule and interpret every entered hour and blocked date in that zone. Reuse the existing Time Zone-Aware Scheduling rather than converting by hand.
-
4
If the app already has a Recurring Schedule Builder, extend it for the weekly pattern instead of writing a second recurrence editor, and keep the override layer as the new work.
-
5
Do not silently cancel bookings when hours shrink. Show the owner exactly which existing bookings now fall outside availability and make them decide, since those bookings have already been promised to someone.
Edge cases it handles
8
Edge cases it handles
8- A date-specific override must win over the weekly default for that day, including an override that closes a normally open day and one that opens a normally closed one. Resolution order has to be explicit, not incidental.
- Hours that cross midnight, such as an evening block ending at one in the morning, belong to two calendar days. Split shifts within one day, like a morning and an afternoon block with a lunch gap, must be supported as separate ranges rather than one span.
- Shrinking hours can leave existing bookings outside the new window. Detect the conflicts, list them, and require an explicit choice; recomputing slots without checking silently orphans real appointments.
- Blocked dates are entered in the owner's zone. Interpreting them in the server's zone shifts a holiday block by hours and leaves part of the day bookable.
- Generating slots for every date into the far future is unbounded work. Cap generation to the configured booking horizon and produce slots only for the range being requested.
- An end time equal to or before the start time must be rejected at entry, not stored as a zero-length or negative window.
- A slot duration and buffer that do not divide the open window evenly leave a remainder. Decide whether the trailing partial slot is dropped or the window is extended, and be consistent.
- Changing the schedule's time zone reinterprets every rule. Warn the owner and show what the hours become before saving.
Definition of done
9
Definition of done
9- The owner sets weekly hours and date-specific overrides from one screen.
- Date-specific overrides take precedence over the weekly pattern in both directions.
- Midnight-crossing hours and split shifts are stored and rendered correctly.
- Reducing availability surfaces every conflicting booking and requires an explicit decision.
- Blocked dates apply to the owner's local day boundaries.
- Slot generation is bounded by the booking horizon and never runs unbounded for far-future dates.
- Invalid ranges are rejected at entry with a clear message.
- The feature matches the existing design system.
- No existing functionality is broken.
Related features
Content Reporting
Content Reporting
Let users flag content that needs a human to look at it.
What it does
A reporting flow that captures a reason, a snapshot of context, and enough signal for a moderator — without exposing the reporter.
How it works
- 1 Add a report action to every user-generated surface: posts, comments, profiles, files, messages. Offer a short list of concrete reasons plus an optional free-text field.
- 2 Capture the context a moderator needs at the moment of reporting — the content ID, its current body, the author, and a timestamp — so the review is not dependent on the content still existing.
- 3 Give the reporter an immediate self-serve action alongside the report: hide this item, mute this author, or both. A report that takes hours to review leaves the user staring at the thing they reported.
Copy the prompt
No account needed
Add this feature to my app:
https://addthisfeature.com/x/content-reporting
Scheduled Job Monitor
Scheduled Job Monitor
Find out a nightly task stopped running before your users do.
What it does
A record of every recurring schedule, the runs it was expected to make, and alerts when a run is missed or late.
How it works
- 1 Register every recurring task with its schedule expression, its time zone, and an expected maximum duration. A schedule that is not registered cannot be monitored.
- 2 Record the start and the completion of each run separately. A task that started and never finished is a different failure from one that never started, and they need different alerts.
- 3 Compute the expected run times forward from the schedule and compare them against actual starts. Alert on a missed run, and alert separately when a run starts on time but overruns its expected duration.
Copy the prompt
No account needed
Add this feature to my app:
https://addthisfeature.com/x/scheduled-job-monitor
Notification Delivery Failures
Notification Delivery Failures
Know when a message failed to arrive and stop sending to addresses that cannot receive it.
What it does
Bounce and complaint handling with a suppression list, plus telling the affected user their address is failing.
How it works
- 1 Consume the delivery provider's webhooks for bounces, complaints, and deferrals, verify their signatures, and deduplicate repeated events by provider event ID.
- 2 Separate hard bounces and spam complaints, which suppress the address permanently, from transient failures, which retry with backoff and only suppress after a threshold.
- 3 Keep the suppression list per channel and per address, and check it before every send. Extend the existing notification preference model with delivery health rather than building a second gate beside it.
Copy the prompt
No account needed
Add this feature to my app:
https://addthisfeature.com/x/notification-delivery-failures
How it works
-
1
Copy the link
Grab the Markdown instruction URL for this feature.
-
2
Give it to your AI
Paste it into Claude Code, Cursor, v0, Lovable — whatever you build with.
-
3
It inspects, then implements
Your agent reads your existing app first, then adds the feature to fit it.
Works with your stack
These instructions are written to adapt. They tell the agent to detect your framework, match your existing design system, and reuse what you already have — rather than assuming a particular stack.
Need it tighter than that? Customize the feature and tell it exactly what you're running.