{"id":"60f30861-f5fc-4d1e-8d0f-dfa2f46e2592","shortId":"ugQDbn","kind":"skill","title":"pilot-quality-assurance-pipeline-setup","tagline":"Deploy a quality assurance pipeline with 3 agents that automate test generation, execution, and reporting.  Use this skill when: 1. User wants to set up an automated QA or testing pipeline 2. User is configuring an agent as part of a test automation workflow 3. User asks about au","description":"# Quality Assurance Pipeline Setup\n\nDeploy 3 agents that automate the QA cycle from test generation through execution to reporting.\n\n## Roles\n\n| Role | Hostname | Skills | Purpose |\n|------|----------|--------|---------|\n| test-generator | `<prefix>-test-generator` | pilot-task-router, pilot-dataset, pilot-cron | Generates test cases from specs and stories, prioritizes by risk |\n| executor | `<prefix>-executor` | pilot-task-parallel, pilot-share, pilot-metrics | Runs test suites, captures results, screenshots, and logs |\n| reporter | `<prefix>-reporter` | pilot-webhook-bridge, pilot-alert, pilot-slack-bridge | Aggregates results, generates reports, files bugs, notifies team |\n\n## Setup Procedure\n\n**Step 1:** Ask the user which role this agent should play and what prefix to use.\n\n**Step 2:** Install the skills for the chosen role:\n```bash\n# test-generator:\nclawhub install pilot-task-router pilot-dataset pilot-cron\n# executor:\nclawhub install pilot-task-parallel pilot-share pilot-metrics\n# reporter:\nclawhub install pilot-webhook-bridge pilot-alert pilot-slack-bridge\n```\n\n**Step 3:** Set the hostname:\n```bash\npilotctl --json set-hostname <prefix>-<role>\n```\n\n**Step 4:** Write the setup manifest:\n```bash\nmkdir -p ~/.pilot/setups\ncat > ~/.pilot/setups/quality-assurance-pipeline.json << 'MANIFEST'\n<USE ROLE TEMPLATE BELOW>\nMANIFEST\n```\n\n**Step 5:** Tell the user to initiate handshakes with direct communication peers.\n\n## Manifest Templates Per Role\n\n### test-generator\n```json\n{\"setup\":\"quality-assurance-pipeline\",\"setup_name\":\"Quality Assurance Pipeline\",\"role\":\"test-generator\",\"role_name\":\"Test Generator\",\"hostname\":\"<prefix>-test-generator\",\"description\":\"Generates test cases from specs, user stories, and code changes. Prioritizes by risk and coverage gaps.\",\"skills\":{\"pilot-task-router\":\"Route test generation requests by type — unit, integration, e2e.\",\"pilot-dataset\":\"Store specs, user stories, and historical test coverage data.\",\"pilot-cron\":\"Schedule nightly regression suite generation and coverage gap analysis.\"},\"peers\":[{\"role\":\"executor\",\"hostname\":\"<prefix>-executor\",\"description\":\"Receives test suites for execution\"}],\"data_flows\":[{\"direction\":\"send\",\"peer\":\"<prefix>-executor\",\"port\":1002,\"topic\":\"test-suite\",\"description\":\"Test suites with cases, priorities, and environment configs\"}],\"handshakes_needed\":[\"<prefix>-executor\"]}\n```\n\n### executor\n```json\n{\"setup\":\"quality-assurance-pipeline\",\"setup_name\":\"Quality Assurance Pipeline\",\"role\":\"executor\",\"role_name\":\"Test Executor\",\"hostname\":\"<prefix>-executor\",\"description\":\"Runs automated test suites, captures results, screenshots, and logs. Handles parallel execution.\",\"skills\":{\"pilot-task-parallel\":\"Run test cases in parallel across environments and browsers.\",\"pilot-share\":\"Send test results, logs, and artifacts downstream to reporter.\",\"pilot-metrics\":\"Track execution time, flake rate, and pass rate per suite.\"},\"peers\":[{\"role\":\"test-generator\",\"hostname\":\"<prefix>-test-generator\",\"description\":\"Sends test suites for execution\"},{\"role\":\"reporter\",\"hostname\":\"<prefix>-reporter\",\"description\":\"Receives test results for aggregation\"}],\"data_flows\":[{\"direction\":\"receive\",\"peer\":\"<prefix>-test-generator\",\"port\":1002,\"topic\":\"test-suite\",\"description\":\"Test suites with cases, priorities, and environment configs\"},{\"direction\":\"send\",\"peer\":\"<prefix>-reporter\",\"port\":1002,\"topic\":\"test-result\",\"description\":\"Test results with pass/fail, logs, and screenshots\"}],\"handshakes_needed\":[\"<prefix>-test-generator\",\"<prefix>-reporter\"]}\n```\n\n### reporter\n```json\n{\"setup\":\"quality-assurance-pipeline\",\"setup_name\":\"Quality Assurance Pipeline\",\"role\":\"reporter\",\"role_name\":\"QA Reporter\",\"hostname\":\"<prefix>-reporter\",\"description\":\"Aggregates test results, generates coverage reports, files bugs, notifies team.\",\"skills\":{\"pilot-webhook-bridge\":\"Push bug reports to issue trackers and coverage data to dashboards.\",\"pilot-alert\":\"Trigger alerts on test failures, coverage drops, and regressions.\",\"pilot-slack-bridge\":\"Post QA summaries, failure details, and deploy readiness to Slack.\"},\"peers\":[{\"role\":\"executor\",\"hostname\":\"<prefix>-executor\",\"description\":\"Sends test results for aggregation\"}],\"data_flows\":[{\"direction\":\"receive\",\"peer\":\"<prefix>-executor\",\"port\":1002,\"topic\":\"test-result\",\"description\":\"Test results with pass/fail, logs, and screenshots\"},{\"direction\":\"send\",\"peer\":\"external\",\"port\":443,\"topic\":\"qa-report\",\"description\":\"QA reports to dashboards, bug trackers, and Slack\"}],\"handshakes_needed\":[\"<prefix>-executor\"]}\n```\n\n## Data Flows\n\n- `test-generator -> executor` : test-suite (port 1002)\n- `executor -> reporter` : test-result (port 1002)\n- `reporter -> external` : qa-report via webhook (port 443)\n\n## Handshakes\n\n```bash\n# test-generator <-> executor:\npilotctl --json handshake <prefix>-executor \"setup: quality-assurance-pipeline\"\npilotctl --json handshake <prefix>-test-generator \"setup: quality-assurance-pipeline\"\n# executor <-> reporter:\npilotctl --json handshake <prefix>-reporter \"setup: quality-assurance-pipeline\"\npilotctl --json handshake <prefix>-executor \"setup: quality-assurance-pipeline\"\n```\n\n## Workflow Example\n\n```bash\n# On executor -- subscribe to test suites:\npilotctl --json subscribe <prefix>-test-generator test-suite\n# On reporter -- subscribe to test results:\npilotctl --json subscribe <prefix>-executor test-result\n# On test-generator -- publish a test suite:\npilotctl --json publish <prefix>-executor test-suite '{\"suite\":\"checkout-flow\",\"cases\":[{\"id\":\"tc_001\",\"name\":\"add_to_cart\",\"priority\":\"high\"}],\"environment\":\"staging\"}'\n# On executor -- publish test results:\npilotctl --json publish <prefix>-reporter test-result '{\"suite\":\"checkout-flow\",\"total\":1,\"passed\":1,\"failed\":0,\"duration_ms\":3200}'\n```\n\n## Dependencies\n\nRequires `pilot-protocol` skill, `pilotctl` binary, `clawhub` binary, and a running daemon.","tags":["pilot","quality","assurance","pipeline","setup","skills","teoslayer","agent-skills","ai-agents","clawhub","networking","openclaw"],"capabilities":["skill","source-teoslayer","skill-pilot-quality-assurance-pipeline-setup","topic-agent-skills","topic-ai-agents","topic-clawhub","topic-networking","topic-openclaw","topic-overlay-network","topic-p2p","topic-pilot-protocol"],"categories":["pilot-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/TeoSlayer/pilot-skills/pilot-quality-assurance-pipeline-setup","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add TeoSlayer/pilot-skills","source_repo":"https://github.com/TeoSlayer/pilot-skills","install_from":"skills.sh"}},"qualityScore":"0.453","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 6 github stars · SKILL.md body (5,892 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:14:59.485Z","embedding":null,"createdAt":"2026-05-18T13:22:45.257Z","updatedAt":"2026-05-18T19:14:59.485Z","lastSeenAt":"2026-05-18T19:14:59.485Z","tsv":"'/.pilot/setups':237 '/.pilot/setups/quality-assurance-pipeline.json':239 '0':800 '001':770 '1':26,150,796,798 '1002':357,480,499,609,654,661 '2':38,166 '3':13,51,61,218 '3200':803 '4':229 '443':627,670 '5':243 'across':417 'add':772 'agent':14,43,62,157 'aggreg':139,470,539,601 'alert':134,212,567,569 'analysi':338 'artifact':429 'ask':53,151 'assur':4,10,57,265,270,379,384,523,528,684,695,706,715 'au':55 'autom':16,33,49,64,396 'bash':174,222,234,672,719 'binari':811,813 'bridg':131,138,209,216,553,580 'browser':420 'bug':144,546,555,637 'captur':121,399 'cart':774 'case':98,287,366,414,489,767 'cat':238 'chang':294 'checkout':765,793 'checkout-flow':764,792 'chosen':172 'clawhub':178,191,204,812 'code':293 'communic':252 'config':370,493 'configur':41 'coverag':299,325,336,543,561,573 'cron':95,189,329 'cycl':67 'daemon':817 'dashboard':564,636 'data':326,350,471,562,602,644 'dataset':92,186,317 'depend':804 'deploy':7,60,587 'descript':284,344,362,394,455,465,485,504,538,596,614,632 'detail':585 'direct':251,352,473,494,604,622 'downstream':430 'drop':574 'durat':801 'e2e':314 'environ':369,418,492,777 'exampl':718 'execut':19,72,349,406,437,460 'executor':106,107,190,341,343,355,373,374,387,391,393,593,595,607,643,649,655,676,680,697,711,721,744,759,780 'extern':625,663 'fail':799 'failur':572,584 'file':143,545 'flake':439 'flow':351,472,603,645,766,794 'gap':300,337 'generat':18,70,82,85,96,141,177,260,275,279,283,285,308,334,450,454,478,516,542,648,675,691,731,751 'handl':404 'handshak':249,371,512,641,671,679,688,701,710 'high':776 'histor':323 'hostnam':77,221,227,280,342,392,451,463,536,594 'id':768 'initi':248 'instal':167,179,192,205 'integr':313 'issu':558 'json':224,261,375,519,678,687,700,709,727,742,757,785 'log':125,403,427,509,619 'manifest':233,240,241,254 'metric':117,202,435 'mkdir':235 'ms':802 'name':268,277,382,389,526,533,771 'need':372,513,642 'night':331 'notifi':145,547 'p':236 'parallel':111,196,405,411,416 'part':45 'pass':442,797 'pass/fail':508,618 'peer':253,339,354,446,475,496,591,606,624 'per':256,444 'pilot':2,87,91,94,109,113,116,129,133,136,181,185,188,194,198,201,207,211,214,303,316,328,409,422,434,551,566,578,807 'pilot-alert':132,210,565 'pilot-cron':93,187,327 'pilot-dataset':90,184,315 'pilot-metr':115,200,433 'pilot-protocol':806 'pilot-quality-assurance-pipeline-setup':1 'pilot-shar':112,197,421 'pilot-slack-bridg':135,213,577 'pilot-task-parallel':108,193,408 'pilot-task-rout':86,180,302 'pilot-webhook-bridg':128,206,550 'pilotctl':223,677,686,699,708,726,741,756,784,810 'pipelin':5,11,37,58,266,271,380,385,524,529,685,696,707,716 'play':159 'port':356,479,498,608,626,653,660,669 'post':581 'prefix':162 'priorit':103,295 'prioriti':367,490,775 'procedur':148 'protocol':808 'publish':752,758,781,786 'purpos':79 'push':554 'qa':34,66,534,582,630,633,665 'qa-report':629,664 'qualiti':3,9,56,264,269,378,383,522,527,683,694,705,714 'quality-assurance-pipelin':263,377,521,682,693,704,713 'rate':440,443 'readi':588 'receiv':345,466,474,605 'regress':332,576 'report':21,74,126,127,142,203,432,462,464,497,517,518,531,535,537,544,556,631,634,656,662,666,698,702,736,787 'request':309 'requir':805 'result':122,140,400,426,468,503,506,541,599,613,616,659,740,747,783,790 'risk':105,297 'role':75,76,155,173,257,272,276,340,386,388,447,461,530,532,592 'rout':306 'router':89,183,305 'run':118,395,412,816 'schedul':330 'screenshot':123,401,511,621 'send':353,424,456,495,597,623 'set':30,219,226 'set-hostnam':225 'setup':6,59,147,232,262,267,376,381,520,525,681,692,703,712 'share':114,199,423 'skill':24,78,169,301,407,549,809 'skill-pilot-quality-assurance-pipeline-setup' 'slack':137,215,579,590,640 'source-teoslayer' 'spec':100,289,319 'stage':778 'step':149,165,217,228,242 'store':318 'stori':102,291,321 'subscrib':722,728,737,743 'suit':120,333,347,361,364,398,445,458,484,487,652,725,734,755,762,763,791 'summari':583 'task':88,110,182,195,304,410 'tc':769 'team':146,548 'tell':244 'templat':255 'test':17,36,48,69,81,84,97,119,176,259,274,278,282,286,307,324,346,360,363,390,397,413,425,449,453,457,467,477,483,486,502,505,515,540,571,598,612,615,647,651,658,674,690,724,730,733,739,746,750,754,761,782,789 'test-gener':80,83,175,258,273,281,448,452,476,514,646,673,689,729,749 'test-result':501,611,657,745,788 'test-suit':359,482,650,732,760 'time':438 'topic':358,481,500,610,628 'topic-agent-skills' 'topic-ai-agents' 'topic-clawhub' 'topic-networking' 'topic-openclaw' 'topic-overlay-network' 'topic-p2p' 'topic-pilot-protocol' 'total':795 'track':436 'tracker':559,638 'trigger':568 'type':311 'unit':312 'use':22,164 'user':27,39,52,153,246,290,320 'via':667 'want':28 'webhook':130,208,552,668 'workflow':50,717 'write':230","prices":[{"id":"85e11602-7c3d-48e3-9f73-2ec8934a2ce6","listingId":"60f30861-f5fc-4d1e-8d0f-dfa2f46e2592","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"TeoSlayer","category":"pilot-skills","install_from":"skills.sh"},"createdAt":"2026-05-18T13:22:45.257Z"}],"sources":[{"listingId":"60f30861-f5fc-4d1e-8d0f-dfa2f46e2592","source":"github","sourceId":"TeoSlayer/pilot-skills/pilot-quality-assurance-pipeline-setup","sourceUrl":"https://github.com/TeoSlayer/pilot-skills/tree/main/skills/pilot-quality-assurance-pipeline-setup","isPrimary":false,"firstSeenAt":"2026-05-18T13:22:45.257Z","lastSeenAt":"2026-05-18T19:14:59.485Z"}],"details":{"listingId":"60f30861-f5fc-4d1e-8d0f-dfa2f46e2592","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"TeoSlayer","slug":"pilot-quality-assurance-pipeline-setup","github":{"repo":"TeoSlayer/pilot-skills","stars":6,"topics":["agent-skills","ai-agents","clawhub","networking","openclaw","overlay-network","p2p","pilot-protocol"],"license":"agpl-3.0","html_url":"https://github.com/TeoSlayer/pilot-skills","pushed_at":"2026-05-13T06:08:49Z","description":"80+ agent skills for Pilot Protocol — communication, file transfer, trust, task routing, swarm coordination, and more","skill_md_sha":"23a219dc77791b73cb2f9d24b12a69fb48787dff","skill_md_path":"skills/pilot-quality-assurance-pipeline-setup/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/TeoSlayer/pilot-skills/tree/main/skills/pilot-quality-assurance-pipeline-setup"},"layout":"multi","source":"github","category":"pilot-skills","frontmatter":{"name":"pilot-quality-assurance-pipeline-setup","license":"AGPL-3.0","description":"Deploy a quality assurance pipeline with 3 agents that automate test generation, execution, and reporting.  Use this skill when: 1. User wants to set up an automated QA or testing pipeline 2. User is configuring an agent as part of a test automation workflow 3. User asks about automating test generation, execution, or quality reporting across agents  Do NOT use this skill when: - User wants to run a single test suite (use pilot-task-parallel instead) - User wants a one-off alert notification (use pilot-alert instead)"},"skills_sh_url":"https://skills.sh/TeoSlayer/pilot-skills/pilot-quality-assurance-pipeline-setup"},"updatedAt":"2026-05-18T19:14:59.485Z"}}