{"id":"f6670e3d-040a-4ecd-908b-949953167223","entityType":"agent","slug":"crewai-aoaaae-sunattha-qaagent-crewai","name":"QAAgent-CrewAI","canonicalUrl":"https://www.xpersona.co/agent/crewai-aoaaae-sunattha-qaagent-crewai","canonicalPath":"/agent/crewai-aoaaae-sunattha-qaagent-crewai","generatedAt":"2026-10-10T08:45:34.371Z","source":"GITHUB_REPOS","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T21:21:36.301Z","emptyReason":null},"description":"Multi-agent CrewAI system for QA automation — turns vague tickets into user stories, test plans, manual test cases, and Playwright scripts QA Agent — CrewAI Automation System A multi-agent AI system for QA automation. Two **completely independent** pipelines — they share no code, no state, and no dependency on each other. Run whichever you need: | When | Run | |---|---| | You have a **new feature** ticket | cd qa-challenger && crewai run | | You have a **bug fix** to verify | cd qa-retest && crewai run | - **qa-challenger** — turns vague feature tickets","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.","installCommand":null,"sourceUrl":"https://github.com/aoaaae-sunattha/QAAgent-CrewAI","homepage":null,"primaryLinks":[{"label":"View Source","url":"https://github.com/aoaaae-sunattha/QAAgent-CrewAI","kind":"source"}],"safetyScore":66,"overallRank":18.2,"popularityScore":0,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Multi-agent CrewAI system for QA automation — turns vague tickets into user stories, test plans, manual test cases, and Playwright scripts QA Agent — CrewAI Aut"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T21:21:36.301Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[{"label":"crewai","status":"self-declared"},{"label":"multi-agent","status":"self-declared"}],"verifiedCount":0,"selfDeclaredCount":3,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"},{"key":"crewai","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"multi-agent","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"}},"adoption":{"evidence":{"source":"no-adoption-signals","verified":false,"confidence":"low","updatedAt":"2026-10-09T21:21:36.301Z","emptyReason":"No source adoption metrics were available."},"stars":0,"forks":0,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":null},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-10-09T21:21:36.296Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T21:21:36.301Z","lastCrawledAt":"2026-10-09T21:21:36.296Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-16T21:21:36.296Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"GITHUB REPOS","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":null,"setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-aoaaae-sunattha-qaagent-crewai/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-aoaaae-sunattha-qaagent-crewai/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-aoaaae-sunattha-qaagent-crewai/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/crewai-aoaaae-sunattha-qaagent-crewai/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-aoaaae-sunattha-qaagent-crewai/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-aoaaae-sunattha-qaagent-crewai/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"GITHUB_REPOS","generatedAt":"2026-10-10T08:45:34.371Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/crewai-aoaaae-sunattha-qaagent-crewai/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-aoaaae-sunattha-qaagent-crewai/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-aoaaae-sunattha-qaagent-crewai/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-aoaaae-sunattha-qaagent-crewai/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"GITHUB REPOS","verified":false,"confidence":"high","updatedAt":"2026-10-09T21:21:36.301Z","emptyReason":null},"readme":"# QA Agent — CrewAI Automation System\n\nA multi-agent AI system for QA automation. Two **completely independent** pipelines — they share no code, no state, and no dependency on each other. Run whichever you need:\n\n| When | Run |\n|---|---|\n| You have a **new feature** ticket | `cd qa-challenger && crewai run` |\n| You have a **bug fix** to verify | `cd qa-retest && crewai run` |\n\n- **qa-challenger** — turns vague feature tickets into user stories, test plans, manual test cases, and Playwright scripts\n- **qa-retest** — verifies bug fixes by analysing GitHub PR diffs and generating targeted re-test cases\n\n---\n\n## Quick Start\n\n### New Feature Pipeline\n```bash\ncd qa-challenger\ncrewai install        # first time only\ncrewai run            # uses ticket.txt or fallback example\n```\n\nOr pass a ticket directly:\n```bash\ncrewai run \"Feature: Password reset. Users can reset their password via email.\"\n```\n\n### Bug Fix Re-test Pipeline\n```bash\ncd qa-retest\ncrewai install        # first time only\ncrewai run            # uses bug_ticket.txt + pr_url.txt\n```\n\nOr pass via CLI:\n```bash\ncrewai run \"Bug ID: BUG-042 Title: Login button unresponsive on Safari\" \"https://github.com/org/repo/pull/123\"\n```\n\n---\n\n## Input Methods\n\n### qa-challenger\n| Priority | Method |\n|---|---|\n| 1 | CLI argument: `crewai run \"Feature: ...\"` |\n| 2 | File: `qa-challenger/ticket.txt` |\n| 3 | Hardcoded fallback (User Login example) |\n\n### qa-retest\n| Priority | Method |\n|---|---|\n| 1 | CLI arguments: `crewai run \"<bug>\" \"<pr_url>\"` |\n| 2 | Files: `qa-retest/bug_ticket.txt` + `qa-retest/pr_url.txt` |\n| 3 | Hardcoded fallback (BUG-000 example) |\n\n---\n\n## Agent Duties\n\n### qa-challenger — New Feature Pipeline (Sequential)\n\n| # | Agent | LLM | Duty | Human Review |\n|---|---|---|---|---|\n| 1 | **Requirement Challenger** | Gemini 2.5 Pro | Takes a vague BA/PO ticket. Identifies gaps, missing info, and ambiguities. Produces a complete user story with acceptance criteria, edge cases, error scenarios, and open questions for the BA/PO. | Yes |\n| 2 | **QA Planner** | Gemini 2.5 Pro | Takes the user story. Produces a scenario-level test plan covering every AC, edge case, error scenario, security probe, and performance note. Ends with a Coverage Matrix mapping each requirement to its TC(s) — any gap is flagged UNCOVERED. | Yes |\n| 3 | **Test Case Writer** | Gemini 2.5 Pro | Takes the test plan. Writes step-by-step manual test cases with exact UI actions, exact test data, and exact expected results. Minimum 15 test cases. | Yes |\n| 4 | **Playwright Generator** | Gemini 2.5 Pro | Takes the manual test cases. Generates TypeScript Playwright scripts using the Page Object Model pattern. Outputs two files: `[feature].page.ts` and `[feature].spec.ts`. | No (auto) |\n\n**Agent 2 / Agent 3 boundary:** Agent 2 defines *what* to test (scenario level). Agent 3 defines *how* to test it (exact clicks, exact URLs, exact values). Never cross this boundary.\n\n### qa-retest — Bug Fix Verification Pipeline (Sequential)\n\n| # | Agent | LLM | Duty | Human Review |\n|---|---|---|---|---|\n| 5 | **Retest Analyzer** | Gemini 2.5 Pro | Takes a bug ticket + GitHub PR URL. Reads the actual code diff. Produces a structured re-test summary: bug summary, root cause, what changed (plain English), reproduction steps, verification plan, regression risk areas, and re-test scope. | No (auto) |\n| 6 | **Retest Case Writer** | Gemini 2.5 Pro | Takes the re-test summary. Writes targeted verification test cases (RT-001, RT-002...) in three categories: Fix Verification, Boundary Testing, and Regression Check. | Yes |\n\n---\n\n## Output Files\n\nAll outputs are saved to the `output/` directory inside each project, with date-stamped filenames.\n\n### qa-challenger/output/\n```\nYY-MM-DD_<feature>_requirements(BA_PO).md\nYY-MM-DD_<feature>_test_plan(QA_Planner).md\nYY-MM-DD_<feature>_manual_test_cases(Test_Writer).md\nYY-MM-DD_<feature>_playwright_tests(Playwright_Gen).md\n```\n\n### qa-retest/output/\n```\nYY-MM-DD_<bug>_retest_summary(Analyzer).md\nYY-MM-DD_<bug>_retest_cases(RT_Writer).md\n```\n\n---\n\n## Environment Variables\n\nCreate a `.env` file inside each project directory:\n\n```env\n# Required — both projects\nGOOGLE_API_KEY=your_gemini_api_key\n\n# Optional — needed for private GitHub repos (qa-retest only)\nGITHUB_TOKEN=your_github_token\n```\n\n> All agents run on **Google Gemini 2.5 Pro** (temperature 0.3). No other API key is required.\n\n---\n\n## Project Structure\n\n```\nQAAgent-CrewAI-1phrase/\n├── qa-challenger/              # New feature pipeline (Agents 1–4)\n│   ├── .env                    # GOOGLE_API_KEY (required)\n│   ├── ticket.txt              # Optional: write ticket here\n│   ├── pyproject.toml\n│   └── src/qa_challenger/\n│       ├── config/\n│       │   ├── agents.yaml     # Agent roles, goals, backstories\n│       │   └── tasks.yaml      # Task prompts, output formats\n│       ├── tools/\n│       │   ├── file_reader.py  # Read local files\n│       │   └── github_tool.py  # Read GitHub PR diffs\n│       ├── crew.py             # Agent + task wiring\n│       └── main.py             # Entry point, filename generation\n│\n├── qa-retest/                  # Bug fix verification pipeline (Agents 5–6)\n│   ├── .env                    # GOOGLE_API_KEY (required); GITHUB_TOKEN (optional)\n│   ├── bug_ticket.txt          # Optional: write bug description here\n│   ├── pr_url.txt              # Optional: write PR URL here\n│   ├── pyproject.toml\n│   └── src/qa_retest/\n│       ├── config/\n│       │   ├── agents.yaml\n│       │   └── tasks.yaml\n│       ├── tools/\n│       │   ├── file_reader.py\n│       │   └── github_tool.py\n│       ├── crew.py\n│       └── main.py\n│\n└── README.md\n```\n\n---\n\n## Using These Agents on Other Projects\n\nThe agents are **project-agnostic** — they only need a ticket as input. You can use them on any project without moving any files.\n\n### Workflow\n\n```\nYour other project (VS Code)\n  ↓  identify a feature or bug\n  ↓  write the ticket text\nQAAgent terminal\n  ↓  crewai run \"ticket text\"\n  ↓  agents generate output/\nYour other project\n  ↓  copy .spec.ts + .page.ts into your test folder\n  ↓  run npx playwright test\n```\n\n### Option 1 — Two Terminals in VS Code\n\n```bash\n# Terminal 1: your other project\ncd /path/to/other-project\n\n# Terminal 2: QA agents\ncd /path/to/QAAgent-CrewAI-1phrase/qa-challenger\ncrewai run \"Feature: User can filter products by category\"\n```\n\n### Option 2 — Shell Aliases (Recommended for Daily Use)\n\nAdd to your `~/.zshrc`:\n\n```bash\nalias qa-feature='cd /path/to/QAAgent-CrewAI-1phrase/qa-challenger && crewai run'\nalias qa-bug='cd /path/to/QAAgent-CrewAI-1phrase/qa-retest && crewai run'\n```\n\nThen from any project terminal:\n\n```bash\nqa-feature \"Feature: Password reset via email\"\nqa-bug \"Bug ID: BUG-042 Title: Login button unresponsive on Safari\" \"https://github.com/org/repo/pull/123\"\n```\n\n---\n\n## Tech Stack\n\n- Python 3.10–3.13\n- [CrewAI](https://github.com/crewAIInc/crewAI) >= 0.119.0\n- Google Gemini 2.5 Pro (all agents, temperature 0.3)\n- Package management: `uv` (via `crewai install`)\n","readmeExcerpt":"QA Agent — CrewAI Automation System A multi-agent AI system for QA automation. Two **completely independent** pipelines — they share no code, no state, and no dependency on each other. Run whichever you need: | When | Run | |---|---| | You have a **new feature** ticket | cd qa-challenger && crewai run | | You have a **bug fix** to verify | cd qa-retest && crewai run | - **qa-challenger** — turns vague feature tickets","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"cd qa-challenger\ncrewai install        # first time only\ncrewai run            # uses ticket.txt or fallback example"},{"language":"bash","snippet":"crewai run \"Feature: Password reset. Users can reset their password via email.\""},{"language":"bash","snippet":"cd qa-retest\ncrewai install        # first time only\ncrewai run            # uses bug_ticket.txt + pr_url.txt"},{"language":"bash","snippet":"crewai run \"Bug ID: BUG-042 Title: Login button unresponsive on Safari\" \"https://github.com/org/repo/pull/123\""},{"language":"text","snippet":"YY-MM-DD_<feature>_requirements(BA_PO).md\nYY-MM-DD_<feature>_test_plan(QA_Planner).md\nYY-MM-DD_<feature>_manual_test_cases(Test_Writer).md\nYY-MM-DD_<feature>_playwright_tests(Playwright_Gen).md"},{"language":"text","snippet":"YY-MM-DD_<bug>_retest_summary(Analyzer).md\nYY-MM-DD_<bug>_retest_cases(RT_Writer).md"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["python"],"docsSourceLabel":"GITHUB REPOS","editorialOverview":"Multi-agent CrewAI system for QA automation — turns vague tickets into user stories, test plans, manual test cases, and Playwright scripts QA Agent — CrewAI Automation System A multi-agent AI system for QA automation. Two **completely independent** pipelines — they share no code, no state, and no dependency on each other. Run whichever you need: | When | Run | |---|---| | You have a **new feature** ticket | cd qa-challenger && crewai run | | You have a **bug fix** to verify | cd qa-retest && crewai run | - **qa-challenger** — turns vague feature tickets","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":385,"uniquenessScore":65,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T21:21:36.301Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T21:21:36.301Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T08:45:34.371Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/github_repos","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}