Stitch Asset Uploader
Reliably upload local images, HTML, and design documents to Google Stitch projects.
The evidence requires a valid API key and mandates user confirmation of file paths, sizes, and types before upload. However, it passes the key on the command line, does not explain credential exposure, sensitive-data handling, upload scope, revocation, or rollback, and sends local content to an external Stitch service; points are deducted for these gaps.
The script provides extension validation, file-existence checks, MIME mapping, a timeout, and HTTP error output, making the main path plausible. It does not handle general network failures, JSON parsing failures, oversized files, or semantic API errors. The documentation also mentions --create-screen-instances, but the actual argument parser does not expose it; points are deducted. Static review limits this score to 10 or below.
The target scenario, supported inputs, required parameters, and basic trigger condition are fairly clear. Boundaries for sensitive files, oversized files, and non-fit cases are absent; the core function depends on Stitch and an overseas endpoint, with no Chinese-language or mainland-China reachability guidance; points are deducted.
The skill uses readable progressive sections, parameter documentation, a file-type table, prerequisites, and troubleshooting guidance. Repository context supplies an Apache-2.0 license and security-reporting path. The skill lacks its own version, changelog, named maintenance responsibility, update path, complete examples, and systematic limitation/troubleshooting coverage; points are deducted.
The script can encode images, HTML, and Markdown and submit them as Stitch screens, plausibly completing the core upload task and avoiding model-output base64 truncation. There are no skill-specific tests, real result evidence, or verifiable usable-output examples, so API compatibility and post-upload usability remain unconfirmed; points are deducted under the static cap.
The source code, argument definitions, and request construction are auditable, and the repository includes a CI workflow. That workflow covers an unrelated react-components example and does not test this upload path or a real Stitch request; there is no third-party execution evidence or corroboration, so points are deducted.
- Uploading sends the selected local file to the external Stitch API; confirm that it contains no sensitive information and avoid exposing the command-line API key through shared process listings or logs.
- The documented --create-screen-instances option is inconsistent with the script, and network, parsing, and oversized-file failure paths are thin.
- Stitch depends on an overseas service; mainland-China reachability, data residency, and compliance are not addressed in the supplied material.
What does this skill do, and when should you use it?
This Agent Skill from google-labs-code/stitch-skills uploads local visual assets, HTML pages, and Markdown design documents to Stitch projects. It first uses Stitch MCP list_projects to identify the target project, then reads the MCP configuration for an API key and runs the provided upload script to send the file directly over HTTP. The script is intended to avoid base64 output-size limits that can affect direct MCP file uploads. Adoption requires a configured and running Stitch MCP server, local filesystem access, and a valid Stitch API key.
Reads local PNG, JPG, JPEG, WEBP, HTML, HTM, or MD files; calls Stitch MCP list_projects to find the target projectId; extracts the Stitch API key and optional API URL from documented Antigravity, Gemini CLI, or Claude Code configuration locations; runs the provided Python upload script to send the file to Stitch over HTTP; optionally sets an uploaded screen title and generation source; and auto-detects the MIME type from the file extension.
- A designer needs to upload local mockups or image assets to an existing Stitch project.
- A frontend engineer needs to send an extracted static HTML page to Stitch for design work.
- A team needs to upload a DESIGN.md or other Markdown design document to a Stitch project.
- A direct Stitch MCP upload fails or truncates because the file's base64 representation exceeds output limits.
What are this skill's strengths and limitations?
- Supports local images, HTML pages, and Markdown design documents.
- Uses direct script-based transfer to bypass MCP base64 output limits.
- Provides optional API URL, screen title, and generation-source parameters.
- Follows the Agent Skills open standard and is suitable for compatible clients such as Claude Code and Codex.
- Requires a configured Stitch MCP server and a valid Stitch API key.
- Requires explicit user confirmation before the upload script runs, so it is not fully unattended.
- The source does not provide test coverage, version compatibility, or maintenance metrics for the individual skill.
- The documentation does not establish support for formats beyond the listed extensions.
How do you install this skill?
Use the selective installation command documented in the repository README: npx skills add google-labs-code/stitch-skills. In Codex, you can also add google-labs-code/stitch-skills as a marketplace and install the stitch-design plugin. The Stitch MCP server must be configured and running; the source does not document a separate installation directory for this individual skill.
How do you use this skill?
Use list_projects to identify the target projectId, confirm that the MCP configuration contains a valid Stitch API key, then use a prompt such as “Upload .stitch/landing_page.html to Stitch project projects/987654321.” Before running the upload script, the user must be shown the files' paths, sizes, and types and must explicitly approve. Then run scripts/upload_to_stitch.py with --project-id, --file-path, and --api-key; --api-url, --title, and --generated-by are optional.
How does this skill compare with similar options?
The documented alternative is direct Stitch MCP tool usage: when direct MCP uploads fail or truncate because of base64 output limits, this skill runs an upload script that sends the file over HTTP. The source provides no comparison with other standalone upload products.