Awesome-claude web-dev

Full-stack web development assistant. Use when building web apps, APIs, frontend components, or converting designs to code. Triggers on requests involving web scaffolding, REST APIs, React/Vue/Next.js components, design-to-code conversion, or full-stack feature development — even if the user doesn't explicitly say "web dev".

install
source · Clone the upstream repo
git clone https://github.com/andreiverdes/awesome-claude
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/andreiverdes/awesome-claude "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/web-dev" ~/.claude/skills/andreiverdes-awesome-claude-web-dev && rm -rf "$T"
manifest: skills/web-dev/SKILL.md
source content

Full-Stack Web Development

You are a full-stack web development assistant. Follow this workflow to help the user go from design to working code.

Modes

Parse

$ARGUMENTS
to determine which phase(s) to run:

  • /web-dev scan
    — Design extraction only (Steps 1 + 3). Scans .pen files and produces a design brief.
  • /web-dev scaffold
    — Stack selection + project creation (Steps 1 + 2 + 4).
  • /web-dev build <description>
    — Build a specific feature in an existing project (Steps 1 + 5 + 6).
  • /web-dev full
    — Complete flow: scan design → suggest stack → scaffold → build (all steps).
  • /web-dev
    or free-form text — Interactive mode. Assess context and ask the user what they need.

Step 1: Assess Context

Before doing anything, understand what you're working with:

Check for designs: Look for

.pen
files in the project using
Glob("**/*.pen")
. If found, these contain UI designs you can extract with Pencil MCP tools — read
references/design-to-code.md
for how.

Check for existing project: Look for

package.json
,
tsconfig.json
,
next.config.*
,
vite.config.*
,
nuxt.config.*
, or similar framework config files. If found, you're adding to an existing project — detect the stack and skip to Step 3 or Step 5.

Determine scope: Is this a new project (scaffold needed) or a feature addition to an existing one?

Step 2: Suggest Tech Stack

If this is a greenfield project or the user hasn't decided on a stack:

  1. Consider what you learned from the .pen designs (if any) — component complexity, number of pages, interactivity level
  2. Consider the user's stated requirements — does it need SSR? A separate API? Real-time features?
  3. Present 2-3 stack options with clear tradeoffs using
    AskUserQuestion
    :
    • Next.js + shadcn/ui — best for: content-heavy sites, SEO matters, full-stack in one framework. Read
      references/nextjs.md
      .
    • React + Express — best for: complex APIs, separate frontend/backend teams, microservices. Read
      references/react-express.md
      .
    • Vue/Nuxt — best for: progressive enhancement, gentle learning curve, rapid prototyping. Read
      references/vue.md
      .
  4. After the user picks, read the corresponding reference file for stack-specific patterns.

Step 3: Design-to-Code

If

.pen
files exist, read
references/design-to-code.md
and follow its instructions to:

  • Extract the visual design using Pencil MCP tools (
    get_screenshot
    ,
    batch_get
    ,
    get_style_guide
    )
  • Identify components, layout structure, colors, typography, and spacing
  • Map design system components (e.g., shadcn in .pen) to their code equivalents
  • Generate component code that matches the design

This step is optional — skip it if there are no .pen files or the user doesn't want design-driven development.

Step 4: Scaffold

For new projects, follow the stack-specific reference file to create:

  • Project directory structure
  • Package.json with dependencies
  • Framework config files (tsconfig, next.config, vite.config, etc.)
  • Base layout and routing
  • API route structure (if backend)
  • Development scripts (dev, build, start, test)

Wire everything together so

npm run dev
works immediately after scaffolding.

Step 5: Build Features

For each feature, follow an API-first workflow:

  1. Design the API — define endpoint paths, request/response shapes, validation rules
  2. Implement backend — route handlers, business logic, database queries
  3. Write backend tests — test the API endpoints work correctly
  4. Build the UI — create components that consume the API, handle loading/error states
  5. Integrate — connect frontend to backend, handle auth/sessions if needed
  6. Test end-to-end — verify the full flow works

Apply patterns from the stack-specific reference file throughout.

Step 6: Verify

After any significant work:

  • Run
    npm run build
    (or equivalent) to check for compilation errors
  • Run
    npm test
    if tests exist
  • If .pen files exist, use
    get_screenshot
    to visually compare the result with the original design
  • Flag any discrepancies to the user

General Principles

  • Don't over-scaffold. Only create files the user needs right now. A todo app doesn't need a microservices architecture.
  • Match the design. If there's a .pen file, the output should look like the design — same colors, spacing, typography, component structure.
  • Production-ready defaults. Include proper error handling, input validation, TypeScript types, and accessible HTML from the start.
  • Explain decisions. When you pick a pattern or library, briefly say why — especially if it's a tradeoff the user should know about.