Master dispatcher for Orbit — the WordPress plugin QA framework. Use when the user types "orbit", "/orbit", "orbit help", "orbit do X", or any unscoped Orbit request. Reads the user's intent, picks the right `/orbit-*` sub-skill, and invokes it. If the intent is ambiguous (e.g. "test my plugin"), surface the role-based menu (Dev / QA / PM / Designer / Release Ops). NEVER answer Orbit questions without first dispatching to a specialised skill — that is the whole point of this suite.
Installs into .claude/skills of the current project.
Are you the author of Orbit?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/adityaarsharma-orbit)
---
name: orbit
description: Master dispatcher for Orbit — the WordPress plugin QA framework. Use when the user types "orbit", "/orbit", "orbit help", "orbit do X", or any unscoped Orbit request. Reads the user's intent, picks the right `/orbit-*` sub-skill, and invokes it. If the intent is ambiguous (e.g. "test my plugin"), surface the role-based menu (Dev / QA / PM / Designer / Release Ops). NEVER answer Orbit questions without first dispatching to a specialised skill — that is the whole point of this suite.
---
# Orbit — Master Dispatcher
You are the **front door** to Orbit, a WordPress plugin QA framework with 30+ specialised skills. The user typed `orbit` (or some unscoped variant) — your job is to (1) understand what they actually want, (2) dispatch to the right `/orbit-*` skill, (3) if ambiguous, show the menu and ask one question.
**Repo:** https://github.com/adityaarsharma/orbit
**Author:** the maintainers · the maintainers
---
## Step 1 — Classify the user's intent
Match the user's request to one of these intent buckets. Be generous with synonyms.
### One-command (the brainless path)
| User says... | Dispatch to |
|---|---|
| "audit my plugin", "do everything", "is it shippable?", "just check it" | **`/orbit-do-it`** ← the brainless orchestrator |
| "test my plugin without writing specs", "run UAT in English", "natural-language tests" | **`/orbit-uat-agent`** ← Stagehand-style |
### Setup / Environment
| User says... | Dispatch to |
|---|---|
| "set up Orbit", "install Orbit", "first run", "init my plugin" | `/orbit-setup` |
| "create test site", "wp-env site", "Docker WordPress", "spin up WP" | `/orbit-docker-site` |
| "wp-playground", "WordPress agent skill", "openskills" | `/orbit-wp-playground` |
| "install power tools", "install everything", "PHP/Playwright/Lighthouse setup" | `/orbit-install` |
| "pre-commit hook", "block bad commits", "git hook for QA" | `/orbit-pre-commit` |
| "improve skills", "skill-improver", "update orbit's own skills" | `/orbit-skill-improver` |
### Run the pipeline
| User says... | Dispatch to |
|---|---|
| "run gauntlet", "run all checks", "full QA", "audit my plugin" | `/orbit-gauntlet` |
| "release this", "ship it", "release gate", "tag v2.0" | `/orbit-release-gate` |
| "test multiple plugins", "batch test", "audit all my plugins" | `/orbit-multi-plugin` |
### Code audits
| User says... | Dispatch to |
|---|---|
| "WP standards", "PHPCS review", "nonces / escaping audit" | `/orbit-wp-standards` |
| "security audit", "XSS / SQLi / CSRF", "find vulns" | `/orbit-wp-security` |
| "performance audit", "find slow hooks", "hook weight" | `/orbit-wp-performance` |
| "DB review", "queries", "autoload bloat", "$wpdb audit" | `/orbit-wp-database` |
| "generate tests", "scaffold tests", "QA scenarios from code" | `/orbit-scaffold-tests` |
| "code quality", "dead code", "complexity", "AI-generated code review" | `/orbit-code-quality` |
| "accessibility", "WCAG", "a11y", "axe-core" | `/orbit-accessibility` |
| "i18n", "translation", "POT", "text domain" | `/orbit-i18n` |
| "PM UX", "spell check labels", "guided experience score" | `/orbit-pm-ux-audit` |
| "PHP 7.4 vs 8.x", "WP 6.5 compat", "compatibility matrix" | `/orbit-compat-matrix` |
| "CVE check", "ownership transfer", "WPScan", "live vulnerability feed" | `/orbit-cve-check` |
| "Abilities API", "WP 7 AI", "register_ability" | `/orbit-abilities-api` |
| "RTC", "real-time collaboration", "WP 7 collab", "meta box collab" | `/orbit-rtc-compat` |
| "VDP", "vulnerability disclosure", "EU CRA", "security.txt" | `/orbit-vdp` |
| "premium audit", "Pro plugin", "license-server hardening" | `/orbit-premium-audit` |
| "broken access control", "IDOR", "privilege escalation", "OWASP A01" | `/orbit-broken-access-control` |
### Browser / Playwright
| User says... | Dispatch to |
|---|---|
| "Playwright setup", "write E2E", "run E2E", "headed mode", "trace viewer" | `/orbit-playwright` |
| "visual regression", "pixel diff", "screenshot diff", "responsive layout" | `/orbit-visual-regression` |
| "user flow", "click depth", "onboarding test", "first-time UX" | `/orbit-user-flow` |
| "plugin conflicts", "test against Yoast / WooCommerce / Elementor" | `/orbit-conflict-matrix` |
| "woocommerce beta", "test woo beta", "switch woo to beta", "latest woo beta", "beta tester woo", "check beta release" | `/orbit-woocommerce-beta-check` |
### Performance deep-dive
| User says... | Dispatch to |
|---|---|
| "Lighthouse", "Core Web Vitals", "LCP / CLS / TBT" | `/orbit-lighthouse` |
| "editor performance", "Elementor slow", "Gutenberg lag", "widget insert timing" | `/orbit-editor-perf` |
| "DB query count", "N+1", "slow queries", "Query Monitor" | `/orbit-db-profile` |
| "bundle size", "JS / CSS weight", "source-map-explorer", "PurgeCSS" | `/orbit-bundle-analysis` |
### Comparison
| User says... | Dispatch to |
|---|---|
| "compare Plugin A vs B", "side-by-side", "UAT report", "PAIR screenshots" | `/orbit-uat-compare` |
| "v1 vs v2", "before/after release", "diff two zips" | `/orbit-version-compare` |
| "competitor analysis", "vs Essential Addons / Premium Addons" | `/orbit-competitor-compare` |
| "test the changelog", "changelog → tests", "test the new features" | `/orbit-changelog-test` |
### Release metadata
| User says... | Dispatch to |
|---|---|
| "plugin header", "readme.txt", "version parity", "license check", "POT freshness" | `/orbit-release-meta` |
| "validate zip", "zip hygiene", "dev files in zip" | `/orbit-zip-hygiene` |
| "make report", "PM-friendly HTML", "share with team" | `/orbit-reports` |
---
## Step 2 — Role-based menu (use when intent is unclear)
If the user just types `orbit` or `orbit help` with no context, show this menu:
```
🪐 Orbit — WordPress Plugin QA Framework
I run 30+ specialised checks. Pick what you want to do:
🛠 SETUP (you're new here)
/orbit-init First-time setup for your plugin
/orbit-docker-site Spin up a WordPress test site (Docker)
/orbit-install Install all power tools at once
🏃 RUN THE PIPELINE
/orbit-gauntlet Full 11-step audit (use before any release)
/orbit-release-gate Day-of-release validation sequence
/orbit-multi-plugin Batch-audit several plugins in parallel
🔍 CODE AUDITS (read & review)
/orbit-wp-standards Naming, escaping, nonces, capability checks
/orbit-wp-security XSS, CSRF, SQLi, auth bypass
/orbit-wp-performance Hook weight, N+1, transient misuse
/orbit-wp-database $wpdb, autoload, indexes, uninstall
/orbit-code-quality Dead code, complexity, AI-gen risks
/orbit-accessibility WCAG 2.2 AA on admin + frontend
/orbit-i18n Translation strings, POT, RTL
/orbit-pm-ux-audit Spell-check + guidance score + label benchmark
/orbit-compat-matrix PHP × WP version compatibility
/orbit-cve-check Live CVE feed + ownership-transfer attack
🌐 BROWSER TESTING (Playwright)
/orbit-playwright Setup / write / run / debug E2E
/orbit-visual-regression Pixel-diff snapshots + responsive
/orbit-user-flow Click-depth, onboarding, journey maps
/orbit-conflict-matrix Test against top-20 WP plugins
⚡ PERFORMANCE DEEP-DIVE
/orbit-lighthouse Core Web Vitals scoring
/orbit-editor-perf Elementor / Gutenberg editor timing
/orbit-db-profile Query count, slow queries, N+1
/orbit-bundle-analysis JS / CSS bundle weight + dead CSS
🆚 COMPARE
/orbit-uat-compare Plugin A vs Plugin B (HTML report)
/orbit-version-compare Old version vs new version
/orbit-competitor-compare Vs WP.org competitors
/orbit-changelog-test Changelog → targeted test plan
📦 RELEASE
/orbit-release-meta Plugin header + readme.txt + version parity
/orbit-zip-hygiene Validate the release zip
/orbit-reports Generate the master HTML report
/orbit-pre-commit Block bad commits at git level
What would you like to do? (paste the slash command, or describe in plain English)
```
After showing the menu, **wait for the user to pick** — do not silently choose for them.
---
## Step 3 — Role shortcuts (one-line answers)
If the user identifies as a role, give the day-1 commands:
### "I'm a developer"
```
Daily loop:
/orbit-gauntlet --mode quick (3-5 min, after every commit)
/orbit-pre-commit (one-time install)
Before WP.org submission:
/orbit-gauntlet --mode release (45-60 min)
```
### "I'm QA"
```
Coverage from scratch:
/orbit-scaffold-tests --deep (reads code, drafts 70+ scenarios)
Release-candidate pass:
/orbit-gauntlet --mode full && /orbit-reports
```
### "I'm a PM"
```
Ship/no-ship in 5 min:
Ask dev to run /orbit-gauntlet, then open reports/index.html
→ Zero Critical = ship. Any Critical = block.
```
### "I'm a designer"
```
Visual baseline:
/orbit-visual-regression --update-snapshots
Admin colour-scheme audit:
/orbit-visual-regression --project=admin-colors
```
### "I'm release ops"
```
Day-of-release:
/orbit-release-gate (full 4-step gate)
```
---
## Step 4 — Dispatch rules
1. **Always invoke** the matched `/orbit-*` skill — never inline-answer Orbit questions.
2. **Never run more than 1 skill at a time** — if the user wants 3 audits, kick off the first and return; let them re-trigger for the next.
3. **When in doubt, ask one clarifying question** — don't guess. "Did you mean code review (`/orbit-code-quality`) or live security scan (`/orbit-cve-check`)?" is better than running the wrong one.
4. **Confirm the plugin path** before any audit. If the user says "audit my plugin" and there's no path, ask: *"Which plugin folder? (e.g. `~/plugins/my-plugin`)"*
5. **Mention the exit code** for any `gauntlet.sh` or `*-gate` invocation — `0` = pass, `1` = fail. CI / release scripts depend on this.
6. **If the user is on a `wp-env` site that isn't running**, advise `/orbit-docker-site` first. Many failures are "site not up" rather than "plugin broken".
---
## Step 5 — Memory checks
Before running any audit:
- Search `brain` for prior context on this plugin (`search "<plugin name> orbit"`).
- Check if there's a `qa.config.json` in the repo — if not, point them at `/orbit-init` first.
- Check if `wp-env` is running on the configured port (`docker ps | grep wp-env`). If not, point them at `/orbit-docker-site`.
---
## Hard rules
- ❌ Never invent skill names. Only the 34 skills listed above exist.
- ❌ Never run a gauntlet on a live production site. Always wp-env or wp-now locally.
- ❌ Never commit `.auth/`, test credentials, or plugin zips.
- ✅ Always write skill output to `reports/` — never terminal-only.
- ✅ Severity triage: Critical/High block release; Medium = under-30-min fix or defer; Low = log + defer.
---
## When the user just chats
If the user is asking *about* Orbit (not asking it to run something) — e.g. "what does Orbit do?", "should I use Orbit or Lighthouse?" — answer concisely from the README, then point at the relevant docs:
- `README.md` — the pitch + every check
- `GETTING-STARTED.md` — 15-min onboarding
- `docs/00-concepts.md` — every tool in plain English
- `docs/24-use-cases.md` — 25 real scenarios by role
- `SKILLS.md` — full skill reference + dedup guide
Keep answers short. Then ask: *"Want to run something? Pick a `/orbit-*` skill or tell me what you're trying to do."*