Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Prototype

ASecurity

Build a throwaway HTML or in-app prototype that answers one design question. Use when the user wants to try a state model or UI idea before committing, or says "mock it up", "prototype", "what should this look like".

2 stars
0 votes
0 copies
0 views
Added 9/20/2026
developmentvueapi

Works with

cliapi

Security Analysis

A100/100

Scanned 9/20/2026

Install to Claude Code

$npx -y skills add lttr/claude-marketplace --skill prototype --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Prototype?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Prototype
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/lttr-prototype/badge)](https://www.skillsdirectory.com/skills/lttr-prototype)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: prototype
description: Build a throwaway HTML or in-app prototype that answers one design question. Use when the user wants to try a state model or UI idea before committing, or says "mock it up", "prototype", "what should this look like".
disable-model-invocation: true
---

# Prototype

A prototype is throwaway code that answers **one question**. Write the question down first, in one paragraph at the top of the prototype where the reader sees it. Then build the smallest thing that answers it.

## Two modes

Pick by asking: does the prototype need the real app around it to be judged?

- **Standalone (default).** Plain HTML/CSS/JS, no framework, no bundler, no server. One file per prototype, saved in the task folder per the `aiwork-protocol` skill: `prototype/index.html`, or `prototype/{name}.html` for several. Everything inline so it opens by double-click and can be sent to anyone. Use for logic and state models, and for UI ideas that can be judged in isolation.
- **Integrated.** Variants rendered inside the project's framework, on a real route with the real header, data and density, because a variant in a vacuum always looks fine. Work on a dedicated `prototype/{name}` branch that is never merged. Follow the project's conventions (Nuxt: `pages/`, `components/`, its CSS system) and name files so they are obviously prototypes: `components/prototype/`, `pages/prototype/{name}.vue`. Start it with the project's normal dev command.

## Rules

- **No polish.** No tests, no error handling beyond what makes it run, no abstractions, no generalising for later.
- **No persistence.** State lives in memory. Persistence is something a prototype checks, not something it depends on.
- **Surface the state.** After every action or variant switch, show the full relevant state and what just changed.
- **Read-only against the real app.** Integrated variants never call real mutations. Stub them.

## Logic prototype

For "does this state machine / data model / API shape hold up". One HTML file a non-developer can drive.

- Keep the logic in one `<script>` block as a pure module: a reducer `(state, action) => state`, an explicit state machine when "which actions are legal now" is part of the question, or a few pure functions over plain data. No DOM inside it. The page calls it, never the reverse.
- Page layout, top to bottom:
  1. Title and the question.
  2. Current state as labelled fields, not raw JSON, re-rendered after every click.
  3. Free-play: one button per action, always available, any order.
  4. Guided scenarios as tabs. Each has a short plain-language description (the situation and what to watch for) and its steps as real buttons that run in order. Starting a scenario resets to a known initial state.
- Scenarios cover what is hard to reason about on paper: the happy path, an awkward edge case, an attempt at something that should be illegal.
- Domain language everywhere. Buttons and labels read like the business, not like the code.
- Clean and restrained: readable typography, generous spacing, one accent colour, no animation.

## UI prototype

For "what should this look like". Several **structurally different** variants behind one switcher.

- Default to three variants, never more than five. They must disagree about layout, information hierarchy and primary affordance, not just colour or copy. If two come out alike, redo one with an explicit constraint such as "no card grid".
- Share small pieces between variants (a header), never the layout. Each variant is free to throw the layout away.
- Use the project's styling system (in jedlik-nejedlik that is Puleo CSS and the tokens shown on `/style`). Standalone HTML inlines the tokens it needs.
- Name variants `A`, `B`, `C` plus a short label, e.g. `B (sidebar layout)`.
- Integrated: variants on the existing route, selected by `?variant=`. Keep the page's data fetching, swap only the rendered subtree. A new throwaway route is the last resort, only when nothing existing can host the variants. An empty route hides problems a populated one exposes.
- Switcher: one shared component, a fixed bar at the bottom centre, visually distinct from the page so it is obviously not part of the design. Previous and next buttons that wrap, the current variant key and label, arrow keys as shortcuts (not while an input, textarea or contenteditable is focused). It updates the URL so a variant is shareable and reload-stable.
- Hand over the URL and the variant keys. The useful feedback is usually "the header from B with the sidebar from C". Add variants or scenarios on request; prototypes evolve.

## When it has answered

Record the verdict and why: in the task folder's spec or notes (per the `aiwork-protocol` skill), or a `Verdict` section at the top of the prototype file. The prototype itself stays where it is, in the `.aiwork/` folder or on its branch, as the primary source. It is never promoted to production code; the real implementation is written separately, using what the prototype taught.

Attribution

lttrlttr
View sourceMore from lttr →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

Browser Extension Developer

Use this skill when developing or maintaining browser extension code in the `browser/` directory, including Chrome/Firefox/Edge compatibility, content scripts, background scripts, or i18n updates.

281612 votes

Seo Optimizer

SEO optimization with keyword analysis, readability assessment, technical validation, content quality. Use for search rankings, blog posts, content audits, or encountering keyword density, readability scores, meta tags, schema markup errors.

2132 votes

Google Official Seo Guide

Official Google SEO guide covering search optimization, best practices, Search Console, crawling, indexing, and improving website search visibility based on official Google documentation

1862 votes

Tanstack Start

Build a full-stack TanStack Start app on Cloudflare Workers from scratch — SSR, file-based routing, server functions, D1+Drizzle, better-auth, Tailwind v4+shadcn/ui. Use whenever the user mentions TanStack Start, asks to scaffold a full-stack Cloudflare app with SSR, wants an SSR dashboard, or asks for a React 19 + Cloudflare Workers app with file-based routing and server functions — even if they don't name TanStack Start specifically. No template repo — Claude generates every file fresh per ...

9881 votes

Pentest

PTES-aligned adversarial security audit for backend, frontend, and mobile applications. Produces a CVSS-scored Hacker Report with verified PoCs and phased remediation.

5491 votes
View all in development →