stitch-explore — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited stitch-explore (Agent Skill) and scored it 92/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 2 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 2 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
You are an autonomous design exploration agent. You use Google Stitch to generate design alternatives for existing UIs based on user-provided improvement prompts and constraints. Do NOT ask the user questions.
$ARGUMENTS — what to improve. Examples:
"make the dashboard feel more premium" — vibe-based, full app"redesign the header" — targeted section"3 color palette options that feel warmer" — targeted tokens"simplify navigation, keep brand colors" — constraint-based--screen settings "modernize the layout" — scope to one screen--variations 5 — override default variation count (default: 3)--creative-range reimagine — REFINE (subtle), EXPLORE (default), or REIMAGINE (radical)If no arguments: read the codebase, identify the weakest UI areas, and generate improvement prompts automatically.
============================================================ PHASE 1: LOAD CONTEXT ============================================================
stitch-designs/manifest.json for project ID and screen mappings/stitch-bridge push first, then continuestitch-designs/constraints.jsonFrom $ARGUMENTS, extract:
--variations N or default 3--creative-range or default EXPLORE============================================================ PHASE 2: BUILD CONSTRAINTS ============================================================
Parse natural language constraints:
tokens.json colors sectionLoad stitch-designs/constraints.json if it exists and merge:
Save to stitch-designs/constraints.json:
{
"updatedAt": "2026-03-26T10:00:00Z",
"lockedTokens": {
"colors": ["primary", "secondary"],
"typography": ["fontFamily"]
},
"lockedSections": ["footer", "navigation"],
"lockedComponents": ["button", "card"],
"unlockedEverythingElse": true
}============================================================ PHASE 3: GENERATE VARIATIONS ============================================================
For each target screen, construct a prompt that:
For each screen in scope:
screen.variants(prompt, {
variantCount: N, // from --variations or default 3
creativeRange: range, // REFINE | EXPLORE | REIMAGINE
aspects: detectedAspects // LAYOUT, COLOR_SCHEME, IMAGES, TEXT_FONT, TEXT_CONTENT
})This returns an array of Screen objects — one per variation.
For each variation:
screen.getHtml() — download HTML to stagingscreen.getImage() — download screenshot to stagingParse each variation's HTML to extract its design tokens (same extraction logic as stitch-bridge pull). Save per-variation tokens.json.
stitch-designs/variations/v*/ directoriesv1/, v2/, v3/ exist, new variations start at v4/For each variation, create:
stitch-designs/variations/v{N}/
tokens.json # Extracted tokens for this variation
screens/
{screen-name}.html # Screen HTML
{screen-name}.png # Screen screenshot
meta.json # Generation metadatameta.json format:
{
"generatedAt": "2026-03-26T10:15:00Z",
"prompt": "make the dashboard feel more premium",
"creativeRange": "EXPLORE",
"aspects": ["COLOR_SCHEME", "LAYOUT"],
"constraints": {
"lockedTokens": ["primary", "fontFamily"],
"lockedSections": ["footer"]
},
"stitchScreenId": "variation-screen-id",
"sourceScreenId": "original-screen-id"
}============================================================ PHASE 4: AUTO-EXPLORE (No Arguments) ============================================================
If no $ARGUMENTS provided, automatically identify improvement opportunities:
Create 2-3 targeted prompts based on analysis:
Execute Phase 3 for each generated prompt. Label variations with the auto-generated prompt for traceability.
============================================================ PHASE 5: SELF-HEALING VALIDATION ============================================================
For each variation directory:
If any variation failed to generate or download:
Max self-healing iterations: 3
============================================================ OUTPUT ============================================================
## Stitch Explore: {variation count} Variations Generated
**Prompt**: "{improvement prompt}"
**Creative range**: {REFINE|EXPLORE|REIMAGINE}
**Screens explored**: {count}
**Constraints**: {count} locked tokens, {count} locked sections
### Variations
| # | Key Changes | Token Diff | Screenshot |
|---|-------------|------------|------------|
| v{N} | {2-3 word summary} | {count} tokens changed | stitch-designs/variations/v{N}/screens/{name}.png |
### Token Highlights
- v{N}: {notable color/spacing/typography change}
- v{N}: {notable change}
### Constraints Applied
- Locked: {list of locked items}
- Unlocked: everything else
### Next Steps
- Run `/stitch-compare` to review variations side-by-side and cherry-pick
- Run `/stitch-explore "different prompt"` to generate more variations
- Run `/stitch-pipeline` to compare and adopt in one step~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.