Agent QA Authoring
Overview
Author Agent QA tests, suites, and hooks without inventing schema fields or identifiers. Prefer Agent QA's MCP tools, use the bundled contract reference for exact fields, and validate every definition before saving or running it.
When to Use
- Creating or editing an Agent QA test, suite, or hook.
- Validating Agent QA YAML or canonical IDs.
- Running a newly authored Agent QA definition through MCP or CLI.
- Investigating which Agent QA configuration fields or workspace patterns apply.
Preconditions and Approval Boundary
- Work only in a configured Agent QA workspace that the user has authorized.
- Inspect the requested scope before any create, update, delete, or test-run operation.
- Obtain explicit confirmation before deleting a definition or running a test that can change external application state.
- Keep credentials out of definitions and output; use the workspace's configured secret handling.
Workflow
- Discover the local surface with
agent_qa_discover. - Inspect active config with
agent_qa_get_config, especially targets, devices, providers, andservices.mcp. - Load
references/agent-qa-contracts.jsonwhen exact schema fields or ID contracts are needed. - Generate every new ID with Agent QA tooling:
- MCP:
agent_qa_generate_id - CLI fallback:
agent-qa ids generate <test|suite|hook|run|observation> - Package fallback:
npx --yes agent-qa ids generate <type>
- MCP:
- Never hand-write IDs. Validate existing IDs with
agent_qa_validate_idoragent-qa ids validate <type> <id> --json. - Validate definitions before saving:
- Tests:
agent_qa_validate_testoragent_qa_validate_definitionwithkind: "test" - Suites:
agent_qa_validate_suiteoragent_qa_validate_definitionwithkind: "suite" - Hooks:
agent_qa_validate_definitionwithkind: "hooks"
- Tests:
- Prefer MCP authoring mutations:
- Tests:
agent_qa_create_test,agent_qa_update_test,agent_qa_delete_test - Suites:
agent_qa_create_suite,agent_qa_update_suite,agent_qa_delete_suite - Hooks:
agent_qa_create_hook,agent_qa_update_hook,agent_qa_delete_hook
- Tests:
- Use CLI or YAML fallback only when MCP is unavailable. Keep file paths matched by
workspace.testMatchorworkspace.suiteMatch.
Required ID Contracts
- Test IDs:
t_plus 10 id-agent words. - Suite IDs:
s_plus 10 id-agent words. - Hook IDs:
h_plus 10 id-agent words. - Run IDs:
r_plus 10 id-agent words. - Observation IDs:
obs_plus 10 id-agent words.
Before Running
- Validate YAML first.
- Prefer
agent_qa_enqueue_test_runandagent_qa_enqueue_suite_runover shelling out. - If using the CLI fallback, run only after validation succeeds.
- Reconfirm the target and environment when a test may mutate real data or trigger external actions.
Example
User: Add an Agent QA checkout test for the staging target and validate it, but do not run it yet.
Expected handling: discover the workspace, inspect the staging target, generate the test ID,
create the smallest valid definition, validate it, and stop before enqueueing a run.
Limitations
- Requires an installed and configured Agent QA workspace plus any browser, mobile, model-provider, or application dependencies used by the selected target.
- Does not infer undocumented config keys, selectors, UI states, credentials, or test data.
- MCP availability and permissions vary by workspace; state which CLI or YAML fallback was used.
- Validation proves schema compatibility, not that the application behavior or external environment is safe to exercise.
Do Not
- Do not invent config keys or use legacy root config buckets.
- Do not hand-write IDs.
- Do not mutate files outside configured workspace patterns.
- Do not run destructive or production-facing scenarios without the user's explicit scope and confirmation.