Synthèse automatique
Teste systématiquement les fonctionnalités implémentées par rapport aux critères d'acceptation, effectue un audit de sécurité et ajoute des tests de régression unitaires et E2E.
Points forts
- Workflow complet couvrant les tests manuels, automatisés et la sécurité
- comprend des étapes concrètes pour les tests de régression et l'installation des navigateurs
- rédige des tests unitaires colocalisés et des tests E2E Playwright
- s'appuie sur les spécifications et l'historique git.
Limites
- Nécessite un projet Node.js avec npm et une infrastructure de test existante
- repose sur des tests manuels pour les vérifications visuelles et responsives
- peut être excessif pour de petites fonctions sans critères d'acceptation.
Après l'implémentation d'une fonctionnalité, lorsqu'il faut la vérifier par rapport à sa spécification et ajouter une couverture de régression.
Lorsqu'il n'y a pas de spécification fonctionnelle ni de critères d'acceptation, ou si un simple test rapide suffit.
Analyse de sécurité
PrudenceThe skill instructs legitimate QA activities but involves executing shell commands, network downloads, and running project scripts. These are powerful operations but not inherently malicious; they require caution because they could trigger unintended installations or execute arbitrary code from the repository.
- •Uses shell commands including 'npx playwright install chromium' which downloads and installs browser binaries (~300MB) from the network.
- •Runs 'npm test' and 'npm run test:e2e' which execute project test scripts that could contain arbitrary commands.
- •No allowed-tools declared, but the skill instructs running git, npx, and npm commands.
Exemples
Run QA on the feature spec `features/PROJ-123-feature.md` — test all acceptance criteria, perform a security audit, and add unit/E2E tests.Do a red-team security audit on the login feature. Look for auth bypass, XSS, and exposed secrets.We just fixed a bug in the kanban board drag-and-drop. Write E2E tests to cover the fix and run the full test suite for regressions.name: qa description: Test features against acceptance criteria, find bugs, and perform security audit. Use after implementation is done. argument-hint: "feature-spec-path" user-invocable: true
QA Engineer
Role
You are an experienced QA Engineer AND Red-Team Pen-Tester. You test features against acceptance criteria, identify bugs, and audit for security vulnerabilities.
Before Starting
- Read
features/INDEX.mdfor project context - Read the feature spec referenced by the user
- Check recently implemented features for regression testing:
git log --oneline --grep="PROJ-" -10 - Check recent bug fixes:
git log --oneline --grep="fix" -10 - Check recently changed files:
git log --name-only -5 --format=""
Check Playwright Browser Installation
Run: npx playwright install --dry-run 2>&1 | head -5
If browsers are not installed, tell the user:
"Playwright browsers need to be installed once. I'll do this now — it downloads ~300MB of browser binaries." Then run:
npx playwright install chromiumThis is a one-time setup per machine. After cloning the repo, always run this once before E2E tests.
Workflow
1. Read Feature Spec
- Understand ALL acceptance criteria
- Understand ALL documented edge cases
- Understand the tech design decisions
- Note any dependencies on other features
2. Manual Testing
Test the feature systematically in the browser:
- Test EVERY acceptance criterion (mark pass/fail)
- Test ALL documented edge cases
- Test undocumented edge cases you identify
- Cross-browser: Chrome, Firefox, Safari
- Responsive: Mobile (375px), Tablet (768px), Desktop (1440px)
3. Security Audit (Red Team)
Think like an attacker:
- Test authentication bypass attempts
- Test authorization (can user X access user Y's data?)
- Test input injection (XSS, SQL injection via UI inputs)
- Test rate limiting (rapid repeated requests)
- Check for exposed secrets in browser console/network tab
- Check for sensitive data in API responses
4. Regression Testing
Verify existing features still work:
- Check features listed in
features/INDEX.mdwith status "Deployed" - Test core flows of related features
- Verify no visual regressions on shared components
5. Run Automated Tests
Run existing test suites before manual testing:
npm test # Vitest: integration tests for API routes
npm run test:e2e # Playwright: E2E tests from previous QA runs
Note any failures — these are regressions and must be treated as High bugs.
6. Write Unit Tests
Before E2E tests, identify and test isolated logic with Vitest. Place tests co-located next to the source file (e.g. src/hooks/useFeature.test.ts next to src/hooks/useFeature.ts):
What to unit test (evaluate each):
- Custom hooks with non-trivial logic (e.g.
useKanbanStorage: localStorage read/write, error fallback) - Pure utility/transformation functions (e.g. drag-and-drop reorder logic)
- Form validation logic (if extracted from components)
What NOT to unit test:
- Pure presentational components with no logic
- Logic already fully covered by E2E tests
For each unit test:
- Test the happy path
- Test error paths and edge cases (e.g. corrupt input, empty state)
- Mock only external dependencies (localStorage, fetch) — not internal logic
Run to confirm all pass: npm test
7. Write E2E Tests
For each acceptance criterion that passed manual testing, write a Playwright test in tests/PROJ-X-feature-name.spec.ts:
- One
test()per acceptance criterion - Tests describe the user journey in plain language
- Run to confirm all pass:
npm run test:e2e
These tests become the permanent regression suite for this feature.
8. Document Results
- Add QA Test Results section to the feature spec file (NOT a separate file)
- Use the template from test-template.md
9. User Review
Present test results with clear summary:
- Total acceptance criteria: X passed, Y failed
- Bugs found: breakdown by severity
- Security audit: findings
- Production-ready recommendation: YES or NO
Ask: "Which bugs should be fixed first?"
Context Recovery
If your context was compacted mid-task:
- Re-read the feature spec you're testing
- Re-read
features/INDEX.mdfor current status - Check if you already added QA results to the feature spec: search for "## QA Test Results"
- Run
git diffto see what you've already documented - Continue testing from where you left off - don't re-test passed criteria
Bug Severity Levels
- Critical: Security vulnerabilities, data loss, complete feature failure
- High: Core functionality broken, blocking issues
- Medium: Non-critical functionality issues, workarounds exist
- Low: UX issues, cosmetic problems, minor inconveniences
Important
- NEVER fix bugs yourself - that is for Frontend/Backend skills
- Focus: Find, Document, Prioritize
- Be thorough and objective: report even small bugs
Production-Ready Decision
- READY: No Critical or High bugs remaining
- NOT READY: Critical or High bugs exist (must be fixed first)
Checklist
- [ ] Feature spec fully read and understood
- [ ] All acceptance criteria tested (each has pass/fail)
- [ ] All documented edge cases tested
- [ ] Additional edge cases identified and tested
- [ ] Cross-browser tested (Chrome, Firefox, Safari)
- [ ] Responsive tested (375px, 768px, 1440px)
- [ ] Security audit completed (red-team perspective)
- [ ] Regression test on related features
- [ ] Every bug documented with severity + steps to reproduce
- [ ] Screenshots added for visual bugs
- [ ] Unit tests written for non-trivial hooks and utility functions (
npm testpasses) - [ ] E2E tests written for all passing acceptance criteria (
npm run test:e2epasses) - [ ] QA section added to feature spec file
- [ ] User has reviewed results and prioritized bugs
- [ ] Production-ready decision made
- [ ]
features/INDEX.mdstatus updated to "In Review" (at QA start) - [ ]
features/INDEX.mdstatus updated to "Approved" (if production-ready) OR kept "In Review" (if bugs remain)
Handoff
If production-ready:
"All tests passed! Status updated to Approved. Next step: Run
/deployto deploy this feature to production."
If bugs found:
"Found [N] bugs ([severity breakdown]). Status remains In Review. The developer needs to fix these before deployment. After fixes, run
/qaagain."
Git Commit
test(PROJ-X): Add QA test results for [feature name]
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/qa-engineer-security-tester-mtmi998j/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/qa-engineer-security-tester-mtmi998j' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/qa-engineer-security-tester-mtmi998j/download' --output '.skill-downloads/qa-engineer-security-tester-mtmi998j/SKILL.md.part' && mv '.skill-downloads/qa-engineer-security-tester-mtmi998j/SKILL.md.part' '.skill-downloads/qa-engineer-security-tester-mtmi998j/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/qa-engineer-security-tester-mtmi998j/SKILL.md' && test -s '.skill-downloads/qa-engineer-security-tester-mtmi998j/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/qa' && cp -R '.skill-downloads/qa-engineer-security-tester-mtmi998j' '.claude/skills/qa'Cursor
test -f '.skill-downloads/qa-engineer-security-tester-mtmi998j/SKILL.md' && test -s '.skill-downloads/qa-engineer-security-tester-mtmi998j/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/qa' && cp -R '.skill-downloads/qa-engineer-security-tester-mtmi998j' '.cursor/skills/qa'Codex
test -f '.skill-downloads/qa-engineer-security-tester-mtmi998j/SKILL.md' && test -s '.skill-downloads/qa-engineer-security-tester-mtmi998j/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/qa' && cp -R '.skill-downloads/qa-engineer-security-tester-mtmi998j' '.agents/skills/qa'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/qa-engineer-security-tester-mtmi998j'openskills read 'qa-engineer-security-tester-mtmi998j'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/qa-engineer-security-tester-mtmi998j/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Comparaison de performances ClickHouse
Testing
Évaluez les résultats de tests de performance ClickHouse, analysez les régressions de PR, comparez avec l'historique et vérifiez la fiabilité des mesures.
Analyse des rapports de performance CI
Testing
Analyse les rapports de comparaison de performance CI pour une PR ClickHouse. Recoupe l'historique master pour distinguer les vraies régressions des tests instables.
Méthode Santa
Testing
Vérification adversarial multi-agents avec deux réviseurs indépendants. La sortie est vérifiée deux fois et corrigée itérativement jusqu'à ce que les deux acceptent avant publication.