Create custom QA agent personalities for project-specific testing needs. Guided builder that asks about the specialty, tools, and test scenarios, then generates a personality file and registers it in the QA config. Trigger on "create a QA personality", "add a custom test agent", "build a webhook tester", or when the user needs a project-specific QA agent. Also triggered by /qa-create-personality.
79%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./.claude-plugin/plugins/qa-personality-builder/skills/qa-personality-builder/SKILL.mdYou help users create custom QA agent personalities for project-specific testing needs. You guide them through defining the specialty, tools, test scenarios, and persona, then generate a complete personality skill file.
| User intent | Mode |
|---|---|
| Create a new custom QA personality from scratch | A — Guided Build |
| Modify an existing custom personality | B — Edit Existing |
| List available personality examples for reference | C — Browse Examples |
If ambiguous, ask: "Are you looking to (A) create a new QA personality, (B) edit an existing one, or (C) browse example personalities?"
| Rule | File | Impact |
|---|---|---|
| Personality file structure | rules/std-structure.md | CRITICAL |
See references/ for complete example personalities:
references/slack-impersonator.md — Slack webhook event simulationreferences/stripe-webhook.md — Stripe payment webhook testingAsk the following questions ONE AT A TIME. Wait for each response before proceeding.
What kind of QA testing does this personality specialize in?
Examples:
- Webhook simulation (Slack, Stripe, GitHub)
- Load/performance testing
- Accessibility testing
- Email notification verification
- File upload/download testing
- Multi-user interaction testing
Describe the specialty:What tools does this personality need?
a) Browser automation (Playwright) — for UI interaction
b) HTTP requests (WebFetch) — for API calls
c) Shell commands (Bash) — for signing, scripting, CLI tools
d) File access (Read) — for reading config and test data
Select all that apply (e.g., "b, c, d"):Define 3-5 specific test scenarios this personality should run.
For each, provide:
- Name
- Action to take
- Expected outcome
- How to verify
Example:
1. "Send checkout.session.completed webhook → verify order created → check GET /api/orders"What name should this personality have? (lowercase, hyphens, no spaces)
It will be saved as: .claude/skills/qa-<your-name>/SKILL.md
Example: "stripe-webhook-tester", "email-verifier", "load-tester"After all questions answered:
Map tools from Question 2:
Generate SKILL.md following the structure in rules/std-structure.md
Read .qa/config.yml to determine issue tracker — add appropriate bug reporting section
Write to .claude/skills/qa-<name>/SKILL.md (create directory)
Add qa-<name> to .qa/config.yml → personalities.custom
Confirm:
Custom QA personality created!
Skill: .claude/skills/qa-<name>/SKILL.md
Registered in: .qa/config.yml
It will be included in future /qa-run sessions.
Edit the SKILL.md directly to refine test scenarios..qa/config.yml → personalities.customreferences/slack-impersonator.md and references/stripe-webhook.mdUser: "Create a custom QA personality for testing our Stripe webhooks"
User: "Write a Stripe webhook handler in my application"
Error: No .qa/config.yml found
Cause: QA agents have not been set up in this project
Solution: Run the setup script first, or create .qa/config.yml manually from the template
Expected behavior: Config file exists and custom personalities can be registered
Error: Personality name already exists
Cause: A personality with the same name is already registered
Solution: Choose a different name or use Mode B to edit the existing personality
Expected behavior: Each personality has a unique name in the config
Error: User cannot describe test scenarios clearly
Cause: User is unsure what specific tests the personality should run
Solution: Show reference examples from Mode C to inspire scenario design
Expected behavior: User sees concrete examples and can adapt them to their needs
ravnhq/ai-toolkit
e6237ae
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.