run-e2e
Run Playwright E2E tests for the hosted MCP Cloudflare Worker. Use this skill when the user says /run-e2e, "run e2e tests", "run the e2e", "run playwright tests", or wants to test the hosted worker end-to-end. Handles starting Umbraco, building, and running the full test suite.
What this skill does
# Run E2E Tests
Playwright-based E2E tests that drive the MCP Inspector UI through the full OAuth flow against the real Forms worker (`src/worker.ts`), which includes both Forms tool collections and in-process CMS chaining.
Key files:
- Test file: `tests/forms-hosted-e2e/e2e/mcp-inspector.test.ts`
- Worker setup: `tests/forms-hosted-e2e/e2e/helpers/worker-setup.ts`
- Wrangler config: `tests/forms-hosted-e2e/wrangler.e2e.toml`
- Shared test helpers from `@umbraco-cms/mcp-hosted/testing`
## Steps
### 1. Check prerequisites
- Verify `demo-site/` exists (has a `.csproj` file). If not, tell the user to run `npx create-umbraco-mcp-server init`.
### 2. Kill stale processes
Kill any stale processes on the E2E ports (Umbraco, Worker, Inspector):
```bash
npm run kill:e2e-ports
```
Tell the user which stale processes were found and killed.
### 3. Build the project
Build the worker before running tests:
```bash
npm run build
```
### 4. Start Umbraco as a background subprocess
Start Umbraco using the existing npm script with `run_in_background: true`:
```bash
npm run start:umbraco
```
Then wait for Umbraco to be ready. Run this single bash command which loops until the health check succeeds (up to 120 seconds):
```bash
for i in $(seq 1 24); do if curl -sk -o /dev/null -w '%{http_code}' https://localhost:44374 --max-time 5 | grep -q '200\|302'; then echo "Umbraco is ready"; exit 0; fi; echo "Waiting for Umbraco... (attempt $i/24)"; sleep 5; done; echo "Umbraco failed to start within 120s"; exit 1
```
Tell the user you're waiting for Umbraco to start. If the health check fails after 120 seconds, tell the user and stop.
### 5. Run the E2E tests
The Cloudflare Worker and MCP Inspector are started automatically by the test framework (via `worker-setup.ts` and shared helpers) — no manual setup needed.
Run the tests:
```bash
npm run test:e2e
```
If the user asked for a specific test, use:
```bash
npx playwright test --config tests/forms-hosted-e2e/e2e/playwright.config.ts -g "<test-name>"
```
**Useful flags** the user may request:
- `--headed` — watch tests in browser
- `--debug` — open Playwright Inspector
- `SLOW_MO=500` — slow down browser actions
### 6. Report results
Show the test results to the user. If tests failed, read the relevant test file and any error output to help diagnose.
### 7. Cleanup
Do NOT stop the Umbraco instance after tests — the user may want to run them again or use it for other work. Only stop it if the user explicitly asks.
## Prerequisites reference
These must be set up once (not part of the skill flow):
1. **Umbraco demo-site** in `demo-site/` directory
2. **Umbraco backoffice user** with credentials: `[email protected]` / `SecurePass1234`
3. **OAuth client** `umbraco-mcp-forms-hosted` registered in the Umbraco backoffice
4. **Playwright browsers**: `npx playwright install`
Related in Cloud & DevOps
appbuilder-action-scaffolder
IncludedCreate, implement, deploy, and debug Adobe Runtime actions with consistent layout, validation, and error handling. Use this skill whenever the user needs to add actions to an App Builder project, understand action structure (params, response format, web/raw actions), configure actions in the manifest, use App Builder SDKs (State, Files, Events, database), deploy and invoke actions via CLI, debug action issues, or implement patterns such as webhook receivers, custom event providers, journaling consumers, large payload redirects, action sequence pipelines, and Asset Compute workers. Also trigger when users mention serverless functions in Adobe context, action logging, IMS authentication for actions, or cron-style scheduled actions.
orchestrating-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. Use this skill when the user needs a multi-step Data Cloud pipeline, cross-phase troubleshooting, or data space and data kit management. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase sf data360 workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching phase-specific skill), the task is STDM/session tracing/parquet telemetry (use observing-agentforce), standard CRM SOQL (use querying-soql), or Apex implementation (use generating-apex).
github-project-automation
IncludedAutomate GitHub repository setup with CI/CD workflows, issue templates, Dependabot, and CodeQL security scanning. Includes 12 production-tested workflows and prevents 18 errors: YAML syntax, action pinning, and configuration. Use when: setting up GitHub Actions CI/CD, creating issue/PR templates, enabling Dependabot or CodeQL scanning, deploying to Cloudflare Workers, implementing matrix testing, or troubleshooting YAML indentation, action version pinning, secrets syntax, runner versions, or CodeQL configuration. Keywords: github actions, github workflow, ci/cd, issue templates, pull request templates, dependabot, codeql, security scanning, yaml syntax, github automation, repository setup, workflow templates, github actions matrix, secrets management, branch protection, codeowners, github projects, continuous integration, continuous deployment, workflow syntax error, action version pinning, runner version, github context, yaml indentation error
sf-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase `sf data360` workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching sf-datacloud-* skill), the task is STDM/session tracing/parquet telemetry (use sf-ai-agentforce-observability), standard CRM SOQL (use sf-soql), or Apex implementation (use sf-apex).
fabric-cli
IncludedUse this skill for Fabric.so CLI workflows with the `fabric` terminal command: diagnose/install/login, search or browse a Fabric library, save notes/links/files, create folders, ask the Fabric AI assistant, manage tasks/workspaces, generate shell completion, check subscription usage, produce JSON output, and use Fabric as persistent agent memory. Do not use for Microsoft Fabric/Azure/Power BI `fab`, Daniel Miessler's Fabric framework, Python Fabric SSH, Fabric.js, or textile/fashion fabric.
lark
IncludedLark/Feishu CLI skills: lark-cli operations for docs, markdown, sheets, base, calendar, im, mail, task, okr, drive, wiki, slides, whiteboard, apps, approval, attendance, contact, vc, minutes, event. Use when the user needs to operate Lark/Feishu resources via lark-cli, send messages, manage documents, spreadsheets, calendars, tasks, OKRs, deploy web pages, or any Feishu/Lark workspace operations.