
Smoke Test
Scaffold a Mastra app with create-mastra and verify Mastra Studio loads and works in Chrome before you trust a release or template.
Overview
smoke-test is an agent skill most often used in Ship (also Build integrations) that scaffolds a Mastra project with create-mastra and smoke-tests Mastra Studio in Chrome via the Chrome MCP server.
Install
npx skills add https://github.com/mastra-ai/mastra --skill smoke-testWhat is this skill?
- Runs create-mastra@tag with required directory, name, and version flags plus optional npm/yarn/pnpm/bun and LLM provider
- Designed for Claude Code with Chrome MCP server (use mastracode-smoke-test when the agent has built-in browser tools)
- CLI-style /smoke-test invocation with short flags (-d, -n, -t, -p, -l)
- Exercises Mastra Studio in a real Chrome session rather than only checking install exit codes
- 5 CLI parameters (directory, name, tag required; pm and llm optional with defaults)
Adoption & trust: 973 installs on skills.sh; 24.9k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You upgraded create-mastra or picked a new template and need proof the project boots and Studio works in a browser—not just that the CLI finished.
Who is it for?
Mastra contributors and solo builders validating create-mastra tags, package managers, or LLM provider wiring on a local machine with Claude Code and Chrome MCP.
Skip if: Teams on MastraCode with native browser tools (use mastracode-smoke-test), headless-only CI without Chrome MCP, or non-Mastra stacks.
When should I use this skill?
You need to create a Mastra project using create-mastra and verify Mastra Studio in Chrome with Chrome MCP.
What do I get? / Deliverables
You get a freshly created Mastra project exercised against Mastra Studio in Chrome so you can commit to building features or shipping knowing the baseline path works.
- New Mastra project directory
- Browser-verified Mastra Studio session
- Smoke-test pass/fail signal for the chosen tag and package manager
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Canonical shelf is Ship because the skill’s purpose is end-to-end verification after project creation, not feature implementation. Smoke testing maps directly to the testing subphase—quick confidence checks that the generated project and Studio UI are runnable.
Where it fits
After bumping create-mastra alpha, scaffold a throwaway app and confirm Studio connects to your chosen LLM provider.
Before publishing docs for a new template, run smoke-test to ensure the default npm path still opens Studio.
When a user reports 'Studio won't load,' reproduce with the same --tag and --pm flags via the skill's scripted flow.
How it compares
Use for scripted scaffold-plus-browser smoke checks instead of ad-hoc manual npm create and clicking Studio without a checklist.
Common Questions / FAQ
Who is smoke-test for?
Mastra users and maintainers who run Claude Code with the Chrome MCP server and want a repeatable create-mastra plus Studio verification loop.
When should I use smoke-test?
In Ship testing before you tag a release or merge template changes; in Build integrations when validating a new create-mastra version, package manager, or LLM provider default; anytime you need browser-level confidence in Mastra Studio after scaffolding.
Is smoke-test safe to install?
It runs shell commands, installs packages, and controls Chrome via MCP—review filesystem and network scope in your environment and check the Security Audits panel on this Prism page before running on sensitive machines.
SKILL.md
READMESKILL.md - Smoke Test
# Smoke Test Skill Creates a new Mastra project using `create-mastra@<tag>` and performs smoke testing of the Mastra Studio in Chrome. **This skill is for Claude Code with Chrome MCP server.** For MastraCode with built-in browser tools, use `mastracode-smoke-test` instead. ## Usage ``` /smoke-test --directory <path> --name <project-name> --tag <version> [--pm <package-manager>] [--llm <provider>] /smoke-test -d <path> -n <project-name> -t <version> [-p <package-manager>] [-l <provider>] ``` ## Parameters | Parameter | Short | Description | Required | Default | | ------------- | ----- | ---------------------------------------------------------------------------- | -------- | -------- | | `--directory` | `-d` | Parent directory where project will be created | **Yes** | - | | `--name` | `-n` | Project name (will be created as subdirectory) | **Yes** | - | | `--tag` | `-t` | Version tag for create-mastra (e.g., `latest`, `alpha`, `0.10.6`) | **Yes** | - | | `--pm` | `-p` | Package manager: `npm`, `yarn`, `pnpm`, or `bun` | No | `npm` | | `--llm` | `-l` | LLM provider: `openai`, `anthropic`, `groq`, `google`, `cerebras`, `mistral` | No | `openai` | ## Examples ```sh # Minimal (required params only) /smoke-test -d ~/projects -n my-test-app -t latest # Full specification /smoke-test --directory ~/projects --name my-test-app --tag alpha --pm pnpm --llm anthropic # Using short flags /smoke-test -d ./projects -n smoke-test-app -t 0.10.6 -p bun -l openai ``` ## Step 0: Parameter Validation (MUST RUN FIRST) **CRITICAL**: Before proceeding, parse the ARGUMENTS and validate: 1. **Parse arguments** from the ARGUMENTS string provided above 2. **Check required parameters**: - `--directory` or `-d`: REQUIRED - fail if missing - `--name` or `-n`: REQUIRED - fail if missing - `--tag` or `-t`: REQUIRED - fail if missing 3. **Apply defaults** for optional parameters: - `--pm` or `-p`: Default to `npm` if not provided - `--llm` or `-l`: Default to `openai` if not provided 4. **Validate values**: - `pm` must be one of: `npm`, `yarn`, `pnpm`, `bun` - `llm` must be one of: `openai`, `anthropic`, `groq`, `google`, `cerebras`, `mistral` - `directory` must exist (or will be created) - `name` should be a valid directory name (no spaces, special chars) **If validation fails**: Stop and show usage help with the missing/invalid parameters. **If `-h` or `--help` is passed**: Show this usage information and stop. ## Prerequisites This skill requires the **Chrome MCP server** (Claude-in-Chrome) for browser automation. Ensure it's configured and running. The Chrome MCP server provides tools like `tabs_create_mcp`, `tabs_context_mcp`, `navigate_mcp`, `click_mcp`, `type_mcp`, and `screenshot_mcp`. ## Execution Steps ### Step 1: Create the Mastra Project Run the create-mastra command with explicit parameters to avoid interactive prompts: ```sh # For npm npx create-mastra@<tag> <project-name> -c agents,tools,workflows,scorers -l <llmProvider> -e # For yarn yarn create mastra@<tag> <project-name> -c agents,tools,workflows,scorers -l <llmProvider> -e # For pnpm pnpm create mastra@<tag> <project-name> -c agents,tools,workflows,scorers -l <llmProvider> -e # For bun bunx create-mastra@<tag> <project-name> -c agents,tools,workflows,scorers -l <llmProvider> -e ``` **Flags explained:** - `-c agents,tools,workflows,scorers` - Include all components - `-l <provider>` - Set the LLM provider - `-e` - Include example code Being explicit with all parameters ensures the CLI runs non-interactively. Wait for the installation to compl