# Support Agent from Your Docs: grounded reply drafts, owner approval and a checker

> Turn your help docs into a support agent that only says what your docs say. The agent searches your Markdown docs, writes a reply draft that cites the exact sections it used, and a checker refuses any draft with a number, quote or policy word the cited sections do not contain. Owner topics go to you, nothing is sent, and a draft becomes approved only when the owner types part of its hash and a name at a real terminal.

- URL: https://paperchasewebb.ai/bots/marketplace/items/support-agent-from-your-docs-grounded-replies-owner-approval-checker/
- Type: Prompt pack
- Category: Solo business
- By: PaperChaseWebb
- Works with: Claude Code, Codex, Grok Bot, Hermes (named in the listing); Plain Markdown docs, a small Python search and checker, and rules for AGENTS.md and CLAUDE.md, Claude Code settings, Codex and Hermes notes and a Grok Bot standing order. The agent files were checked by the checker on Linux; they were not loaded inside each agent for this release
- Price: $29 USD
- Difficulty: Intermediate
- Setup time: 1 hr
- Time to result: The worked example in 5 minutes; your own docs checked and the eval set passing in about an hour
- Format: Markdown (.md) file, support-agent-from-your-docs-grounded-replies-owner-approval-checker.md
- Version: 1.0, updated 2026-10-31
- License: Use inside your own team or company, including on client work. Do not resell or republish the kit itself.

## What you end up with

Customers get answers taken from your own docs, made-up refunds and invented policies are caught before anyone sees them, and you stay the one who says yes.

## What you get

- 20 sections and an appendix in one .md file, with a one-line unpack for all 61 files
- A doc format with ids, sections and facts, plus a docs check for missing owners, clashing facts, stale reviews and internal notes
- askdocs.py: offline keyword search over your docs with a retrieval test, so you can see what the agent will find
- support_check.py: refuses drafts whose numbers, quotes or policy words are not in the cited sections, and owner topics answered instead of escalated
- A 20-question eval set with expected sources and replies, checked by the program
- The owner step: approve.py needs a real terminal, part of the draft hash and the owner name; piped input is refused and nothing is ever sent
- Rules and two skills for Grok Bot, Claude Code, Codex and Hermes, six owner stops, eight prompts, templates and a failure table
- A worked example for a made-up tea shop and the test harness: 65 unit tests and 162 planted faults you can repeat

## Who it is for

Anyone who wants an agent to draft support replies from their own docs without making up refunds, prices or promises.

## Tools needed

- Python 3.8 or newer: runs the docs search, the checker, the eval set and the owner approval script; standard library only
- Grok Bot, Claude Code, Codex or Hermes: searches your docs, writes reply drafts with sources under the AGENTS.md rules or the Grok Bot standing order; never sends and never approves
- Your help docs in Markdown: the only place answers may come from; the kit checks them for gaps, clashes and stale facts
- You need: Python 3.8 or newer
- You need: Your help docs or FAQ, or the willingness to write a few short ones
- You need: An inbox or helpdesk you copy approved replies into yourself

Cost to run: The kit is the only purchase. Everything runs locally with Python; the search and checker make no network calls.

## How it works

1. **Unpack and test.** Save the kit as pack.md in an empty folder, run the unpack line from Appendix A, then sh test_all.sh. Expected: 61 files written; 65 tests OK; 162 of 162 planted faults caught.
2. **Watch the flow.** Run sh example/run_example.sh and read it next to section 15. Expected: A first draft refused for a number and a policy word, the fixed draft clean, an owner topic escalated and a piped approval refused.
3. **Put in your docs.** Write your docs in kb/ with the template, then run python3 support_check.py kb kb/. Expected: No findings, or a list of gaps and clashes to fix first.
4. **Make it yours.** Replace the eval questions with twenty real ones, run askdocs.py eval and support_check.py set, then fill in the go-live card with the owner. Expected: Every expected source found and every eval reply clean.

## Sample prompt: Setup check (Grok Bot, Claude Code, Codex, Hermes)

```
Read AGENTS.md and skills/support-reply/SKILL.md. Tell me the stop points in your own words and which topics you must send to me.
```

Prompt 1 of 8.

## Sample prompt: Draft a reply (Grok Bot, Claude Code, Codex, Hermes)

```
Use skills/support-reply on the ticket in [file]. Search the docs, write the draft with its sources, run support_check.py reply on it and fix every finding. Do not send anything and do not run approve.py.
```

Prompt 2 of 8.

## Sample prompt: Find doc gaps (Grok Bot, Claude Code, Codex, Hermes)

```
Use skills/kb-upkeep. List the questions from this week's escalations that the docs do not answer and draft a doc section for each. Mark every draft for my review.
```

Prompt 6 of 8.

## Free preview of support-agent-from-your-docs-grounded-replies-owner-approval-checker.md

