Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add akiotanaka847/qaio-desktop --skill draft-a-replygit clone --depth 1 https://github.com/akiotanaka847/qaio-desktopWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/akiotanaka847/qaio-desktop/draft-a-reply)<a href="https://agentmods.dev/skills/akiotanaka847/qaio-desktop/draft-a-reply"><img src="https://agentmods.dev/badge/skills/akiotanaka847/qaio-desktop/draft-a-reply/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/akiotanaka847/qaio-desktop/draft-a-reply"><img src="https://agentmods.dev/badge/skills/akiotanaka847/qaio-desktop/draft-a-reply.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00069 | $0.01149 |
| Opus 5 | $0.00034 | $0.00575 |
| Sonnet 5 | $0.00014 | $0.00230 |
| Haiku 4.5 | $0.00007 | $0.00115 |
Grade A, and why
draft-a-reply scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 67 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Draft a Reply
When to use
- You say "draft a reply for {conversation id}" or "draft my response."
check-my-inboxsurfaced thread in morning brief, you clicked in.- Triaged conversation has status
open/waiting_founder, nodraft.mdyet. - Never called to send - this skill drafts only.
Connections I need
I run external work through Composio. Before this skill runs I check that the categories below are linked. Missing → I name the category, ask you to connect it from the Integrations tab, stop.
- Inbox (Gmail / Outlook) - pull the live thread and sample your sent replies for tone. Required.
- CRM (HubSpot / Attio / Salesforce) - pull plan, owner, account record for the dossier I read before drafting. Optional if
customers.jsonis already populated. - Billing (Stripe) - pull monthly revenue for billing-flavored replies. Optional.
If your inbox isn't connected I stop and ask you to connect Gmail or Outlook first.
Information I need
I read your support context first. For every required field that's missing I ask ONE plain-language question (best modality: connected app > file drop > URL > paste) and wait.
- Support context doc - Required. Why I need it: product surface, routing rules, response-time tiers, forbidden phrases all live there. If missing I ask: "Want me to walk you through setting up your support context first? It's a quick interview."
- Voice samples - Required. Why I need it: drafts in the wrong voice get rewritten anyway. If missing I ask: "Want me to pull 10 to 20 of your recent replies to learn your tone, or can you paste 3 to 5 examples?"
- The thread itself - Required. Why I need it: I draft against the actual customer message, not a paraphrase. If missing I ask: "Which conversation should I draft for - share the customer's name or the latest email?"
Steps
- Read
context/support-context.md. If missing/empty, stop and tell me runset-up-my-support-infofirst. - Load thread from
conversations/{id}/thread.json. Identify latest customer message - draft respond to that. - Chain
look-up-a-customer view=dossierfor customer on thread. Pull: plan, monthly revenue, open bug-candidates, open followups (fromfollowups.json), anychurn-flags.jsonentry, last 3 conversations from history. - Sample voice. Read
config/voice.md. If missing or sampleCount < 5, runcalibrate-my-voicefirst. Mirror tone cues: greeting, sign-off, sentence length, whether I use customer's first name. No "I apologize for the inconvenience." No corporate hedging. - Draft reply. Match ask:
- Bug - acknowledge, confirm repro if possible, state next step. Never promise fix date I haven't approved - say "I'll get back to you with a timeline."
- How-to - answer crisp, link KB article if one exists at
articles/{slug}.md(check before linking). - Billing - state facts, propose action (refund / credit / plan change). Escalate to me before committing.
- Churn language - tight, honest, no guilt. Offer genuine option; never promise what not policy in
context/support-context.md.
- Append dossier snippet to
conversations/{id}/notes.md(plan, monthly revenue, open bugs, churn status) so I have context when approving. - Write
conversations/{id}/draft.mdatomically. Updateconversations.jsonentry: status =waiting_founder, refreshupdatedAt. - Append to
outputs.jsonwithtype: "reply-draft",domain: "inbox", title = "Reply to {customer} re {subject}", summary = opening line, path. - Chain
track-my-promises. If draft contains commitment ("I'll check with engineering by Friday", "I'll ship next week"), runtrack-my-promisesso due date lands infollowups.json.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 67 lines · 69 tokens per session scan A d70fcfae14ab
draft-a-reply is a skill published in the GitHub repository akiotanaka847/qaio-desktop (2 stars, last pushed 8d ago), licensed MIT. It adds 69 tokens to every session and 1,149 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-05.
Other skills, from other repositories
inbox-zero
Scan your support inbox and batch-process tickets with quick actions (reply, tag, assign, close).
ticket-summarize
Summarize a support ticket thread into key points and action items.
weekly-digest
Generate a weekly support digest and post it to Slack.
zoho-desk-triage
Pull open tickets from Zoho Desk and triage by priority and department.
Escalation Handler
Handle escalated support issues with structured triage, communication, and resolution processes.
Support Responder
Expert customer support specialist delivering exceptional customer service, issue resolution, and user experience optimization. Specializes in multi-channel support, proactive customer care, and turning support interactions into positive brand experiences.