{
  "markdown": "<div align=\"center\">\n\n<!-- TODO: Replace with your Canva hero banner (dark gradient, \"QASkills.sh\" title, tagline, CLI command) -->\n<!-- <img src=\"assets/hero-banner.png\" alt=\"QASkills.sh — The QA Skills Directory for AI Coding Agents\" width=\"100%\" /> -->\n\n# QASkills.sh\n\n### The Curated QA Skills Directory for AI Coding Agents\n\n**The curated QA skills directory for Claude Code, Cursor, Copilot, Windsurf, and 27+ AI coding agents.**\n\n[![npm version](https://img.shields.io/npm/v/@qaskills/cli?color=cb3837&label=npm&logo=npm)](https://www.npmjs.com/package/@qaskills/cli)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![Website](https://img.shields.io/badge/Website-qaskills.sh-6c5ce7?logo=vercel)](https://qaskills.sh)\n[![YouTube](https://img.shields.io/badge/The_Testing_Academy-189K+-red?logo=youtube)](https://youtube.com/@TheTestingAcademy)\n\n[Website](https://qaskills.sh) | [Skills Directory](https://qaskills.sh/skills) | [Leaderboard](https://qaskills.sh/leaderboard) | [Get Started](https://qaskills.sh/getting-started)\n\n---\n\n</div>\n\n## Why QASkills.sh?\n\nAmong **49,000+ skills** on Vercel's skills.sh, barely any are dedicated to QA testing. QASkills.sh fills that gap — a **curated, QA-specific skills directory** that gives your AI coding agent expert-level testing knowledge with a single command.\n\n<!-- TODO: Replace with animated GIF of `npx @qaskills/cli add playwright-e2e` in a terminal -->\n<!-- <p align=\"center\"><img src=\"assets/demo.gif\" alt=\"QASkills CLI Demo\" width=\"600\" /></p> -->\n\n```bash\nnpx @qaskills/cli add playwright-e2e\n```\n\n```\n  ✓ Detected agent: Claude Code\n  ✓ Installing playwright-e2e v1.0.0...\n  ✓ Skill installed successfully!\n```\n\nYour AI agent now writes Playwright tests using Page Object Model, fixtures, and best practices — automatically.\n\n---\n\n## Quick Start\n\n### 1. Install a skill (no global install needed)\n\n```bash\nnpx @qaskills/cli add playwright-e2e\n```\n\n### 2. Or install globally for faster access\n\n```bash\nnpm i -g @qaskills/cli\nqaskills add playwright-e2e\n```\n\n### 3. Search for skills\n\n```bash\nnpx @qaskills/cli search \"api testing\"\n```\n\n### 4. List installed skills\n\n```bash\nnpx @qaskills/cli list\n```\n\n### 5. Remove a skill\n\n```bash\nnpx @qaskills/cli remove playwright-e2e\n```\n\n### 6. Or use the MCP server (search and install from inside your agent)\n\nListed in the [official MCP registry](https://registry.modelcontextprotocol.io) as `io.github.PramodDutta/qaskills`.\n\n```bash\n# Claude Code\nclaude mcp add qaskills -- npx -y @qaskills/mcp\n```\n\n```json\n// Any MCP client (Cursor, Windsurf, etc.)\n{\n  \"mcpServers\": {\n    \"qaskills\": { \"command\": \"npx\", \"args\": [\"-y\", \"@qaskills/mcp\"] }\n  }\n}\n```\n\nYour agent gets six tools: `search_skills`, `get_skill`, `get_skill_content`, `install_skill`, `list_categories`, `get_leaderboard`. See [packages/mcp](packages/mcp/README.md).\n\n---\n\n## Feature Highlights\n\n| Feature | Description |\n|---------|-------------|\n| **27+ Agents Supported** | Claude Code, Cursor, Copilot, Windsurf, Codex, Aider, Cline, Devin, and more |\n| **Auto-Detection** | CLI detects which AI agent you're using and installs to the right config directory |\n| **20+ Curated Skills** | Expert-reviewed QA testing patterns covering E2E, API, unit, performance, security, and more |\n| **Skill Packs** | Install bundles of related skills in one command |\n| **Publish Your Own** | Create and share skills via the dashboard or CLI |\n| **Open Source** | MIT licensed, community-driven |\n\n### Supported Frameworks\n\n<div align=\"center\">\n\n<img src=\"https://img.shields.io/badge/Playwright-2EAD33?logo=playwright&logoColor=white\" alt=\"Playwright\" />\n<img src=\"https://img.shields.io/badge/Cypress-69D3A7?logo=cypress&logoColor=white\" alt=\"Cypress\" />\n<img src=\"https://img.shields.io/badge/Selenium-43B02A?logo=selenium&logoColor=white\" alt=\"Selenium\" />\n<img src=\"https://img.shields.io/badge/Jest-C21325?logo=jest&logoColor=white\" alt=\"Jest\" />\n<img src=\"https://img.shields.io/badge/Pytest-0A9EDC?logo=pytest&logoColor=white\" alt=\"Pytest\" />\n<img src=\"https://img.shields.io/badge/k6-7D64FF?logo=k6&logoColor=white\" alt=\"k6\" />\n<img src=\"https://img.shields.io/badge/JMeter-D22128?logo=apachejmeter&logoColor=white\" alt=\"JMeter\" />\n<img src=\"https://img.shields.io/badge/Appium-663399?logo=appium&logoColor=white\" alt=\"Appium\" />\n<img src=\"https://img.shields.io/badge/Postman-FF6C37?logo=postman&logoColor=white\" alt=\"Postman\" />\n<img src=\"https://img.shields.io/badge/REST_Assured-4EA94B\" alt=\"REST Assured\" />\n<img src=\"https://img.shields.io/badge/Cucumber-23D96C?logo=cucumber&logoColor=white\" alt=\"Cucumber\" />\n<img src=\"https://img.shields.io/badge/Axe--core-663399\" alt=\"Axe-core\" />\n<img src=\"https://img.shields.io/badge/Pact-6929C4\" alt=\"Pact\" />\n\n</div>\n\n---\n\n## Supported AI Agents (27+)\n\n| Agent | Status | Agent | Status |\n|-------|--------|-------|--------|\n| Claude Code | ✅ | Cursor | ✅ |\n| GitHub Copilot | ✅ | Windsurf | ✅ |\n| Codex CLI | ✅ | Aider | ✅ |\n| Continue | ✅ | Cline | ✅ |\n| Zed AI | ✅ | Bolt.new | ✅ |\n| Lovable | ✅ | v0 | ✅ |\n| Devin | ✅ | Sourcegraph Cody | ✅ |\n| Replit Agent | ✅ | Amazon Q Developer | ✅ |\n| JetBrains AI | ✅ | Gemini Code Assist | ✅ |\n| Roo Code | ✅ | Augment Code | ✅ |\n| Trae | ✅ | And more... | ✅ |\n\n---\n\n## Available Skills\n\n| # | Skill | Category | Quality |\n|---|-------|----------|---------|\n| 1 | [Playwright E2E Testing](https://qaskills.sh/skills/thetestingacademy/playwright-e2e) | E2E, Visual | 92/100 |\n| 2 | [Jest Unit Testing](https://qaskills.sh/skills/thetestingacademy/jest-unit) | Unit | 91/100 |\n| 3 | [Cypress E2E Testing](https://qaskills.sh/skills/thetestingacademy/cypress-e2e) | E2E | 90/100 |\n| 4 | [OWASP Security Testing](https://qaskills.sh/skills/thetestingacademy/owasp-security) | Security | 89/100 |\n| 5 | [Playwright API Testing](https://qaskills.sh/skills/thetestingacademy/playwright-api) | API | 88/100 |\n| 6 | [Pytest Patterns](https://qaskills.sh/skills/thetestingacademy/pytest-patterns) | Unit, Integration | 88/100 |\n| 7 | [k6 Performance Testing](https://qaskills.sh/skills/thetestingacademy/k6-performance) | Performance | 87/100 |\n| 8 | [Visual Regression Testing](https://qaskills.sh/skills/thetestingacademy/visual-regression) | Visual | 86/100 |\n| 9 | [Axe-core Accessibility](https://qaskills.sh/skills/thetestingacademy/axe-accessibility) | Accessibility | 86/100 |\n| 10 | [Selenium Java Testing](https://qaskills.sh/skills/thetestingacademy/selenium-java) | E2E | 85/100 |\n| 11 | [REST Assured API](https://qaskills.sh/skills/thetestingacademy/rest-assured-api) | API | 85/100 |\n| 12 | [CI/CD Pipeline Config](https://qaskills.sh/skills/thetestingacademy/cicd-pipeline) | DevOps | 85/100 |\n| 13 | [Appium Mobile Testing](https://qaskills.sh/skills/thetestingacademy/appium-mobile) | Mobile | 84/100 |\n| 14 | [Postman API Testing](https://qaskills.sh/skills/thetestingacademy/postman-api) | API | 84/100 |\n| 15 | [Contract Testing (Pact)](https://qaskills.sh/skills/thetestingacademy/contract-testing-pact) | Contract | 84/100 |\n| 16 | [Test Data Generation](https://qaskills.sh/skills/thetestingacademy/test-data-generation) | Utility | 83/100 |\n| 17 | [JMeter Load Testing](https://qaskills.sh/skills/thetestingacademy/jmeter-load) | Load | 82/100 |\n| 18 | [BDD/Cucumber Patterns](https://qaskills.sh/skills/thetestingacademy/bdd-cucumber) | BDD | 82/100 |\n| 19 | [Test Plan Generation](https://qaskills.sh/skills/thetestingacademy/test-plan-generation) | Process | 80/100 |\n| 20 | [Bug Report Writing](https://qaskills.sh/skills/thetestingacademy/bug-report-writing) | Process | 78/100 |\n\n[Browse all skills →](https://qaskills.sh/skills)\n\n---\n\n## Skill Packs\n\nInstall multiple skills at once with curated packs:\n\n| Pack | Includes | Use Case |\n|------|----------|----------|\n| **Full Stack QA** | Playwright + Cypress + k6 + OWASP + Jest + Pytest + CI/CD | Complete QA coverage |\n| **Complete Playwright Suite** | E2E + API + Visual + Accessibility | Playwright-focused teams |\n| **API Testing Toolkit** | Playwright API + REST Assured + Postman + Pact + k6 | Backend & API testing |\n\n---\n\n## How It Works\n\n```\n1. SEARCH   →  Browse skills on qaskills.sh or search via CLI\n2. INSTALL  →  npx @qaskills/cli add <skill-name>\n3. TEST     →  Your AI agent now has QA expertise built-in\n```\n\nThe CLI auto-detects which AI agent you're using (Claude Code, Cursor, Copilot, etc.) and installs the skill's `SKILL.md` to the correct configuration directory. Your agent reads this file and follows the testing patterns automatically.\n\n---\n\n## Publish Your Own Skill\n\n### Via the Website\n\n1. Go to [qaskills.sh/dashboard/publish](https://qaskills.sh/dashboard/publish)\n2. Sign in with GitHub\n3. Fill in the 5-step form\n4. Publish!\n\n### Via the CLI\n\n```bash\n# Scaffold a new SKILL.md\nnpx @qaskills/cli init my-skill\n\n# Edit the generated SKILL.md with your testing patterns\n\n# Publish to the registry\nnpx @qaskills/cli publish\n```\n\n### SKILL.md Format\n\n```markdown\n---\nname: My Testing Skill\ndescription: What this skill teaches AI agents\nversion: 1.0.0\nlicense: MIT\ntestingTypes: [E2E, API]\nframeworks: [Playwright]\nlanguages: [TypeScript]\nagents: [claude-code, cursor, copilot]\n---\n\n# My Testing Skill\n\nInstructions for the AI agent go here...\n```\n\n---\n\n## Tech Stack\n\n| Layer | Technology |\n|-------|-----------|\n| Framework | Next.js 15 (App Router) |\n| UI | shadcn/ui + Tailwind CSS v4 |\n| Database | Neon Serverless Postgres + Drizzle ORM |\n| Search | Typesense |\n| Auth | Clerk |\n| Cache | Upstash Redis |\n| Hosting | Vercel |\n| CLI | TypeScript + Commander.js |\n| Monorepo | Turborepo + pnpm |\n\n---\n\n## Project Structure\n\n```\nqaskills/\n├── packages/\n│   ├── web/              # Next.js 15 website & API\n│   ├── cli/              # @qaskills/cli (npm package)\n│   ├── shared/           # Types, constants, Zod schemas, parsers\n│   ├── sdk/              # Programmatic TypeScript SDK\n│   └── skill-validator/  # SKILL.md validation\n├── seed-skills/          # 20+ curated QA skill definitions\n└── landingpage/          # Marketing site\n```\n\n---\n\n## Contributing\n\nWe welcome contributions! Here's how to get involved:\n\n1. **Add a new skill** — Create a `SKILL.md` and publish via the [dashboard](https://qaskills.sh/dashboard/publish) or CLI\n2. **Improve existing skills** — Submit PRs to enhance testing patterns and coverage\n3. **Report bugs** — [Open an issue](https://github.com/PramodDutta/qaskills/issues) on GitHub\n4. **Feature requests** — Open an issue or start a discussion\n\n### Local Development\n\n```bash\n# Clone the repo\ngit clone git@github.com:PramodDutta/qaskills.git\ncd qaskills\n\n# Install dependencies (requires pnpm 9.15+ and Node 20+)\npnpm install\n\n# Build shared package first (other packages depend on it)\npnpm --filter @qaskills/shared build\n\n# Start all dev servers\npnpm dev\n\n# Run tests\npnpm test\n\n# Lint & format\npnpm lint\npnpm format\n```\n\n---\n\n<div align=\"center\">\n\n### Built by [The Testing Academy](https://youtube.com/@TheTestingAcademy)\n\n**189K+ YouTube Subscribers** | QA & Test Automation Education\n\n[YouTube](https://youtube.com/@TheTestingAcademy) | [Website](https://qaskills.sh) | [Twitter](https://twitter.com/iabormon)\n\n---\n\n**MIT License** | Made with testing in mind\n\n</div>\n",
  "bytes": 11244,
  "sha": "d8635287971b7bd0afb243c897551633a55044c3e78f5c9d9926c602a0a20094",
  "repo_slug": "pramoddutta/qaskills",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_pramoddutta_qaskills_dfbee016/readme"
}