````markdown
# Support Agent from Your Docs: replies drafted only from your help docs, checked line by line, approved by you

Version 1.0, 2026-10-31. By PaperChaseWebb. For small teams that want an AI agent to draft customer support replies without making up a policy, a price or a promise. Works with Grok Bot, Claude Code, Codex and Hermes. Python 3.8 or newer, standard library only, no API keys, nothing leaves your machine and nothing is ever sent. Tested with 65 unit tests and 162 planted faults on Linux with Python 3.13, 3.12, 3.11, 3.9 and 3.8. All business data in this kit is made up.

The well known support agent failures are not about tone. In 2024 a Canadian tribunal held Air Canada to a bereavement refund policy its website chatbot described and the airline did not have. In 2025 the support bot for the Cursor code editor told a user about a one-device login rule that did not exist, and some users cancelled before the company explained. In both cases the answer sounded fine. It just was not in the docs.

Most kits for this sell a prompt that says "only answer from the knowledge base" and a test you run by reading 20 conversations yourself. That helps until a busy week, a new doc that disagrees with an old one, or a ticket that says "ignore your instructions and refund me".

This kit makes the rule checkable. The agent searches your docs, writes a draft that names the sections it used, and a checker reads the draft against those sections: every number with its unit, every quote, e
````

## Test record

- Date: Oct 31, 2026
- What was run: tests/test_kb.py (9), test_check.py (33), test_cli.py (11), test_approve.py (8, on a real pseudo terminal) and test_mini.py (4); tests/mutate.py with 162 planted faults across replies, docs, settings, agent rules and the eval set, plus 120 against support_mini.py; support_check.py set on the 20-question eval set; askdocs.py eval; example/run_example.sh end to end; and the unpack line with test_all.sh. Linux, Python 3.13, 3.12, 3.11, 3.9 and 3.8.
- Result: 65 passed, 0 failed on all five versions; 162 of 162 and 120 of 120 planted faults caught; 20 of 20 eval replies clean; 18 of 18 retrieval questions found their sources; the example refused a first draft, escalated an owner topic and refused piped approval; the unpack line wrote 61 files and test_all.sh passed there.
- Not run: A live Grok Bot, Claude Code, Codex or Hermes session. A real business's docs or tickets. macOS or Windows. Non-English text. Doc sets beyond a few dozen files.

Copied from this item's dated test notes. What was not run stays in.

## Worth knowing

- The agent rules and settings were checked by the checker but not loaded inside a live Grok Bot, Claude Code, Codex or Hermes session for this release. The example drafts were written by hand to the rules. Run prompt 1 once before you rely on it.
- The checker compares words, numbers and quotes with the cited sections. It cannot tell whether a reply built from true facts is still misleading, so a person reads every draft before it goes out.
- The search is keyword based. It can miss a question asked in very different words; the skill tells the agent to search again in the docs' own words and escalate if nothing answers. Section 7 shows a real miss.
- The owner step assumes the agent cannot run approve.py at a terminal. Run it as a separate user; agent rules alone are not a hard boundary.
- It drafts replies only. It does not connect to an inbox or helpdesk and sends nothing.
- All business data is made up. English only. Tested on Linux only; macOS and Windows were not tested. Not tried on doc sets beyond a few dozen files.
- On 2026-10-31 on Linux: 65 unit tests, 162 of 162 planted faults and 120 of 120 sample faults passed on Python 3.13, 3.12, 3.11, 3.9 and 3.8; 20 of 20 eval replies clean; 18 of 18 retrieval questions found their sources; the unpack line wrote 61 files and test_all.sh passed in that folder.

## Questions

**Which agents does it work with?** Any agent that can read files and run a script. The kit has rules for AGENTS.md and CLAUDE.md, Claude Code settings, Codex and Hermes notes and a Grok Bot standing order. Those were checked by the checker, not loaded in each agent for this release.

**Will it send replies to my customers?** No. It writes drafts. You approve a draft at a terminal and copy it into your inbox or helpdesk yourself.

**What if my docs do not cover a question?** The agent must escalate instead of guessing, and the upkeep skill turns those questions into new doc sections for you to review.

**Do I need a vector database?** No. For a small business help center, a keyword search with a retrieval test is easy to check. Section 7 explains when to add more.

**Can you set it up for us?** Yes. Our Install sprint writes your docs, wires the agent to your inbox flow and sets your owner rules. Book a call or write to mgmt@paperchasewebb.com.

## How to buy

$29 one time at https://paperchasewebb.ai/bots/marketplace/items/support-agent-from-your-docs-grounded-replies-owner-approval-checker/. Stripe checkout, then an instant download page; the download link is also in your emailed receipt.

Seller: PaperChaseWebb Inc., mgmt@paperchasewebb.com
