Skip to content
Back to skills

Web Replicate

BSecurity

Tools for building modern React webapps with TypeScript, Tailwind CSS and shadcn/ui. Best suited for applications with complex UI components and state management. Used by the video2code replication workflow to scaffold the project.

  • 6 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
ai-agentstypescriptgoshellbashreactnode

Security analysis

B77/100
  • highPerforms destructive filesystem operations
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 20 files and shows the line behind each finding

Scanned November 7, 2026

npx -y skills add MuLiuSaMa/MeowCode --skill web-replicate --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Web Replicate?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Web Replicate
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/muliusama-web-replicate/badge)](https://www.skillsdirectory.com/skills/muliusama-web-replicate)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: web-replicate
description: Tools for building modern React webapps with TypeScript, Tailwind CSS and shadcn/ui. Best suited for applications with complex UI components and state management. Used by the video2code replication workflow to scaffold the project.
---

# Web Replicate

**Stack**: React + TypeScript + Vite + Tailwind CSS v4 + shadcn/ui

## Locating the scripts

The init/repair scripts live in this skill's own directory: `<plugin_root>/skills/web-replicate/scripts/`. The plugin root path is announced at session start and also written to `.v2c/plugin_root` in the project directory — `cat .v2c/plugin_root` if you need it. **Always call the scripts by absolute path**; your shell cwd is the project directory, not the skill directory, so relative paths like `bash scripts/init-webapp.sh` fail with "No such file or directory".

## Workflow

### 1. Initialize

```bash
bash <plugin_root>/skills/web-replicate/scripts/init-webapp.sh <website-title>
cd app
```

This creates the project at `<project-dir>/app` (override with env `PROJECT_PATH=...`), fully configured: React + TypeScript (Vite, Node 20+ compatible), Tailwind CSS **v4** with the shadcn/ui theming system (theme lives in `src/index.css` — CSS variables in `:root`/`.dark` + `@theme inline` mapping; **there is no `tailwind.config.js`**), `@/` path aliases, 50+ shadcn/ui components with all Radix dependencies pre-installed.

- Common libraries **already installed — do NOT `npm install` these again** (import directly; reinstalling wastes minutes and risks corrupting node_modules): `framer-motion`, `lucide-react`, `react-router`, `recharts`, `date-fns`, `zod`, `react-hook-form`, `embla-carousel-react`, `sonner`, `next-themes`, `clsx`, `tailwind-merge`.
- Common display/body fonts **pre-installed**: `@fontsource/playfair-display`, `@fontsource/inter`, `@fontsource/space-grotesk`, `@fontsource/dm-sans`, `@fontsource/manrope`, `@fontsource/bebas-neue`. Self-host by importing in `main.tsx` (`import '@fontsource/playfair-display/700.css'`) — never link Google Fonts (zero external requests); install a new @fontsource package only when the source uses a font class none of these covers.

> ⚠️ **Do NOT change the Vite/Tailwind toolchain versions.** The project ships with
> `vite@7.x`, `@vitejs/plugin-react` and `tailwindcss@4` (wired via `@tailwindcss/vite`).
> Installing `vite@4/5`, `tailwindcss@3`, or a different `@vitejs/plugin-react` breaks
> the peer dependency chain → `ERESOLVE` / build failure. Use what is already installed.

> ⚠️ **node_modules is a symlink to fast local disk — NEVER run `npm install` inside the
> project directory.** npm (v7+) replaces the symlinked `node_modules` with a real
> directory and re-installs tens of thousands of small files onto slow network storage —
> it exhausts the disk's file-count quota and takes 10+ minutes. Rules:
> - Adding a package: **edit `package.json` to add the dependency, then run**
>   `bash <plugin_root>/skills/web-replicate/scripts/relink-node-modules.sh <project-dir>/app`
>   — it installs the updated dependency set on local disk and re-links in seconds.
> - If node_modules is broken/missing (build can't resolve installed packages,
>   ENOTEMPTY errors, dangling symlink): run the same relink script.
> - NEVER run `npm install` (with or without a package name) or
>   `rm -rf node_modules && npm install` inside the project directory.

### 2. Develop

> ⚠️ **Read the scaffold before overwriting it.** `src/App.tsx`, `src/pages/Home.tsx`,
> `src/index.css` and `src/App.css` already exist after init and you will replace them
> wholesale — `Read` all four **in one parallel batch right after init**, or `Write`
> will fail with "File has not been read yet". Do NOT dodge that failure with a
> `cat > file` heredoc: the file stays un-Read and the next `Write`/`Edit` fails the
> same way (and the heredoc bypasses the safety the contract provides).

Edit generated files in `app/src/`: page/section components go in `src/pages/`, custom React hooks in `src/hooks/`, shared utilities in `src/lib/`, and the pre-installed shadcn/ui components live in `src/components/ui/`.

### 3. Build

```bash
cd app && npm run build 2>&1
```

**Output** (`app/dist/`):
- `index.html` — entry point
- `assets/index-[hash].js` / `assets/index-[hash].css` — bundles
- files from `public/` copied verbatim (e.g. `public/assets/...` → `/assets/...`)

If the build fails, read the first error: unresolved package imports usually mean the
dependency was added to `package.json` without running the relink script (see above).

## Reference

- [shadcn/ui Components](https://ui.shadcn.com/docs/components)

Files in this skill

  • SKILL.md4.6 KB
  • scripts/init-webapp.sh7.7 KB
  • scripts/relink-node-modules.sh4.2 KB
  • templates/default-3d/info.md4 KB
  • templates/default-3d/template/.gitignore253 B
  • templates/default-3d/template/README.md2.5 KB
  • templates/default-3d/template/components.json444 B
  • templates/default-3d/template/eslint.config.js616 B
  • templates/default-3d/template/index.html290 B
  • templates/default-3d/template/package.json2.8 KB
  • templates/default-3d/template/src/App.css64 B
  • templates/default-3d/template/src/App.tsx198 B
  • templates/default-3d/template/src/components/ui/accordion.tsx2 KB
  • templates/default-3d/template/src/components/ui/alert-dialog.tsx3.8 KB
  • templates/default-3d/template/src/components/ui/alert.tsx1.6 KB
  • templates/default-3d/template/src/components/ui/aspect-ratio.tsx280 B
  • templates/default-3d/template/src/components/ui/avatar.tsx1.1 KB
  • templates/default-3d/template/src/components/ui/badge.tsx1.6 KB
  • templates/default-3d/template/src/components/ui/breadcrumb.tsx2.3 KB
  • templates/default-3d/template/src/components/ui/button-group.tsx2.2 KB

Attribution

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

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.