synclisted
Install: claude install-skill elwizard33/qa-my-app
# /qa-my-app:sync — Reconcile catalog with current code
## Project context
- Catalog present: !`test -f QA-tests/catalog.json && echo YES || echo NO`
- Drift report: !`node "${CLAUDE_PLUGIN_ROOT}/scripts/catalog-diff.mjs" --json 2>/dev/null || echo '{"error":"no-catalog"}'`
- Framework: !`node "${CLAUDE_PLUGIN_ROOT}/scripts/detect-framework.mjs"`
- Recent changes: !`git diff --name-only HEAD~5..HEAD 2>/dev/null | head -100`
## Runtime settings
| Setting | Value |
|---|---|
| Parallel page-analyzer agents | `${user_config.parallel_agents}` |
| Parallel test-author agents | `${user_config.parallel_test_authors}` |
| Browser engine | `${user_config.browser_engine}` |
| Browser channel / headless | `${user_config.browser_channel}` / `${user_config.browser_headless}` |
| Auth mode | `${user_config.auth_mode}` |
| Task depth | `${user_config.task_depth}` |
## Instructions
**Browser-agent pre-check.** Before spawning any page-analyzer agents, verify `.claude/agents/qa-page-analyzer.md` exists. If not:
```bash
mkdir -p .claude/agents
```
Then read `${CLAUDE_PLUGIN_ROOT}/agents/qa-page-analyzer.md` and write to `.claude/agents/qa-page-analyzer.md`. Do the same for `qa-test-runner.md`. If the files already exist, leave them unchanged. For any file you **just created**, if `${user_config.browser_engine}` is not `playwright` (or empty), replace its `mcpServers:` frontmatter block with the one for the selected engine exactly as documented in `/qa-my-app:init` Phase 0 and [docs/browser