Ask and chat
Ask agent-qa to do things in plain words, one request at a time or in a conversation.
agent-qa takes requests in plain words. agent-qa ask handles one request and exits. agent-qa chat keeps a conversation going. Both reach the same functions as the CLI and the MCP tools, so anything they do shows up in your runs and files like any other change.
Ask
npx agent-qa ask "run tests/examples/komazon-checkout.yaml"
npx agent-qa ask status
npx agent-qa ask 'write a test that adds two mugs to the bag and checks the total is $53.00'ask prints the session and turn it used, a receipt for each thing it did, and an answer. It exits 1 when nothing could run or a part of the request failed. Add --session <id> to continue a conversation.
Chat
npx agent-qa chatChat opens a conversation and suggests a few things to try. Type requests in plain words, or use the shortcuts:
| Input | What it does |
|---|---|
run <test> | Runs a test. |
status | Lists recent runs. |
test <n> | Shows a test. |
digest <runId> | Shows a run's digest. |
/fn <function> [json] | Calls any function directly, such as /fn runs.list. |
/model <name> | Switches to another model entry from registry.llms for this conversation. |
/help | Lists what chat can do. |
/quit | Ends the conversation. |
Sessions
Each conversation is saved under .agent-qa/sessions/.
npx agent-qa chat --list
npx agent-qa chat --continue
npx agent-qa chat --session <id>--continue reopens the most recent conversation, and --session reopens a named one.
What it can do
- Write and edit tests, with the same checks as
agent_qa_write_test. - Run tests and read runs, digests and evidence.
- Mark verdicts.
- Accept, reject or forget knowledge records, and manage quarantine.
- Add targets and hooks, and change config fields.
- Answer questions about what agent-qa can do.
npx agent-qa fn --list shows every function behind it.
Things to know
- Requests apply immediately. There is no confirmation step, so a request to change config or forget a record does it at once. Review the result with
git diff. - It uses your model. Free-form requests go through
use.llm. Without a working model, only the shortcuts above work. - One request can do several things. Each gets its own receipt, so you can see exactly what ran.