From antigravity-awesome-skills
Compares AI-generated UI variants locally in a real app, lets the user pick one, then removes unused temporary code. Use when iterating on frontend alternatives with coding agents.
How this skill is triggered — by the user, by Claude, or both
Slash command
/antigravity-awesome-skills:unshipThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Unship is a local workflow for comparing AI-generated UI alternatives in the real application instead of accepting one generated version at a time. It adds temporary source-level variants, shows a local browser picker, and then cleans up the unused options after the user chooses.
Unship is a local workflow for comparing AI-generated UI alternatives in the real application instead of accepting one generated version at a time. It adds temporary source-level variants, shows a local browser picker, and then cleans up the unused options after the user chooses.
This skill is for frontend iteration with coding agents. It is not production A/B testing, analytics, feature flagging, or a hosted experiment service.
Prefer the project-local binary when it exists:
./node_modules/.bin/unship doctor --json --no-update-check
Otherwise install a reviewed, exact CLI version into the project and then run the local binary:
npm install --save-dev @unship/cli@<reviewed-version>
./node_modules/.bin/unship doctor --json --no-update-check
If setup is needed for the local picker, run:
./node_modules/.bin/unship setup --json
Patch only the smallest development-only mount point required to load the picker in the local preview.
Inspect the relevant page, component, route, or rendered artifact. Add the smallest source-level comparison that lets the user judge real options in context.
Use Unship markup:
<section data-unship-pick="Hero">
<div data-unship-option="Current">...</div>
<div data-unship-option="Proof-led" hidden>...</div>
<div data-unship-option="Visual" hidden>...</div>
</section>
Keep option labels short and visible. Prefer 2-4 meaningful alternatives unless the user asked for a specific count.
Before handing off to the user, check that:
data-unship-pick group exists;Tell the user the group label, option labels, setup status, and any detected local preview server hints. The user chooses by naming a visible option label in chat.
When the user picks a winner, keep that option's real source and remove losing options for that group. Remove temporary data-unship-* attributes from settled source.
For final cleanup before shipping, remove all Unship artifacts and run:
./node_modules/.bin/unship check --json
Do not claim cleanup is complete until the check reports clean.
npx @unship/cli@latest or any unpinned remote CLI in automated agent workflows. Pin and review the package version first, then execute the project-local binary.Problem: Hidden variants override hidden with CSS.
Solution: Preserve [hidden] { display: none !important; } near variant-specific CSS when needed.
Problem: The user says "keep the second one" after more changes. Solution: Confirm the exact group and option label before editing source.
Problem: The comparison grows into a broad redesign. Solution: Reduce scope to the smallest section, state, or flow that can be judged in the running app.
@webapp-testing - Use for browser-based functional checks after frontend changes.@mobile-design - Use when comparing mobile-specific UI patterns and platform constraints.npx claudepluginhub sickn33/antigravity-awesome-skills --plugin antigravity-bundle-aas-mobile-app-builderConducts design interviews, generates five UI variations matching project styles, collects feedback, refines selections, and outputs implementation plans for new or redesigned components.
Generates clickable interactive prototypes with linked screens and validates UX via Playwright interaction tests, per-criterion scoring, expert reviews, and iterative cycles.
Generates side-by-side HTML prototypes of radically different design approaches for pages, components, or features to compare visual directions and interaction models before converging.