skills/glmv-prd-to-app/SKILL.md
Build a complete, production-ready full-stack web application from PRD documents, prototype images, and resource files. Handles the entire pipeline: system design, database schema, seed data, backend API, frontend UI, visual verification against prototypes, and deployment script generation. Use this skill whenever the user: - Provides a PRD (product requirement document) and wants a working app built - Says things like "根据PRD开发", "build from PRD", "implement this product", "把需求文档做成应用", "develop this app from requirements" - Has prototype images + requirements and wants full-stack implementation - Wants to turn product specifications into a running web application - Mentions building an app from wireframes/mockups combined with a requirements doc Trigger this skill even if the user just says "帮我开发" or "build this" with PRD materials present in the working directory.
npx skillsauth add zai-org/GLM-V glmv-prd-to-appInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Language: Respond in the same language the user uses. Code comments should match.
Build a complete, deployed web application from PRD + prototypes + resources.
The result must be fully reproducible via a single bash /workspace/start.sh.
Before anything else, understand what you're working with.
/workspace/prd.md ← Product requirement document
/workspace/prototypes/*.jpg ← UI prototype images (the visual truth)
/workspace/resources/**/* ← Images, videos, icons, and other assets
If the materials are in a different location, adapt accordingly. Read the PRD fully.
For every prototype image:
Read each image using the Read tool — you are multimodal, examine them directly.
For each image, document:
Build a page map showing navigation flow between prototype pages.
List all files in /workspace/resources/ and map each to where it appears in the prototypes.
Every resource file must be used in the final application where relevant.
Produce a comprehensive design document at /workspace/docs/design.md.
For each entity, specify:
Example:
products table:
id SERIAL PRIMARY KEY
name VARCHAR(200) NOT NULL ← from product card title
price DECIMAL(10,2) NOT NULL ← from product card price label
image_url TEXT NOT NULL ← from product card image
category_id INTEGER REFERENCES categories(id) ← from category filter
...
For every page interaction, define an API endpoint:
Choose based on PRD complexity. Recommended defaults:
| Layer | Choice | When to use | |-------|--------|-------------| | Frontend | React + TypeScript + Vite | Default for SPAs | | Frontend | Next.js | If SSR/SEO needed | | Styling | Tailwind CSS | Default | | Backend | Node.js + Express | Simple APIs | | Backend | Python + FastAPI | If PRD mentions Python | | Database | SQLite | Simple apps, <10 tables | | Database | PostgreSQL | Complex apps, relationships | | ORM | Prisma (Node) / SQLAlchemy (Python) | Match backend |
Document the choice and reasoning.
/workspace/
├── frontend/ ← or client/
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ ├── hooks/
│ │ ├── services/ ← API client
│ │ ├── types/
│ │ └── assets/ ← copied from /workspace/resources
│ └── ...
├── backend/ ← or server/
│ ├── src/
│ │ ├── routes/
│ │ ├── models/
│ │ ├── controllers/
│ │ ├── middleware/
│ │ └── seed/
│ └── ...
├── docs/
│ ├── design.md
│ └── README.md
├── start.sh
└── prd.md
Seed data is critical — it makes the app look real from the first launch.
Extract from prototypes: Every piece of visible text, image, number in the prototype images must appear in seed data. Read each prototype image again and transcribe content.
Complete coverage:
Use resource files: Map resource files (images, videos, icons) from
/workspace/resources/ to seed data entries. Use relative paths or copy to public/static dir.
No placeholders: No "Lorem ipsum", no "Test Item 1", no placeholder.com images.
Support all states: Include data that exercises empty states, loaded states, error scenarios as specified in the PRD.
Save seed data as:
Place in /workspace/backend/src/seed/ (or equivalent).
For each endpoint from the design doc:
This is where visual fidelity matters most. The prototypes are the definitive reference.
Before building components, establish:
For each prototype image, in order:
/workspace/resources/ to frontend assetsThis phase is what separates a good implementation from a great one. Repeat this loop for every page.
Use Playwright to capture the running application:
python ${SKILL_DIR}/scripts/render_page.py \
--url "http://localhost:3000/page-path" \
--output "/workspace/docs/screenshots/page_name.png" \
--width 1280
Read both images (prototype and screenshot) side by side:
/workspace/prototypes/For each difference found:
Max 3 iterations per page. Focus on the most impactful differences first.
Run the API health checker to verify all endpoints:
python ${SKILL_DIR}/scripts/check_api.py \
--base-url "http://localhost:3000/api" \
--endpoints-file "/workspace/docs/endpoints.json"
Or manually test each endpoint with curl:
curl -s http://localhost:3000/api/products | head -c 200
Walk through every user flow defined in the PRD:
http://localhost:3000Address integration issues: CORS, API URL mismatches, data format mismatches, etc.
Generate /workspace/start.sh — the single command that makes everything work from scratch.
The script must:
http://localhost:3000#!/bin/bash
set -e
echo "=== PRD-to-App: Starting deployment ==="
# 1. System dependencies
echo "[1/7] Checking system dependencies..."
# Install Node.js, npm, etc. if missing
# Install database if needed
# 2. Backend setup
echo "[2/7] Setting up backend..."
cd /workspace/backend
npm install # or pip install -r requirements.txt
# 3. Database initialization
echo "[3/7] Initializing database..."
# Drop existing DB / reset
# Run migrations
# Load seed data
# 4. Frontend setup
echo "[4/7] Setting up frontend..."
cd /workspace/frontend
npm install
# 5. Copy resources
echo "[5/7] Copying resource files..."
# cp -r /workspace/resources/* /workspace/frontend/public/assets/
# 6. Start backend
echo "[6/7] Starting backend server..."
cd /workspace/backend
npm run dev & # or equivalent
BACKEND_PID=$!
# 7. Start frontend
echo "[7/7] Starting frontend..."
cd /workspace/frontend
PORT=3000 npm run dev &
FRONTEND_PID=$!
echo ""
echo "=== Application is running at http://localhost:3000 ==="
echo "Backend PID: $BACKEND_PID"
echo "Frontend PID: $FRONTEND_PID"
echo "To stop: kill $BACKEND_PID $FRONTEND_PID"
wait
After generating start.sh:
chmod +x /workspace/start.shbash /workspace/start.shhttp://localhost:3000 responds/workspace/docs/design.md)Already created in Phase 1 — update with any changes made during implementation:
/workspace/README.md)# [Project Name]
## Overview
[From PRD product overview]
## Technology Stack
- Frontend: ...
- Backend: ...
- Database: ...
## Quick Start
\`\`\`bash
bash start.sh
\`\`\`
Then visit http://localhost:3000
## Project Structure
[Directory tree]
## Database
[Schema overview, how to re-seed]
## API Reference
[Key endpoints]
Before declaring done, verify every item:
bash /workspace/start.sh works from a clean statehttp://localhost:3000Prototypes are truth — when PRD text and prototype images conflict, the prototype wins for visual/layout decisions.
No shortcuts on data — every piece of content visible in prototypes must come from the database via APIs. No hardcoded data in frontend components.
Complete implementation — every page, every feature, every interaction. Don't skip "minor" features. Don't merge separate pages into one.
Resources must be used — if the prototype shows an image and a matching file exists in
/workspace/resources/, use that file. Don't substitute with placeholder URLs.
Reproducibility — start.sh must work from absolute zero. If it needs Node 18+,
it installs Node 18+. If it needs PostgreSQL, it sets up PostgreSQL.
Verify, don't assume — use the visual verification loop (Phase 5) to actually compare your output against prototypes. Use API checks to verify endpoints. Run start.sh to verify deployment.
tools
Frontend visual replication skill. Explores a target website’s publicly visible pages via Playwright MCP or agent-browser, captures screenshots and layout information, then generates a static or client-side frontend replica that approximates the original’s visual appearance and page structure. This skill replicates FRONTEND PRESENTATION ONLY — it does not reproduce backend logic, server-side behavior, databases, or any non-public content. The user is responsible for ensuring they have proper authorization (ownership, license, or explicit permission) before replicating any website. ⚠️ Authorization gate: Before starting, the agent MUST confirm with the user that they have the legal right to replicate the target site. If the user cannot confirm, the skill MUST refuse to proceed.
tools
股票分析与涨跌预测分析。 在用户表达分析、判断或预测意图时触发,如“分析一下腾讯”、“0700最近走势如何”、“XX能不能买”、“预测一下后续走势”、“生成一份分析报告”等; 对于简单查询类需求(如“腾讯当前价格是多少”、“茅台代码是什么”)不触发本 Skill。 支持港股、A股、美股,整合多源数据(包括新闻、基本面、技术面、资金流及宏观信息)进行多维综合分析,输出图文结合、包含可视化图表的结构化分析报告。 ⚠️ 需要多模态主模型支持(如 glm-5v-turbo),主模型需能读取图片。
documentation
Screen and evaluate resumes against criteria using ZhiPu GLM-V multimodal model. Reads multiple resume files (PDF/DOCX/TXT), compares against user-defined screening criteria, and outputs a Markdown table with pass/fail analysis. Use when the user wants to filter resumes, compare candidates, or batch-evaluate job applications.
tools
Analyze images/videos and generate professional prompts for text-to-image and text-to-video AI tools (Midjourney, Stable Diffusion, DALL-E, Sora, Runway, Kling, Pika). Use when the user wants to generate prompts from reference images/videos, create AI art prompts, or get prompt engineering suggestions from visual content.