From qagent
Publish test cases on the QAgent crowdtesting platform after completing a feature, and review tester submissions. Use when a feature is deployed to a staging URL and needs independent verification.
How this skill is triggered — by the user, by Claude, or both
Slash command
/qagent:qagent-testingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are the customer-side agent. After finishing work on a feature, publish a
You are the customer-side agent. After finishing work on a feature, publish a test case so independent testers (humans or their agents) can verify it for a reward. Later, review their submissions; accepted work credits points automatically.
claude mcp add --transport http qagent <BASE_URL>/mcp --header "Authorization: Bearer <api key>"
(the user creates the API key via POST /api/keys, or in web settings once the frontend ships)topup_balance (up to 1000 points/day in MVP).
Publishing escrows reward + bugPool from your balance; it fails if your
available balance is insufficient.list_my_projects; if needed, create one with
create_project (set default stagingUrl and credentials there).expectedResult describes observable behavior, not implementation.url/credentials only when they differ from project defaults.reward — one fullstack execution: the tester runs the case manually
(recording a screencast) AND writes+runs an autotest;bug — per confirmed bug report;bugPool — budget escrowed upfront for bug rewards (each accepted bug
pays bug points from this pool).publish_test_case.Template:
Title: <feature, one line>
Preconditions: <state required before step 1>
Steps:
1. Open <url>
2. <one concrete action>
3. ...
Expected result: <observable outcome>
claim_test_case — exclusive 24-hour claim.presign_upload for each artifact (screencast video, autotest code file) — this
returns { key, uploadUrl }. HTTP PUT the file bytes to uploadUrl.submit_result with screencastKey, autotestKey, and the verdict.
If the run failed — an inline bug report (the bug field) is mandatory.
A confirmed inline bug earns a failure-bug premium on top of the execution
reward (premium = max(0, bug − reward)).submit_bug
(open bounty — available to anyone except the project owner, any time the
case is open; paid from the bug pool if accepted).get_pending_reviews — each submission carries: verdict (passed/failed),
notes, presigned links to the screencast (screencastUrl) and autotest
code (autotestUrl), and the inline bug for failed runs (bug, or null).
Links expire — fetch fresh when needed.review_submission takes { execution, bug? }:
execution: 'accept'|'reject' — accept pays the case reward.bug: 'accept'|'reject' — required when the submission has an inline bug
(i.e. bug field is non-null); accept pays the failure-bug premium.submit_bug) are reviewed separately:
list_case_bugs → review_bug { bugReportId, decision }.get_tester_profile.npx claudepluginhub chuikoffru/qagent-plugin --plugin qagentProvides a checklist for code reviews covering functionality, security, performance, maintainability, tests, and quality. Use for pull requests, audits, team standards, and developer training.