Back to Skills

smoke-test

Create a Mastra project using create-mastra and smoke test the studio in Chrome using Chrome MCP server

26,877stars2,560forksUpdated 8/4/2026

Security Assessment

Safe(92/100)
Security Score92/100

About smoke-test

Smoke Test is a Claude Code skill from the Mastra project that scaffolds a fresh Mastra application with create-mastra and then smoke-tests the resulting Mastra Studio in Chrome via the Chrome MCP server. It solves the problem of quickly validating that a given create-mastra release, package manager, and LLM provider combination produces a working project and a functioning Studio UI, which is useful for release verification and regression checking.

The skill is parameter-driven: required flags for target directory, project name, and version tag, plus optional flags for package manager (npm, yarn, pnpm, or bun) and LLM provider (openai, anthropic, groq, google, cerebras, or mistral). It begins with strict parameter parsing and validation, then runs create-mastra non-interactively with all components and example code, verifies the generated project structure, optionally adds a browser-enabled agent for browser testing, configures the single required provider API key (checking the global environment first, then the project .env, and asking the user only if needed), starts the dev server (typically on localhost:4111), and drives the Studio through Chrome MCP tools like navigate, click, type, and screenshot to run a smoke-test checklist.

It targets Mastra maintainers, contributors, and QA engineers who need a repeatable end-to-end sanity check of the framework's project generator and Studio. It requires the Chrome MCP server (Claude-in-Chrome) to be configured. API-key handling follows standard, security-conscious practice: it only checks for the one key matching the chosen provider and prefers existing environment values before prompting.

FAQ

What are the required parameters?

Three flags are required: --directory (parent directory), --name (project name), and --tag (create-mastra version tag such as latest, alpha, or a specific version). Package manager (--pm) defaults to npm and LLM provider (--llm) defaults to openai.

What prerequisites does it need?

It requires the Chrome MCP server (Claude-in-Chrome) for browser automation, which must be configured and running. It provides tools like navigate, click, type, and screenshot used to test the Studio.

How does it handle the LLM provider API key?

It checks the global environment first for the one variable matching the selected provider (for example ANTHROPIC_API_KEY), then the project's .env file, and only asks the user if the key is not already available. It intentionally checks only the single relevant key, not all providers.

Which package managers and providers are supported?

Package managers: npm, yarn, pnpm, and bun. LLM providers: openai, anthropic, groq, google, cerebras, and mistral. Invalid values cause validation to fail with usage help.

Is there a variant for other environments?

Yes. This skill is for Claude Code with the Chrome MCP server. The docs note that for MastraCode with built-in browser tools you should use the separate mastracode-smoke-test skill instead.

Install smoke-test

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill