AI Email Drafting
Draft an email from the record on screen, the intended outcome, and a chosen tone.
What it adds
A drafting step in the app's existing compose flow that turns a record, a stated goal, and a tone selection into an editable message.
What your agent is told to do
5
What your agent is told to do
5-
1
Hook this into the compose surfaces the app already has rather than adding a separate writing screen. The draft must land in the same editor the user would otherwise have typed into, with the same validation and sending path.
-
2
Build the context sent to the model from an explicit allow-list of fields on the record the sender can already see. Do not pass the whole record or the whole thread on the assumption that more context produces a better draft.
-
3
Always deliver the result as an unsent draft. Do not send, schedule, or queue a message from this feature under any circumstances, and keep the send action exactly where it was before.
-
4
Constrain the model to the facts supplied. Dates, prices, commitments, links, and attachment references must come from the record; anything not supplied must be left as an obvious placeholder for the sender to fill.
-
5
Short in-thread responses belong to AI Reply Suggestions; this feature owns composing a new message from a record. Where both are present, keep one shared tone vocabulary and one shared context allow-list rather than two that drift apart.
Edge cases it handles
8
Edge cases it handles
8- The sender may see internal notes the recipient must never receive. Exclude private notes, internal comments, and staff-only fields from the context by default, and require an explicit setting to include anything of that kind.
- A model asked to write persuasively will invent a delivery date, a discount, or an attachment that does not exist. Treat any specific number, date, or promise not present in the supplied context as a defect, not a stylistic choice.
- Recipient names, roles, and pronouns must come from the record rather than from the model's reading of the thread, and a recipient whose name is unknown must be addressed neutrally rather than guessed at.
- The draft must never be applied over text the user has already typed. Offer it alongside, or require an explicit accept, so an in-progress message is not destroyed.
- Confidential context that reached the draft once must not linger in a stored prompt or a debug log where it can be read later by someone without access to the underlying record.
- A refusal, a timeout, or a truncated response must leave the compose window usable with a plain error, not a half-finished sentence that the user sends without noticing.
- Repeated regeneration is the main cost risk. Cap generations per message and per account per period, and tell the user when they have hit the cap.
- When the model is unavailable, the compose flow must work exactly as it did before the feature existed, with the drafting control disabled and explained.
Definition of done
9
Definition of done
9- Drafting produces an editable message inside the existing compose flow and never sends or schedules anything.
- Context is assembled from a documented allow-list of fields the sender already has access to.
- Internal notes and staff-only fields are excluded from what is sent to the provider.
- Dates, prices, commitments, and attachment references appear only when present in the supplied context.
- Text the user has already typed is never overwritten without an explicit accept.
- Generation is capped per message and per account, with the limit surfaced to the user.
- With the model unavailable, composing and sending work unchanged.
- The feature matches the existing design system.
- No existing functionality is broken.
Related features
AI Translation
AI Translation
Translate app content while preserving structure, placeholders, and product terminology.
What it does
A translation pipeline over the app's translatable content that keeps source and target linked, protects non-translatable tokens, and routes uncertain output to review.
How it works
- 1 Identify what is genuinely translatable and separate it from what is not. Extract placeholders, markup, URLs, identifiers, code, and proper names into protected tokens before generation and restore them afterwards.
- 2 Store every translation with a reference to the exact source version it came from. When the source changes, mark the translation stale and queue it for retranslation rather than leaving a silently outdated string in place.
- 3 Hold a per-language glossary of product terms and their approved renderings, and apply it to every request. A term that translates three ways across the app is worse than leaving it in the source language.
Copy the prompt
No account needed
Add this feature to my app:
https://addthisfeature.com/x/ai-translation
AI Changelog Drafting
AI Changelog Drafting
Turn merged work into a changelog draft written for customers, not for engineers.
What it does
A grouped, customer-facing changelog draft generated from merged work items or release notes for a nominated release, held for review before publishing.
How it works
- 1 Take the set of work items belonging to one nominated release as input, and require each item to carry a shipped marker before it is eligible. Unreleased and reverted work must be excluded at the input stage, not filtered out of the prose afterwards.
- 2 Rewrite each item as the outcome a customer notices rather than the change that was made, and keep a link from every drafted line back to the underlying item so a reviewer can check it.
- 3 Group related items under headings the reader would recognise, and keep fixes as their own visible section rather than absorbing them into a feature summary.
Copy the prompt
No account needed
Add this feature to my app:
https://addthisfeature.com/x/ai-changelog-drafting
AI Image Alt Text
AI Image Alt Text
Draft alternative text for uploaded images so screen readers get something useful.
What it does
A suggested alt attribute offered at upload time, editable and confirmable before the image is used.
How it works
- 1 Find every place the app accepts an image and currently stores an empty or absent alt attribute, and offer a suggestion at that point rather than in a separate cleanup screen.
- 2 Ask first whether the image is decorative. A decorative image takes empty alt text, and forcing a description onto it makes the page worse for the people the feature is meant to serve.
- 3 Pass the surrounding context — the page heading, the nearby caption, the purpose of the field — so the suggestion describes the image's role, not just its contents. Do not repeat an existing caption verbatim; a screen reader user would then hear the same sentence twice.
Copy the prompt
No account needed
Add this feature to my app:
https://addthisfeature.com/x/ai-image-alt-text
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.