How to Publish a Skill
Share your QA expertise with 27+ AI agents. Create a SKILL.md, validate it, and publish to the directory.
Create a SKILL.md file
Every QA skill is a single SKILL.md file with YAML frontmatter and markdown instructions. Create a GitHub repository with your skill.
---
name: My Playwright Skill
description: Custom Playwright patterns for my team
version: 1.0.0
author: your-username
license: MIT
tags: [playwright, e2e, testing]
testingTypes: [e2e, visual]
frameworks: [playwright]
languages: [typescript, javascript]
domains: [web]
agents: [claude-code, cursor, github-copilot]
---
# My Playwright Skill
## Instructions
When writing Playwright tests, follow these patterns:
- Always use Page Object Model
- Use `getByRole` and `getByTestId` locators
- Write fixtures for test setup
...Validate your skill
Use the QA Skills validator to check your SKILL.md against the schema. This ensures your frontmatter is correct and all required fields are present.
npx @qaskills/skill-validator validate ./SKILL.md
# Output:
# ✓ Frontmatter is valid
# ✓ Name: My Playwright Skill
# ✓ Version: 1.0.0 (semver ✓)
# ✓ Testing types: e2e, visual
# ✓ Frameworks: playwright
# ✓ Agents: 3 supported
# ✓ Content length: 2,400 tokens
# ✓ All checks passed!Publish to QASkills.sh
Use the CLI to publish your skill to the directory. You'll need to sign in with your QASkills.sh account first.
# Sign in (opens browser)
npx @qaskills/cli login
# Publish from your skill repository
npx @qaskills/cli publish ./SKILL.md
# Output:
# ✓ Authenticated as your-username
# ✓ Validating SKILL.md...
# ✓ Publishing "My Playwright Skill" v1.0.0
# ✓ Published! View at qaskills.sh/skills/your-username/my-playwright-skillTrack & improve
Monitor your skill's performance in the dashboard. See install counts, quality scores, and community feedback. Update your skill by publishing new versions.
# Update your skill
npx @qaskills/cli publish ./SKILL.md
# Output:
# ✓ Updated "My Playwright Skill" to v1.1.0
# ✓ 234 total installs | Quality score: 88/100SKILL.md Frontmatter Reference
| Field | Required | Description |
|---|---|---|
name | Required | Display name of your skill |
description | Required | Short description (under 200 chars) |
version | Required | Semantic version (e.g. 1.0.0) |
author | Required | Your QASkills.sh username |
license | Required | License identifier (e.g. MIT, Apache-2.0) |
tags | Optional | Keyword tags for discovery |
testingTypes | Required | e2e, unit, api, performance, security, etc. |
frameworks | Required | playwright, cypress, jest, pytest, etc. |
languages | Required | typescript, javascript, python, java, etc. |
domains | Optional | web, mobile, api, etc. |
agents | Optional | Supported agents (auto-detected if omitted) |
minTokens | Optional | Minimum token count for the skill content |
maxTokens | Optional | Maximum token count for the skill content |
Tips for a High Quality Score
Be specific and opinionated
Don't just restate documentation. Share real-world patterns, naming conventions, and project structure decisions.
Include code examples
AI agents learn best from concrete examples. Show complete test files, not just snippets.
Cover edge cases
Address common mistakes, anti-patterns, and gotchas. This is where expert knowledge shines.
Keep it focused
One skill per concern. A Playwright E2E skill shouldn't also cover API testing — make separate skills instead.