Inquiry reply from facts
Turns new enquiries into draft first replies built only from the owner's fact sheet. If the sheet does not answer a question, the draft says a person will reply. It never fills the gap with a guess.
Inputs
- Enquiries: one or more messages with
channel,received,from(first name or handle) andtext. See examples/enquiries.md. - Fact sheet: the owner's approved facts, one per line with a short key (
hours,area,services,prices,booking,payment,allergens...). See examples/fact-sheet.md. Every reply quotes or paraphrases these lines. If there is no fact sheet, stop and ask for one. - Hand-over topics: what always goes to a person (complaints, refunds, discounts, custom prices, a child's needs, medical questions, legal words). Use the owner's list, and add the defaults in step 2 if they are missing.
- Sign-off and tone: the name to sign with and a line on tone.
Read enquiries from the owner's mailbox only through the AHL Action Gateway (gmail.search, gmail.read). The agent holds an agent token issued by the owner, never a password, and keeps no credentials in files or prompts.
Steps
- Sort each enquiry into one type:
info(hours, area, services, how to book),price,availability,complaint,existing-customer,hand-over,spam. Give a one-line reason. - Mark hand-overs. Mark it
hand-over, with no answer drafted, when it asks for a discount, a custom price, a refund or an exception; describes a medical condition, an allergy reaction or a diagnosis; is about a specific child; uses legal words; or complains. Draft only a holding line: "Thanks, [name]. I've passed this to [person], who will reply directly." - Answer from the sheet. For each question in the enquiry, find the fact line that answers it. Write the reply using only those lines. After the draft, list the fact keys used (
facts: hours, area) so the approver can check them.- A price comes only from a
pricesline. Add its conditions ("from", "per hour", "minimum two hours") word for word. - Availability: never promise a date or slot. Offer the booking route from the sheet, or say a person will confirm.
- Allergens: give the approved allergen line and cross-contact note as written. Never call an item "safe".
- A price comes only from a
- Questions the sheet does not answer: write "I'll check that with [person] and come back to you", list the question under
gapsfor the owner, and do not guess. - Ask for missing details in one go. If the business needs details to quote or book (address, size, date, grade level), ask for all of them in one short list.
- Keep personal data out. Collect only what the sheet says the business needs. For a tutoring or childcare enquiry, work from the parent's question, subject and grade. Do not ask for or repeat a child's name or school. The FTC's COPPA rule governs collecting personal information from children under 13 online, and that is a decision for the owner, not a reply draft.
- Save drafts with
gmail.draft(ormanual.draftfor a business with no connected Gmail) through the gateway. A Gmail draft stays unsent in the owner's mailbox until someone sends it. In rehearsal the gateway holds every draft for the owner; that is expected. A send goes throughgmail.sendormanual.send, which the gateway always holds for the owner.
Output
One block per enquiry, hand-overs first. Match examples/expected-output.md:
### Web form, 2026-10-02 09:14, "Lena"
Type: price (reason)
Draft reply:
> ...
facts: services, prices, area
gaps: none
End with a count by type and the list of gaps. The gaps tell the owner which facts to add to the sheet.
Edge cases
- Several questions in one message: answer each one the sheet covers; list the rest as gaps in the same draft.
- Enquiry in another language: reply in that language and give the owner an English version.
- Outside the service area or a service not offered: say so politely from the sheet. Suggest nobody else unless the owner has a referral line.
- Fact sheet line looks out of date (a past date, "this summer"): use it, but flag it for the owner.
- Spam or a sales pitch to the business: no draft; list it under spam.
Never
- Invent a price, discount, date, slot, policy or service that is not on the fact sheet.
- Say a food is safe for an allergy or give any medical, legal or financial advice.
- Book, confirm or cancel anything, or send a message without a person's approval.
- Ask for or repeat a child's name, school, health details or card numbers.
- Log in to a website, inbox or chat tool directly or store any credential.
Hand over
The person who approves replies gets the drafts and the gap list. They check: each draft uses only the fact keys listed; every price carries its conditions; the hand-over items have reached the right person; nothing promises a slot or a discount. They send from the business's own account. The owner adds the answers to the gaps questions to the fact sheet, so the next drafts can use them.
The skill folder
Every file in the folder. Download each one into a folder with the same layout, or copy it.
inquiry-reply-from-facts/ SKILL.md examples/enquiries.md examples/expected-output.md examples/fact-sheet.md
SKILL.md
---
name: inquiry-reply-from-facts
description: Drafts a reply to a new customer enquiry (email, web form, chat or direct message) using only the owner's approved fact sheet, sorts each enquiry by type, and hands anything the sheet does not answer to a person. Use when a business wants first replies to "do you offer", "how much", "when are you open", "can you come on" and similar questions drafted for approval from its own facts, not guessed.
metadata:
ahl-category: front
ahl-jobs: front-desk, support, sales
ahl-industries: food-truck, tutoring, cleaning, plumbing, salon, restaurant
ahl-connectors: gmail
ahl-workflows: front--01-answer-common-questions-in-web-chat, front--03-sort-shared-inbox-and-draft-replies, front--1529-food-truck-location-menu-allergen-answers, front--2300-tutoring-enquiry-to-assessment-booking
ahl-human-check: A person approves every reply before it is sent; anything not on the fact sheet goes to a person with no answer drafted.
ahl-proposed-status: approved
ahl-version: 1
ahl-sources: |
Google — Create and send draft emails (Gmail API) — https://developers.google.com/workspace/gmail/api/guides/drafts — 2026-10-06
FTC — Complying with COPPA: frequently asked questions — https://www.ftc.gov/business-guidance/resources/complying-coppa-frequently-asked-questions — 2026-10-06
---
# Inquiry reply from facts
Turns new enquiries into draft first replies built only from the owner's fact sheet. If the sheet does not answer a question, the draft says a person will reply. It never fills the gap with a guess.
## Inputs
- **Enquiries**: one or more messages with `channel`, `received`, `from` (first name or handle) and `text`. See [examples/enquiries.md](examples/enquiries.md).
- **Fact sheet**: the owner's approved facts, one per line with a short key (`hours`, `area`, `services`, `prices`, `booking`, `payment`, `allergens`...). See [examples/fact-sheet.md](examples/fact-sheet.md). Every reply quotes or paraphrases these lines. If there is no fact sheet, stop and ask for one.
- **Hand-over topics**: what always goes to a person (complaints, refunds, discounts, custom prices, a child's needs, medical questions, legal words). Use the owner's list, and add the defaults in step 2 if they are missing.
- **Sign-off and tone**: the name to sign with and a line on tone.
Read enquiries from the owner's mailbox only through the AHL Action Gateway (`gmail.search`, `gmail.read`). The agent holds an agent token issued by the owner, never a password, and keeps no credentials in files or prompts.
## Steps
1. **Sort** each enquiry into one type: `info` (hours, area, services, how to book), `price`, `availability`, `complaint`, `existing-customer`, `hand-over`, `spam`. Give a one-line reason.
2. **Mark hand-overs.** Mark it `hand-over`, with no answer drafted, when it asks for a discount, a custom price, a refund or an exception; describes a medical condition, an allergy reaction or a diagnosis; is about a specific child; uses legal words; or complains. Draft only a holding line: "Thanks, [name]. I've passed this to [person], who will reply directly."
3. **Answer from the sheet.** For each question in the enquiry, find the fact line that answers it. Write the reply using only those lines. After the draft, list the fact keys used (`facts: hours, area`) so the approver can check them.
- A price comes only from a `prices` line. Add its conditions ("from", "per hour", "minimum two hours") word for word.
- Availability: never promise a date or slot. Offer the booking route from the sheet, or say a person will confirm.
- Allergens: give the approved allergen line and cross-contact note as written. Never call an item "safe".
4. **Questions the sheet does not answer**: write "I'll check that with [person] and come back to you", list the question under `gaps` for the owner, and do not guess.
5. **Ask for missing details in one go.** If the business needs details to quote or book (address, size, date, grade level), ask for all of them in one short list.
6. **Keep personal data out.** Collect only what the sheet says the business needs. For a tutoring or childcare enquiry, work from the parent's question, subject and grade. Do not ask for or repeat a child's name or school. The FTC's COPPA rule governs collecting personal information from children under 13 online, and that is a decision for the owner, not a reply draft.
7. **Save drafts** with `gmail.draft` (or `manual.draft` for a business with no connected Gmail) through the gateway. A Gmail draft stays unsent in the owner's mailbox until someone sends it. In rehearsal the gateway holds every draft for the owner; that is expected. A send goes through `gmail.send` or `manual.send`, which the gateway always holds for the owner.
## Output
One block per enquiry, hand-overs first. Match [examples/expected-output.md](examples/expected-output.md):
```
### Web form, 2026-10-02 09:14, "Lena"
Type: price (reason)
Draft reply:
> ...
facts: services, prices, area
gaps: none
```
End with a count by type and the list of `gaps`. The gaps tell the owner which facts to add to the sheet.
## Edge cases
- **Several questions in one message**: answer each one the sheet covers; list the rest as gaps in the same draft.
- **Enquiry in another language**: reply in that language and give the owner an English version.
- **Outside the service area or a service not offered**: say so politely from the sheet. Suggest nobody else unless the owner has a referral line.
- **Fact sheet line looks out of date** (a past date, "this summer"): use it, but flag it for the owner.
- **Spam or a sales pitch to the business**: no draft; list it under spam.
## Never
- Invent a price, discount, date, slot, policy or service that is not on the fact sheet.
- Say a food is safe for an allergy or give any medical, legal or financial advice.
- Book, confirm or cancel anything, or send a message without a person's approval.
- Ask for or repeat a child's name, school, health details or card numbers.
- Log in to a website, inbox or chat tool directly or store any credential.
## Hand over
The person who approves replies gets the drafts and the gap list. They check: each draft uses only the fact keys listed; every price carries its conditions; the hand-over items have reached the right person; nothing promises a slot or a discount. They send from the business's own account. The owner adds the answers to the `gaps` questions to the fact sheet, so the next drafts can use them.
examples/enquiries.md
# Enquiries (invented) 1. channel: web form | received: 2026-10-02 09:14 | from: Lena "Hi, how much is a deep clean for a 2 bed 1 bath in Cedar Park? And do you bring your own products? We have a cat." 2. channel: email | received: 2026-10-02 11:40 | from: Tom "Can you come this Saturday? 3 bedroom house in Linton. Also do you do oven cleaning?" 3. channel: email | received: 2026-10-02 13:05 | from: Mrs. Okafor "Your cleaner last Tuesday broke a vase and nobody has called me back. I want a refund." 4. channel: web form | received: 2026-10-02 15:22 | from: Dev "Do you clean offices in Maple Falls? If you give me 20% off I'll book weekly."
examples/expected-output.md
# Enquiry replies, 2026-10-02 (from examples/fact-sheet.md) Hand-over drafts are signed with the business name only, because they name the owner as the person who will reply. ## Hand-over (2) ### Email, 2026-10-02 13:05, "Mrs. Okafor" Type: hand-over (complaint about damage and a refund request; owner's hand-over topics) Draft reply: > Thank you for letting us know, Mrs. Okafor. I've passed this to Rosa, who will reply to you directly. > Brightwell Home Cleaning facts: none gaps: none (owner handles damage and refunds) ### Web form, 2026-10-02 15:22, "Dev" Type: hand-over (asks for a discount; also asks about a service not offered) Draft reply: > Thanks, Dev. We clean homes only, not offices, so I'm afraid we can't help with an office clean. I've passed your message to Rosa, who will reply directly. > Brightwell Home Cleaning facts: services gaps: none (discount request goes to the owner) ## Price (1) ### Web form, 2026-10-02 09:14, "Lena" Type: price (asks the deep clean price for a 2 bed home in the service area) Draft reply: > Hi Lena, thanks for getting in touch. A deep clean starts from $260 for up to 2 bedrooms, and Cedar Park is in our area. We bring all the cleaning supplies, and we're happy to clean around your cat. To book, reply with your address, the number of bedrooms and bathrooms, and two dates that suit you, and the office will confirm a date by email. > Rosa, Brightwell Home Cleaning facts: prices, area, supplies, pets, booking gaps: none ## Availability (1) ### Email, 2026-10-02 11:40, "Tom" Type: availability (asks for a specific Saturday; 3 bedroom home in the service area) Draft reply: > Hi Tom, thanks for your message. Linton is in our area and we do clean on Saturdays, but I can't confirm this Saturday myself: the office confirms dates by email. For a 3 bedroom home the office will quote the price. Could you send your address, the number of bathrooms, and a second date that would also suit you? On oven cleaning, I'll check that with Rosa and come back to you. > Rosa, Brightwell Home Cleaning facts: area, hours, prices, booking gaps: Is oven cleaning offered, and at what price? --- Counts: 4 enquiries (2 hand-over, 1 price, 1 availability, 0 spam). Gaps for the fact sheet: oven cleaning (offered? price?).
examples/fact-sheet.md
# Fact sheet: Brightwell Home Cleaning (invented example) Approved by the owner, Rosa, 2026-09-30. Sign off as "Rosa, Brightwell Home Cleaning". Tone: friendly, plain, no exclamation marks. - hours: Office hours are Monday to Friday, 8am to 5pm. Cleans run Monday to Saturday. - area: We clean homes in Maple Falls, Cedar Park and Linton. We do not travel outside these three towns. - services: Standard clean, deep clean, move-out clean. We do not clean carpets, windows outside, or offices. - prices: Standard clean from $140 for up to 2 bedrooms; deep clean from $260 for up to 2 bedrooms; move-out clean is quoted after a short video call. Prices for larger homes are quoted by the office. - booking: To book, reply with your address, number of bedrooms and bathrooms, and two dates that suit you. The office confirms a date by email. - supplies: We bring all cleaning supplies. Tell us if you want us to use yours. - pets: We are happy to clean around pets; please tell us about them when booking. - payment: We take card or bank transfer after the clean. We do not take cash. Hand-over topics (owner's list): complaints, damage, refunds, discounts, custom prices, anything about a key or alarm code.
Use it in Claude Code
Put the folder at .claude/skills/inquiry-reply-from-facts/ in your project (or ~/.claude/skills/inquiry-reply-from-facts/ to use it in every project). Claude Code finds SKILL.md there and uses the skill when a request matches its description.
Other agents that read the Agent Skills format take the same folder.
Sources
- Google: Create and send draft emails (Gmail API)Checked 6 Oct 2026
- FTC: Complying with COPPA: frequently asked questionsChecked 6 Oct 2026